/*
- * Copyright (C) 1989-94 GROUPE BULL
+ * Copyright (C) 1989-95 GROUPE BULL
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to
*/
/*****************************************************************************\
-* hashtable.c: *
+* hashtab.c: *
* *
* XPM library *
* *
* *
\*****************************************************************************/
-#include "xpm34p.h"
+#include "XpmI.h"
LFUNC(AtomMake, xpmHashAtom, (char *name, void *data));
LFUNC(HashTableGrows, int, (xpmHashTable * table));
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
static xpmHashAtom
-AtomMake(char *name, void *data) /* makes an atom */
-/* char *name; */ /* WARNING: is just pointed to */
-/* void *data; */
+AtomMake(char* name, void* data) /* makes an atom */
+#else
+static xpmHashAtom
+AtomMake(name, data) /* makes an atom */
+ char *name; /* WARNING: is just pointed to */
+ void *data;
+#endif
{
xpmHashAtom object = (xpmHashAtom) XpmMalloc(sizeof(struct _xpmHashAtom));
*
*/
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+xpmHashAtom* xpmHashSlot(xpmHashTable* table, char* s)
+#else
xpmHashAtom *
-xpmHashSlot(xpmHashTable *table, char *s)
+xpmHashSlot(table, s)
+ xpmHashTable *table;
+ char *s;
+#endif
{
xpmHashAtom *atomTable = table->atomTable;
unsigned int hash;
return p;
}
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static int HashTableGrows(xpmHashTable* table)
+#else
static int
-HashTableGrows(xpmHashTable *table)
+HashTableGrows(table)
+ xpmHashTable *table;
+#endif
{
xpmHashAtom *atomTable = table->atomTable;
int size = table->size;
* an xpmHashAtom is created if name doesn't exist, with the given data.
*/
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+int xpmHashIntern(xpmHashTable* table, char* tag, void* data)
+#else
int
-xpmHashIntern(xpmHashTable *table, char *tag, void *data)
+xpmHashIntern(table, tag, data)
+ xpmHashTable *table;
+ char *tag;
+ void *data;
+#endif
{
xpmHashAtom *slot;
* must be called before allocating any atom
*/
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+int xpmHashTableInit(xpmHashTable* table)
+#else
int
-xpmHashTableInit(xpmHashTable *table)
+xpmHashTableInit(table)
+ xpmHashTable *table;
+#endif
{
xpmHashAtom *p;
xpmHashAtom *atomTable;
* frees a hashtable and all the stored atoms
*/
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+void
+xpmHashTableFree(xpmHashTable* table)
+#else
void
-xpmHashTableFree(xpmHashTable *table)
+xpmHashTableFree(table)
+ xpmHashTable *table;
+#endif
{
xpmHashAtom *p;
xpmHashAtom *atomTable = table->atomTable;
+ if (!atomTable)
+ return;
for (p = atomTable + table->size; p > atomTable;)
if (*--p)
XpmFree(*p);