Skip to content
Snippets Groups Projects
Commit 9e839263 authored by rswindell's avatar rswindell
Browse files

Created iniFileName() to auto-generate full-paths to correctly-cased .ini

filenames, using file.host.ini, if it exists, in place of file.ini.
parent 5124b3ea
No related branches found
No related tags found
No related merge requests found
......@@ -854,6 +854,39 @@ ulong iniGetIpAddress(str_list_t* list, const char* section, const char* key, ul
#endif /* !NO_SOCKET_SUPPORT */
char* iniFileName(char* dest, size_t maxlen, const char* indir, const char* infname)
{
char dir[MAX_PATH+1];
char fname[MAX_PATH+1];
char ext[MAX_PATH+1];
char* p;
SAFECOPY(dir,indir);
backslash(dir);
SAFECOPY(fname,infname);
ext[0]=0;
if((p=getfext(fname))!=NULL) {
SAFECOPY(ext,p);
*p=0;
}
#if !defined(NO_SOCKET_SUPPORT)
{
char hostname[128];
if(gethostname(hostname,sizeof(hostname))==0) {
safe_snprintf(dest,maxlen,"%s%s.%s%s",dir,fname,hostname,ext);
if(fexistcase(dest))
return(dest);
}
}
#endif
safe_snprintf(dest,maxlen,"%s%s%s",dir,fname,ext);
fexistcase(dest);
return(dest);
}
double iniReadFloat(FILE* fp, const char* section, const char* key, double deflt)
{
char buf[INI_MAX_VALUE_LEN];
......
......@@ -96,6 +96,7 @@ void* iniFreeNamedStringList(named_string_t** list);
/* File I/O Functions */
char* iniFileName(char* dest, size_t maxlen, const char* dir, const char* fname);
FILE* iniOpenFile(const char* fname);
str_list_t iniReadFile(FILE*);
BOOL iniWriteFile(FILE*, const str_list_t);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment