From 92dd34edb429e169a1e7d75a9fffdca18bf06047 Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Fri, 28 May 2004 10:44:55 +0000 Subject: [PATCH] Created strListPush and strListPop convenience macros. Removed pad argument from strListReadFile(). --- src/xpdev/ini_file.c | 2 +- src/xpdev/str_list.c | 8 ++------ src/xpdev/str_list.h | 6 +++++- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/xpdev/ini_file.c b/src/xpdev/ini_file.c index b84aa44661..57ffa4a96f 100644 --- a/src/xpdev/ini_file.c +++ b/src/xpdev/ini_file.c @@ -583,7 +583,7 @@ str_list_t iniReadFile(FILE* fp) rewind(fp); - list = strListReadFile(fp, NULL, INI_MAX_LINE_LEN, FALSE /* pad */); + list = strListReadFile(fp, NULL, INI_MAX_LINE_LEN); if(list!=NULL) { /* truncate the white-space off end of strings */ for(i=0; list[i]!=NULL; i++) diff --git a/src/xpdev/str_list.c b/src/xpdev/str_list.c index 74ccab6d1e..ebb0643546 100644 --- a/src/xpdev/str_list.c +++ b/src/xpdev/str_list.c @@ -321,7 +321,7 @@ void strListFree(str_list_t* list) } } -str_list_t strListReadFile(FILE* fp, str_list_t* lp, size_t max_line_len, BOOL pad) +str_list_t strListReadFile(FILE* fp, str_list_t* lp, size_t max_line_len) { char* buf=NULL; size_t count; @@ -343,11 +343,7 @@ str_list_t strListReadFile(FILE* fp, str_list_t* lp, size_t max_line_len, BOOL p if(fgets(buf,max_line_len+1,fp)==NULL) break; - if(pad) { - str_list_append(lp, buf, count++); - buf=NULL; - } else - strListAppend(lp, buf, count++); + strListAppend(lp, buf, count++); } if(buf!=NULL) diff --git a/src/xpdev/str_list.h b/src/xpdev/str_list.h index 2fcb7d7f6d..cec80725ef 100644 --- a/src/xpdev/str_list.h +++ b/src/xpdev/str_list.h @@ -80,6 +80,10 @@ BOOL strListDelete(str_list_t* list, size_t index); /* Replace a string at a specific index */ char* strListReplace(const str_list_t list, size_t index, const char* str); +/* Convenience macros for pushing, popping strings (LIFO stack) */ +#define strListPush(list, str) strListAppend(list, str, STR_LIST_LAST_INDEX) +#define strListPop(list) strListRemove(list, STR_LIST_LAST_INDEX) + /* Add to an exiting or new string list by splitting specified string (str) */ /* into multiple strings, separated by one of the delimit characters */ str_list_t strListSplit(str_list_t* list, char* str, const char* delimit); @@ -107,7 +111,7 @@ void strListSortAlphaCaseReverse(str_list_t list); /* Read lines from file appending each line to string list */ /* Pass NULL list to have list allocated for you */ -str_list_t strListReadFile(FILE* fp, str_list_t* list, size_t max_line_len, BOOL pad); +str_list_t strListReadFile(FILE* fp, str_list_t* list, size_t max_line_len); /* Write to file (fp) each string in the list, optionally separated by separator (e.g. "\n") */ size_t strListWriteFile(FILE* fp, const str_list_t list, const char* separator); -- GitLab