I'm wondering how useful the hashing system can be ibn GLIB

I tried this code, and it seems that instead of copying strings, it just copies the 
pointer value
resulting in making it impossible to look through input and assigning it to key 
values, unless I'm
doing something worng.   This is just about useless

#include <stdio.h>
#include <string.h>
#include <glib.h>

GHashTable * hTable;

guint HashFunction(gpointer key){
        char *sKey;
        guint giHashValue = 0;
        int nIndex;
        
        sKey = key;
        if(key == NULL) return(0);

        for (nIndex = 0; nIndex < strlen(sKey); nIndex++){
                giHashValue = (giHashValue << 4) + (giHashValue ^(guint) sKey[nIndex]);
        }
        return (giHashValue);
}

gint HashCompare( gpointer sName1, gpointer sName2){
        return (!strcmp((char *)sName1, (char *) sName2));
}

void print_hash(gpointer key, gpointer value, gpointer otherdata){
        g_print ("Key: %s ==> Value: %s\n", (gchar *) key, (gchar *) value);
}

int main(int argc, char *argv[]){
        gchar buff_key[255];
        gchar buff_val[255];
        hTable = g_hash_table_new(HashFunction, HashCompare);
        while(1){
                if(scanf("%255s", buff_key) < 1 ) break;
                if(scanf("%255s", buff_val)< 1) break;
                g_print("%s %s\n", buff_key, buff_val);
        
                g_hash_table_insert(hTable, buff_key, buff_val);
        }


        g_hash_table_foreach(hTable, (GHFunc) print_hash, NULL);

exit(1);
}


ruben@www2:~/gtk > ./hash
One
Two
One Two
Three
Four
Three Four
Five
Six
Five Six
<CTR d>
Key: Five ==> Value: Six
Key: Five ==> Value: Six
Key: Five ==> Value: Six


If it doesn't work like strcpy, it doesn't do much.

-- 
__________________________

Brooklyn Linux Solutions
__________________________
http://www.mrbrklyn.com - Consulting
http://www.brooklynonline.com - For the love of Brooklyn
http://www.nylxs.com - Leadership Development in Free Software
http://www.nyfairuse.org - The foundation of Democracy
http://www2.mrbrklyn.com/resources - Unpublished Archive or stories and articles from 
around the net
http://www2.mrbrklyn.com/mp3/dr.mp3 - Imagine my surprise when I saw you...
http://www2.mrbrklyn.com/downtown.html - See the New Downtown Brooklyn....

1-718-382-5752



_______________________________________________
gtk-list mailing list
[EMAIL PROTECTED]
http://mail.gnome.org/mailman/listinfo/gtk-list

Reply via email to