diff --git a/base/inifile.cc b/base/inifile.cc index 7f6a42dd69..10836baea1 100644 --- a/base/inifile.cc +++ b/base/inifile.cc @@ -35,9 +35,7 @@ #include #include -#if defined(__OpenBSD__) || defined(__APPLE__) #include -#endif #include #include #include @@ -88,10 +86,10 @@ IniFile::loadCPP(const string &file, vector &cppArgs) tmpf.close(); - const char *cfile = file.c_str(); - char *dir = basename(cfile); + char *cfile = strcpy(new char[file.size() + 1], file.c_str()); + char *dir = dirname(cfile); char *dir_arg = NULL; - if (*dir != '.' && dir != cfile) { + if (*dir != '.') { string arg = "-I"; arg += dir; @@ -99,6 +97,8 @@ IniFile::loadCPP(const string &file, vector &cppArgs) strcpy(dir_arg, arg.c_str()); } + delete [] cfile; + #ifdef CPP_PIPE if (pipe(fd) == -1) return false;