mirror of
https://github.com/fluencelabs/redis
synced 2025-03-19 17:10:50 +00:00
str can be free'd outside readString
This commit is contained in:
parent
57ca68acc1
commit
e51fa063db
@ -58,13 +58,9 @@ int readString(FILE *fp, char** target) {
|
|||||||
len += 2;
|
len += 2;
|
||||||
*target = (char*)malloc(len);
|
*target = (char*)malloc(len);
|
||||||
if (!readBytes(fp,*target,len)) {
|
if (!readBytes(fp,*target,len)) {
|
||||||
free(*target);
|
|
||||||
*target = NULL;
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if (!consumeNewline(*target+len-2)) {
|
if (!consumeNewline(*target+len-2)) {
|
||||||
free(*target);
|
|
||||||
*target = NULL;
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
(*target)[len-2] = '\0';
|
(*target)[len-2] = '\0';
|
||||||
@ -82,14 +78,10 @@ long process(FILE *fp) {
|
|||||||
|
|
||||||
while(1) {
|
while(1) {
|
||||||
if (!multi) pos = ftell(fp);
|
if (!multi) pos = ftell(fp);
|
||||||
if (!readArgc(fp, &argc)) {
|
if (!readArgc(fp, &argc)) break;
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (i = 0; i < argc; i++) {
|
for (i = 0; i < argc; i++) {
|
||||||
if (!readString(fp,&str)) {
|
if (!readString(fp,&str)) break;
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (i == 0) {
|
if (i == 0) {
|
||||||
if (strcasecmp(str, "multi") == 0) {
|
if (strcasecmp(str, "multi") == 0) {
|
||||||
if (multi++) {
|
if (multi++) {
|
||||||
@ -106,7 +98,7 @@ long process(FILE *fp) {
|
|||||||
free(str);
|
free(str);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check if loop was finished */
|
/* Stop if the loop did not finish */
|
||||||
if (i < argc) {
|
if (i < argc) {
|
||||||
if (str) free(str);
|
if (str) free(str);
|
||||||
break;
|
break;
|
||||||
@ -116,11 +108,9 @@ long process(FILE *fp) {
|
|||||||
if (feof(fp) && multi && strlen(error) == 0) {
|
if (feof(fp) && multi && strlen(error) == 0) {
|
||||||
ERROR("Reached EOF before reading EXEC for MULTI");
|
ERROR("Reached EOF before reading EXEC for MULTI");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strlen(error) > 0) {
|
if (strlen(error) > 0) {
|
||||||
printf("%s\n", error);
|
printf("%s\n", error);
|
||||||
}
|
}
|
||||||
|
|
||||||
return pos;
|
return pos;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user