68:88dbea299440 | 69:fb59270b1de3 |
---|---|
175 | 175 |
176 UcxKey ucx_key(void *data, size_t len) { | 176 UcxKey ucx_key(void *data, size_t len) { |
177 UcxKey key; | 177 UcxKey key; |
178 key.data = data; | 178 key.data = data; |
179 key.len = len; | 179 key.len = len; |
180 key.hash = ucx_hash(data, len); | 180 key.hash = ucx_hash((const char*) data, len); |
181 return key; | 181 return key; |
182 } | 182 } |
183 | 183 |
184 | 184 |
185 int ucx_hash(const char *data, size_t len) { | 185 int ucx_hash(const char *data, size_t len) { |
279 continue; | 279 continue; |
280 } | 280 } |
281 | 281 |
282 /* read into key buffer */ | 282 /* read into key buffer */ |
283 n = 16; | 283 n = 16; |
284 key = malloc(n); | 284 key = (char*) malloc(n); |
285 r = 0; | 285 r = 0; |
286 do { | 286 do { |
287 if (c == '=') break; | 287 if (c == '=') break; |
288 if (r > n - 2) { | 288 if (r > n - 2) { |
289 n *= 2; | 289 n *= 2; |
290 key = realloc(key, n); | 290 key = (char*) realloc(key, n); |
291 } | 291 } |
292 key[r] = c; | 292 key[r] = c; |
293 r++; | 293 r++; |
294 } while ((c = fgetc(f)) > 0); | 294 } while ((c = fgetc(f)) > 0); |
295 if (c <= 0) { | 295 if (c <= 0) { |
308 return 1; | 308 return 1; |
309 } | 309 } |
310 | 310 |
311 /* read into value buffer */ | 311 /* read into value buffer */ |
312 n = 64; | 312 n = 64; |
313 value = malloc(n); | 313 value = (char*) malloc(n); |
314 r = 0; | 314 r = 0; |
315 do { | 315 do { |
316 if (c == '\n') break; | 316 if (c == '\n') break; |
317 if (r > n - 2) { | 317 if (r > n - 2) { |
318 n *= 2; | 318 n *= 2; |
319 value = realloc(value, n); | 319 value = (char*) realloc(value, n); |
320 } | 320 } |
321 value[r] = c; | 321 value[r] = c; |
322 r++; | 322 r++; |
323 } while ((c = fgetc(f)) > 0); | 323 } while ((c = fgetc(f)) > 0); |
324 value[r] = 0; | 324 value[r] = 0; |
326 | 326 |
327 if (decoder) { | 327 if (decoder) { |
328 size_t decodedSize; | 328 size_t decodedSize; |
329 void *decoded = decoder(value, decdata, &decodedSize); | 329 void *decoded = decoder(value, decdata, &decodedSize); |
330 free(value); | 330 free(value); |
331 value = decoded; | 331 value = (char*) decoded; |
332 r = decodedSize; | 332 r = decodedSize; |
333 } else { | 333 } else { |
334 r += 2; | 334 r += 2; |
335 value = realloc(value, r); | 335 value = (char*) realloc(value, r); |
336 } | 336 } |
337 | 337 |
338 if (allocator.pool) { | 338 if (allocator.pool) { |
339 void *pooledValue = allocator.malloc(allocator.pool, r); | 339 void *pooledValue = allocator.malloc(allocator.pool, r); |
340 memcpy(pooledValue, value, r); | 340 memcpy(pooledValue, value, r); |
341 free(value); | 341 free(value); |
342 value = pooledValue; | 342 value = (char*) pooledValue; |
343 } | 343 } |
344 | 344 |
345 ucx_map_cstr_put(map, key, value); | 345 ucx_map_cstr_put(map, key, value); |
346 free(key); | 346 free(key); |
347 } | 347 } |
360 k = (char*) iter.cur->key.data; | 360 k = (char*) iter.cur->key.data; |
361 key = sstr(k); | 361 key = sstr(k); |
362 if (encoder) { | 362 if (encoder) { |
363 size_t encodedSize; | 363 size_t encodedSize; |
364 void *encoded = encoder(v, encdata, &encodedSize); | 364 void *encoded = encoder(v, encdata, &encodedSize); |
365 value = sstrn(encoded,encodedSize - 1); | 365 value = sstrn((char*) encoded,encodedSize - 1); |
366 } else { | 366 } else { |
367 value = sstr(v); | 367 value = sstr(v); |
368 } | 368 } |
369 | 369 |
370 written = 0; | 370 written = 0; |