mirror of
https://github.com/fumiama/simple-dict.git
synced 2026-06-18 01:32:59 +08:00
skip null bytes
This commit is contained in:
5
server.c
5
server.c
@@ -170,11 +170,12 @@ static int send_all(THREADTIMER *timer) {
|
|||||||
return re;
|
return re;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define has_next(fp, ch) ((ch=getc(fp)),(feof(fp)?0:(ungetc(ch,fp),1)))
|
#define has_next(fp, ch) ((ch=getc(fp)),(feof(fp)?0:(ch?ungetc(ch,fp):1)))
|
||||||
|
|
||||||
static void init_dict_pool(FILE *fp) {
|
static void init_dict_pool(FILE *fp) {
|
||||||
int ch;
|
int ch;
|
||||||
while(has_next(fp, ch)) {
|
while(has_next(fp, ch)) {
|
||||||
|
if(!ch) continue; // skip null bytes
|
||||||
SIMPLE_PB* spb = get_pb(fp);
|
SIMPLE_PB* spb = get_pb(fp);
|
||||||
DICT* d = (DICT*)spb->target;
|
DICT* d = (DICT*)spb->target;
|
||||||
DICT* dnew = (DICT*)malloc(sizeof(DICT));
|
DICT* dnew = (DICT*)malloc(sizeof(DICT));
|
||||||
@@ -219,6 +220,7 @@ static int s1_get(THREADTIMER *timer) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
while(has_next(fp, ch)) {
|
while(has_next(fp, ch)) {
|
||||||
|
if(!ch) continue; // skip null bytes
|
||||||
SIMPLE_PB* spb = get_pb(fp);
|
SIMPLE_PB* spb = get_pb(fp);
|
||||||
DICT* d = (DICT*)spb->target;
|
DICT* d = (DICT*)spb->target;
|
||||||
if(!strcmp(timer->dat, d->key)) {
|
if(!strcmp(timer->dat, d->key)) {
|
||||||
@@ -291,6 +293,7 @@ static int s3_set_data(THREADTIMER *timer) {
|
|||||||
static void del(FILE *fp, char* key, int len, char ret[4]) {
|
static void del(FILE *fp, char* key, int len, char ret[4]) {
|
||||||
int ch;
|
int ch;
|
||||||
while(has_next(fp, ch)) {
|
while(has_next(fp, ch)) {
|
||||||
|
if(!ch) continue; // skip null bytes
|
||||||
SIMPLE_PB* spb = get_pb(fp);
|
SIMPLE_PB* spb = get_pb(fp);
|
||||||
DICT* d = (DICT*)spb->target;
|
DICT* d = (DICT*)spb->target;
|
||||||
if(!memcmp(key, d->key, len)) {
|
if(!memcmp(key, d->key, len)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user