Mesa (master): mesa: added _mesa_str_checksum()

Brian Paul brianp at kemper.freedesktop.org
Tue Aug 4 21:38:53 UTC 2009


Module: Mesa
Branch: master
Commit: 9f8110adcc5a6f47b5db0915bb9265925d520856
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9f8110adcc5a6f47b5db0915bb9265925d520856

Author: Brian Paul <brianp at vmware.com>
Date:   Tue Aug  4 15:33:53 2009 -0600

mesa: added _mesa_str_checksum()

---

 src/mesa/main/imports.c |   14 ++++++++++++++
 src/mesa/main/imports.h |    3 +++
 2 files changed, 17 insertions(+), 0 deletions(-)

diff --git a/src/mesa/main/imports.c b/src/mesa/main/imports.c
index 8967bb3..6ffaddc 100644
--- a/src/mesa/main/imports.c
+++ b/src/mesa/main/imports.c
@@ -911,6 +911,20 @@ _mesa_strtod( const char *s, char **end )
    return strtod(s, end);
 }
 
+/** Compute simple checksum/hash for a string */
+unsigned int
+_mesa_str_checksum(const char *str)
+{
+   /* This could probably be much better */
+   unsigned int sum, i;
+   const char *c;
+   sum = i = 1;
+   for (c = str; *c; c++)
+      sum += *c * (i % 100);
+   return sum;
+}
+
+
 /*@}*/
 
 
diff --git a/src/mesa/main/imports.h b/src/mesa/main/imports.h
index 7b61e22..fb85f08 100644
--- a/src/mesa/main/imports.h
+++ b/src/mesa/main/imports.h
@@ -586,6 +586,9 @@ _mesa_atoi( const char *s );
 extern double
 _mesa_strtod( const char *s, char **end );
 
+extern unsigned int
+_mesa_str_checksum(const char *str);
+
 extern int
 _mesa_sprintf( char *str, const char *fmt, ... );
 




More information about the mesa-commit mailing list