]> granicus.if.org Git - python/commitdiff
Slight tweak: in string_hash(), if the hash hasn't been computed yet,
authorGuido van Rossum <guido@python.org>
Fri, 14 Feb 1997 16:29:22 +0000 (16:29 +0000)
committerGuido van Rossum <guido@python.org>
Fri, 14 Feb 1997 16:29:22 +0000 (16:29 +0000)
and if there's a pointer to an interned version of the string, use its
hash and store its hash in this object, rather than recomputing it.

Objects/stringobject.c

index 283e219d34a7d3995c6400eba15cb850bc388e0f..724121f0b1159d0f14a95c53a19ef4b319895d75 100644 (file)
@@ -433,6 +433,11 @@ string_hash(a)
 #ifdef CACHE_HASH
        if (a->ob_shash != -1)
                return a->ob_shash;
+#ifdef INTERN_STRINGS
+       if (a->ob_sinterned != NULL)
+               return (a->ob_shash =
+                       ((stringobject *)(a->ob_sinterned))->ob_shash);
+#endif
 #endif
        len = a->ob_size;
        p = (unsigned char *) a->ob_sval;