mojoshader_common.c
changeset 870 f9e20269c20b
parent 860 0346f9445597
child 939 64cc93ee5a56
equal deleted inserted replaced
869:5bd359b047f3 870:f9e20269c20b
   176 } // hash_string
   176 } // hash_string
   177 
   177 
   178 uint32 hash_hash_string(const void *sym, void *data)
   178 uint32 hash_hash_string(const void *sym, void *data)
   179 {
   179 {
   180     (void) data;
   180     (void) data;
   181     return hash_string(sym, strlen((const char *) sym));
   181     return hash_string((const char*) sym, strlen((const char *) sym));
   182 } // hash_hash_string
   182 } // hash_hash_string
   183 
   183 
   184 int hash_keymatch_string(const void *a, const void *b, void *data)
   184 int hash_keymatch_string(const void *a, const void *b, void *data)
   185 {
   185 {
   186     (void) data;
   186     (void) data;
   220     if (smap->nuke == stringmap_nuke_noop)  // no copy?
   220     if (smap->nuke == stringmap_nuke_noop)  // no copy?
   221         return hash_insert(smap, key, value);
   221         return hash_insert(smap, key, value);
   222 
   222 
   223     int rc = -1;
   223     int rc = -1;
   224     char *k = (char *) smap->m(strlen(key) + 1, smap->d);
   224     char *k = (char *) smap->m(strlen(key) + 1, smap->d);
   225     char *v = (char *) v ? smap->m(strlen(value) + 1, smap->d) : NULL;
   225     char *v = (char *) (value ? smap->m(strlen(value) + 1, smap->d) : NULL);
   226     if ( (!k) || ((!v) && (value)) || ((rc = hash_insert(smap, k, v)) <= 0) )
   226     if ( (!k) || ((!v) && (value)) || ((rc = hash_insert(smap, k, v)) <= 0) )
   227     {
   227     {
   228         smap->f(k, smap->d);
   228         smap->f(k, smap->d);
   229         smap->f(v, smap->d);
   229         smap->f(v, smap->d);
   230     } // if
   230     } // if