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
No related branches found
No related tags found
No related merge requests found
...@@ -135,6 +135,42 @@ char* iniReadString(FILE* fp, const char* section, const char* key, const char* ...@@ -135,6 +135,42 @@ char* iniReadString(FILE* fp, const char* section, const char* key, const char*
return(value); 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) long iniReadInteger(FILE* fp, const char* section, const char* key, long deflt)
{ {
char* value; char* value;
......
...@@ -51,6 +51,8 @@ extern "C" { ...@@ -51,6 +51,8 @@ extern "C" {
char* iniReadString (FILE* fp, const char* section, const char* key, char* iniReadString (FILE* fp, const char* section, const char* key,
const char* deflt); 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 iniReadInteger (FILE* fp, const char* section, const char* key,
long deflt); long deflt);
ushort iniReadShortInt (FILE* fp, const char* section, const char* key, 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