From ea21cb77d2e389e32e1284174c8bfff05776770d Mon Sep 17 00:00:00 2001 From: Pierre Pronchery Date: Tue, 12 Feb 2019 23:29:36 +0100 Subject: [PATCH] Add support for spaces in filenames (4/x) This takes care of includes. GNU Make is required for this to work. --- src/makefile.c | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/makefile.c b/src/makefile.c index abb3784..d8b4887 100644 --- a/src/makefile.c +++ b/src/makefile.c @@ -2529,15 +2529,22 @@ static int _install_include(Makefile * makefile, String const * include) return 2; } /* FIXME keep track of the directories created */ - _makefile_print(makefile, "%s%s", "\t$(MKDIR) $(DESTDIR)", install); + _makefile_print(makefile, "%s", "\t$(MKDIR) $(DESTDIR)"); + _makefile_print_escape(makefile, install); if(p != NULL) { - _makefile_print(makefile, "/%s", p); + _makefile_print(makefile, "/"); + _makefile_print_escape(makefile, p); string_delete(p); } _makefile_print(makefile, "\n"); - _makefile_print(makefile, "%s%s%s%s/%s\n", "\t$(INSTALL) -m 0644 ", - include, " $(DESTDIR)", install, include); + _makefile_print(makefile, "%s", "\t$(INSTALL) -m 0644 "); + _makefile_print_escape(makefile, include); + _makefile_print(makefile, "%s", " $(DESTDIR)"); + _makefile_print_escape(makefile, install); + _makefile_print(makefile, "/"); + _makefile_print_escape(makefile, include); + _makefile_print(makefile, "\n"); return 0; } @@ -2899,8 +2906,11 @@ static int _uninstall_include(Makefile * makefile, if((install = _makefile_get_config(makefile, include, "install")) == NULL) install = "$(INCLUDEDIR)"; - _makefile_print(makefile, "%s%s/%s\n", "\t$(RM) -- $(DESTDIR)", install, - include); + _makefile_print(makefile, "%s", "\t$(RM) -- $(DESTDIR)"); + _makefile_print_escape(makefile, install); + _makefile_print(makefile, "/"); + _makefile_print_escape(makefile, include); + _makefile_print(makefile, "\n"); return 0; }