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; use_file = 0;
} }
if (use_file) { 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) if (depend_phony)
Append(phony_targets, Getitem(files, i)); Append(phony_targets, Getitem(files, i));
} }

View file

@ -249,6 +249,19 @@ String *Swig_filename_escape(String *filename) {
return adjusted_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() * 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 String *Swig_new_subdirectory(String *basedirectory, String *subdirectory);
extern void Swig_filename_correct(String *filename); extern void Swig_filename_correct(String *filename);
extern String *Swig_filename_escape(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 void Swig_filename_unescape(String *filename);
extern int Swig_storage_isextern(Node *n); extern int Swig_storage_isextern(Node *n);
extern int Swig_storage_isexternc(Node *n); extern int Swig_storage_isexternc(Node *n);