Skip to content
Snippets Groups Projects
Commit 142895fc authored by rswindell's avatar rswindell
Browse files

Created iniReadStringList function, returns a NULL-terminated list of char*

representing each string item in a delimited key (e.g. "item1, item2").
parent 1f2dba15
Branches
Tags
No related merge requests found
......@@ -135,6 +135,42 @@ char* iniReadString(FILE* fp, const char* section, const char* key, const char*
return(value);
}
char** iniReadStringList(FILE* fp, const char* section, const char* key
,const char* sep, const char* deflt)
{
char* value;
char** lp;
char** np;
char* token;
char list[MAX_VALUE_LEN];
ulong items=0;
if((value=get_value(fp,section,key))==NULL || *value==0 /* blank */)
value=(char*)deflt;
SAFECOPY(list,value);
if((lp=malloc(sizeof(char*)))==NULL)
return(NULL);
token=strtok(list,sep);
while(token!=NULL) {
truncsp(token);
if((np=realloc(lp,sizeof(char*)*(items+2)))==NULL)
break;
lp=np;
if((lp[items]=malloc(strlen(token)+1))==NULL)
break;
strcpy(lp[items++],token);
token=strtok(NULL,sep);
}
lp[items]=NULL; /* terminate list */
return(lp);
}
long iniReadInteger(FILE* fp, const char* section, const char* key, long deflt)
{
char* value;
......
......@@ -51,6 +51,8 @@ extern "C" {
char* iniReadString (FILE* fp, const char* section, const char* key,
const char* deflt);
char** iniReadStringList(FILE* fp, const char* section, const char* key
,const char* sep, const char* deflt);
long iniReadInteger (FILE* fp, const char* section, const char* key,
long deflt);
ushort iniReadShortInt (FILE* fp, const char* section, const char* key,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment