From a6084ea9ae78844ef35f86a8e410bfb53d92f00b Mon Sep 17 00:00:00 2001 From: Andrew McCallum Date: Fri, 12 Apr 1996 21:13:12 +0000 Subject: [PATCH] (Encoder fref_counter): New ivar for guaranteeing that forward references have unique names. Previous use of the MapTable count for this purpose didn't work because we occasionally removed elements from the table, and thus had aliased forward reference numbers. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1354 72102866-910b-0410-8b05-ffd578937521 --- Headers/gnustep/base/Coder.h | 7 ++++--- Source/objects/Coder.h | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/Headers/gnustep/base/Coder.h b/Headers/gnustep/base/Coder.h index d00d5d3d6..2bccd46cf 100644 --- a/Headers/gnustep/base/Coder.h +++ b/Headers/gnustep/base/Coder.h @@ -56,9 +56,10 @@ /* xxx in_progress_table should actually be an NSHashTable, but we are working around a bug right now. */ NSMapTable *in_progress_table; /* objects begun writing, but !finished */ - NSMapTable *object_2_xref; /* objects already written */ - NSMapTable *object_2_fref; /* table of forward references */ - NSMapTable *const_ptr_2_xref; /* const pointers already written */ + NSMapTable *object_2_xref; /* objects already written */ + NSMapTable *object_2_fref; /* table of forward references */ + NSMapTable *const_ptr_2_xref; /* const pointers already written */ + unsigned fref_counter; /* Keep track of unused fref numbers */ } - initForWritingToFile: (id ) filename; diff --git a/Source/objects/Coder.h b/Source/objects/Coder.h index d00d5d3d6..2bccd46cf 100644 --- a/Source/objects/Coder.h +++ b/Source/objects/Coder.h @@ -56,9 +56,10 @@ /* xxx in_progress_table should actually be an NSHashTable, but we are working around a bug right now. */ NSMapTable *in_progress_table; /* objects begun writing, but !finished */ - NSMapTable *object_2_xref; /* objects already written */ - NSMapTable *object_2_fref; /* table of forward references */ - NSMapTable *const_ptr_2_xref; /* const pointers already written */ + NSMapTable *object_2_xref; /* objects already written */ + NSMapTable *object_2_fref; /* table of forward references */ + NSMapTable *const_ptr_2_xref; /* const pointers already written */ + unsigned fref_counter; /* Keep track of unused fref numbers */ } - initForWritingToFile: (id ) filename;