escape filepaths

This commit is contained in:
Noah Stegmaier 2020-06-04 11:45:52 +02:00
commit 3cc4d76e23
3 changed files with 15 additions and 1 deletions

View file

@ -1154,7 +1154,7 @@ int SWIG_main(int argc, char *argv[], const TargetLanguageModule *tlm) {
use_file = 0;
}
if (use_file) {
Printf(f_dependencies_file, "\\\n %s ", Getitem(files, i));
Printf(f_dependencies_file, "\\\n %s ", Swig_filename_escape_space(Getitem(files, i)));
if (depend_phony)
Append(phony_targets, Getitem(files, i));
}

View file

@ -249,6 +249,19 @@ String *Swig_filename_escape(String *filename) {
return adjusted_filename;
}
/* -----------------------------------------------------------------------------
* Swig_filename_escape()
*
* Escapes spaces in filename - for Makefiles
* ----------------------------------------------------------------------------- */
String *Swig_filename_escape_space(String *filename) {
String *adjusted_filename = Copy(filename);
Swig_filename_correct(adjusted_filename);
Replaceall(adjusted_filename, " ", "\\ ");
return adjusted_filename;
}
/* -----------------------------------------------------------------------------
* Swig_filename_unescape()
*

View file

@ -315,6 +315,7 @@ extern int ParmList_is_compactdefargs(ParmList *p);
extern String *Swig_new_subdirectory(String *basedirectory, String *subdirectory);
extern void Swig_filename_correct(String *filename);
extern String *Swig_filename_escape(String *filename);
extern String *Swig_filename_escape_space(String *filename);
extern void Swig_filename_unescape(String *filename);
extern int Swig_storage_isextern(Node *n);
extern int Swig_storage_isexternc(Node *n);