-StringPool StrPool = STATIC_STRINGPOOL_INITIALIZER;
+StringPool* StrPool = 0;
unsigned I;
/* Get the number of strings in the string pool */
- unsigned Count = SP_GetCount (&StrPool);
+ unsigned Count = SP_GetCount (StrPool);
/* Tell the object file module that we're about to start the string pool */
ObjStartStrPool ();
/* Write the strings in id order */
for (I = 0; I < Count; ++I) {
- ObjWriteBuf (SP_Get (&StrPool, I));
+ ObjWriteBuf (SP_Get (StrPool, I));
}
/* Done writing the string pool */
+void InitStrPool (void)
+/* Initialize the string pool */
+{
+ StrPool = NewStringPool (1103);
+}
+
+
+
-extern StringPool StrPool;
+extern StringPool* StrPool;
INLINE unsigned GetStrBufId (const StrBuf* S)
/* Return the id of the given string buffer */
{
- return SP_Add (&StrPool, S);
+ return SP_Add (StrPool, S);
}
#else
-# define GetStrBufId(S) SP_Add (&StrPool, (S))
+# define GetStrBufId(S) SP_Add (StrPool, (S))
#endif
#if defined(HAVE_INLINE)
INLINE unsigned GetStringId (const char* S)
/* Return the id of the given string */
{
- return SP_AddStr (&StrPool, S);
+ return SP_AddStr (StrPool, S);
}
#else
-# define GetStringId(S) SP_AddStr (&StrPool, (S))
+# define GetStringId(S) SP_AddStr (StrPool, (S))
#endif
#if defined(HAVE_INLINE)
INLINE const StrBuf* GetStrBuf (unsigned Index)
/* Convert a string index into a string */
{
- return SP_Get (&StrPool, Index);
+ return SP_Get (StrPool, Index);
}
#else
-# define GetStrBuf(Index) SP_Get (&StrPool, (Index))
+# define GetStrBuf(Index) SP_Get (StrPool, (Index))
#endif
#if defined(HAVE_INLINE)
INLINE const char* GetString (unsigned Index)
/* Convert a string index into a string */
{
- return SB_GetConstBuf (SP_Get (&StrPool, Index));
+ return SB_GetConstBuf (SP_Get (StrPool, Index));
}
#else
-# define GetString(Index) SB_GetConstBuf (SP_Get (&StrPool, (Index)))
+# define GetString(Index) SB_GetConstBuf (SP_Get (StrPool, (Index)))
#endif
void WriteStrPool (void);
/* Write the string pool to the object file */
+void InitStrPool (void);
+/* Initialize the string pool */
+
/* End of spool.h */