From: John L. <mov...@us...> - 2004-05-28 17:21:50
|
Update of /cvsroot/oprofile/oprofile/libutil In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1804/libutil Modified Files: op_string.c op_string.h Log Message: hopefully fix dcookie aliasing bug, by Bin Ren Index: op_string.c =================================================================== RCS file: /cvsroot/oprofile/oprofile/libutil/op_string.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -d -r1.1 -r1.2 --- op_string.c 15 Mar 2003 16:31:23 -0000 1.1 +++ op_string.c 28 May 2004 17:21:40 -0000 1.2 @@ -19,6 +19,15 @@ char * op_xstrndup(char const * s, size_ } +size_t op_hash_string(char const * str) +{ + size_t hash = 0; + for (; *str; ++str) + hash ^= (hash << 16) ^ (hash >> 8) ^ *str; + return hash; +} + + int strisprefix(char const * str, char const * prefix) { return strstr(str, prefix) == str; Index: op_string.h =================================================================== RCS file: /cvsroot/oprofile/oprofile/libutil/op_string.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -p -d -r1.2 -r1.3 --- op_string.h 26 Sep 2003 13:23:32 -0000 1.2 +++ op_string.h 28 May 2004 17:21:40 -0000 1.3 @@ -28,6 +28,13 @@ extern "C" { char * op_xstrndup(char const * s, size_t len); /** + * @param s: string to hash + * + * Generate a hash code from a string + */ +size_t op_hash_string(char const * s); + +/** * @param str: string to test * @param prefix: prefix string * |