Enlightenment CVS committal

Author  : englebass
Project : e17
Module  : libs/eet

Dir     : e17/libs/eet/src/lib


Modified Files:
        Eet_private.h Makefile.am eet_data.c eet_lib.c 
Added Files:
        eet_utils.c 


Log Message:
Move hash gen func to own file.

===================================================================
RCS file: /cvs/e/e17/libs/eet/src/lib/Eet_private.h,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -3 -r1.13 -r1.14
--- Eet_private.h       5 Nov 2006 12:14:08 -0000       1.13
+++ Eet_private.h       28 Dec 2006 15:23:47 -0000      1.14
@@ -41,45 +41,10 @@
 FILE *_eet_memfile_write_open(void **data, size_t *size);
 void  _eet_memfile_write_close(FILE *f);
 void  _eet_memfile_shutdown(void);
+int   _eet_hash_gen(const char *key, int hash_size);
 
 #ifndef PATH_MAX
 #define PATH_MAX 4096
 #endif
-
-/* caluclate hash table entry valu with bitmask size of hash_size */
-static int
-eet_hash_gen(const char *key, int hash_size)
-{
-   int                 hash_num = 0;
-   int                 value, i;
-   unsigned char       *ptr;
- 
-   const int masks[9] =
-     {
-       0x00,
-       0x01,
-       0x03,
-       0x07,
-       0x0f,
-       0x1f,
-       0x3f,
-       0x7f,
-       0xff
-     };
- 
-   /* no string - index 0 */
-   if (!key) return 0;
- 
-   /* calc hash num */
-   for (i = 0, ptr = (unsigned char *)key, value = (int)(*ptr);
-       value;
-       ptr++, i++, value = (int)(*ptr))
-     hash_num ^= (value | (value << 8)) >> (i & 0x7);
-
-   /* mask it */
-   hash_num &= masks[hash_size];
-   /* return it */
-   return hash_num;
-}
 
 #endif
===================================================================
RCS file: /cvs/e/e17/libs/eet/src/lib/Makefile.am,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -3 -r1.13 -r1.14
--- Makefile.am 15 May 2006 02:50:18 -0000      1.13
+++ Makefile.am 28 Dec 2006 15:23:47 -0000      1.14
@@ -17,6 +17,7 @@
 eet_data.c \
 eet_image.c \
 eet_memfile.c \
+eet_utils.c \
 Eet_private.h
 
 libeet_la_LIBADD       = -lz -ljpeg @fnmatch_libs@ @winsock_libs@
===================================================================
RCS file: /cvs/e/e17/libs/eet/src/lib/eet_data.c,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -3 -r1.45 -r1.46
--- eet_data.c  17 Dec 2006 11:20:25 -0000      1.45
+++ eet_data.c  28 Dec 2006 15:23:47 -0000      1.46
@@ -610,7 +610,7 @@
        int hash;
        
        ede = &(edd->elements.set[i]);
-       hash = eet_hash_gen((char *) ede->name, 6);
+       hash = _eet_hash_gen((char *) ede->name, 6);
        if (!edd->elements.hash.buckets[hash].element)
          edd->elements.hash.buckets[hash].element = ede;
        else
@@ -651,7 +651,7 @@
    int hash;
    Eet_Data_Descriptor_Hash *bucket;
    
-   hash = eet_hash_gen(name, 6);
+   hash = _eet_hash_gen(name, 6);
    if (!edd->elements.hash.buckets[hash].element) return NULL;
    if (!strcmp(edd->elements.hash.buckets[hash].element->name, name))
      return edd->elements.hash.buckets[hash].element;
===================================================================
RCS file: /cvs/e/e17/libs/eet/src/lib/eet_lib.c,v
retrieving revision 1.72
retrieving revision 1.73
diff -u -3 -r1.72 -r1.73
--- eet_lib.c   16 Oct 2006 15:02:11 -0000      1.72
+++ eet_lib.c   28 Dec 2006 15:23:47 -0000      1.73
@@ -701,7 +701,7 @@
               efn->name = (char*)((uint8_t*)(p + HEADER_SIZE));
 
             /* get hash bucket it should go in */
-            hash = eet_hash_gen(efn->name, ef->header->directory->size);
+            hash = _eet_hash_gen(efn->name, ef->header->directory->size);
             efn->next = ef->header->directory->nodes[hash];
             ef->header->directory->nodes[hash] = efn;
 
@@ -1020,7 +1020,7 @@
      }
 
    /* figure hash bucket */
-   hash = eet_hash_gen(name, ef->header->directory->size);
+   hash = _eet_hash_gen(name, ef->header->directory->size);
 
    data_size = compress ? 12 + ((size * 101) / 100) : size;
 
@@ -1124,7 +1124,7 @@
      return 0;
 
    /* figure hash bucket */
-   hash = eet_hash_gen(name, ef->header->directory->size);
+   hash = _eet_hash_gen(name, ef->header->directory->size);
 
    /* Does this node already exist? */
    for (pefn = NULL, efn = ef->header->directory->nodes[hash];
@@ -1252,7 +1252,7 @@
    int hash;
 
    /* get hash bucket this should be in */
-   hash = eet_hash_gen(name, ef->header->directory->size);
+   hash = _eet_hash_gen(name, ef->header->directory->size);
 
    for (efn = ef->header->directory->nodes[hash]; efn; efn = efn->next)
      {



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to