Lines Matching defs:storage
45 * by thread-local storage
65 struct stringer *storage;
88 storage = (struct stringer *)pthread_getspecific(blcstr_key);
89 if(storage == NULL) {
90 storage = malloc(sizeof(*storage));
91 storage->size = (size_t)strsize;
92 storage->string = malloc(storage->size);
94 ret = pthread_setspecific(blcstr_key, storage);
97 free(storage->string);
98 free(storage);
103 } else if(storage->size < strsize) {
105 storage->size = (size_t)strsize;
106 free(storage->string);
107 storage->string = malloc(storage->size);
110 if(!CFStringGetCString(desc, storage->string, (CFIndex)storage->size, kCFStringEncodingUTF8)) {
118 return storage->string;
134 struct stringer *storage = (struct stringer *)addr;
136 free(storage->string);
137 free(storage);