… | |
… | |
151 | unsigned cnt; |
151 | unsigned cnt; |
152 | struct cdb_rec rec[254]; |
152 | struct cdb_rec rec[254]; |
153 | }; |
153 | }; |
154 | |
154 | |
155 | static int _cdb_make_write(struct cdb_make *cdbmp, |
155 | static int _cdb_make_write(struct cdb_make *cdbmp, |
156 | const unsigned char *ptr, unsigned len); |
156 | const void *ptr, unsigned len); |
157 | static int _cdb_make_fullwrite(int fd, const unsigned char *buf, unsigned len); |
157 | static int _cdb_make_fullwrite(int fd, const unsigned char *buf, unsigned len); |
158 | static int _cdb_make_flush(struct cdb_make *cdbmp); |
158 | static int _cdb_make_flush(struct cdb_make *cdbmp); |
159 | static int _cdb_make_add(struct cdb_make *cdbmp, unsigned hval, |
159 | static int _cdb_make_add(struct cdb_make *cdbmp, unsigned hval, |
160 | const void *key, unsigned klen, |
160 | const void *key, unsigned klen, |
161 | const void *val, unsigned vlen); |
161 | const void *val, unsigned vlen); |
|
|
162 | |
162 | /* cdb_find.c: cdb_find routine |
163 | /* cdb_find.c: cdb_find routine |
163 | * |
164 | * |
164 | * This file is a part of tinycdb package by Michael Tokarev, mjt@corpit.ru. |
165 | * This file is a part of tinycdb package by Michael Tokarev, mjt@corpit.ru. |
165 | * Public domain. |
166 | * Public domain. |
166 | */ |
167 | */ |
… | |
… | |
481 | } |
482 | } |
482 | return 0; |
483 | return 0; |
483 | } |
484 | } |
484 | |
485 | |
485 | int internal_function |
486 | int internal_function |
486 | _cdb_make_write(struct cdb_make *cdbmp, const unsigned char *ptr, unsigned len) |
487 | _cdb_make_write(struct cdb_make *cdbmp, const void *ptr_, unsigned len) |
487 | { |
488 | { |
|
|
489 | const unsigned char *ptr = (const unsigned char *)ptr_; |
488 | unsigned l = sizeof(cdbmp->cdb_buf) - (cdbmp->cdb_bpos - cdbmp->cdb_buf); |
490 | unsigned l = sizeof(cdbmp->cdb_buf) - (cdbmp->cdb_bpos - cdbmp->cdb_buf); |
489 | cdbmp->cdb_dpos += len; |
491 | cdbmp->cdb_dpos += len; |
490 | if (len > l) { |
492 | if (len > l) { |
491 | memcpy(cdbmp->cdb_bpos, ptr, l); |
493 | memcpy(cdbmp->cdb_bpos, ptr, l); |
492 | cdbmp->cdb_bpos += l; |
494 | cdbmp->cdb_bpos += l; |