Code::Blocks Forums

Developer forums (C::B DEVELOPMENT STRICTLY!) => Development => Topic started by: Jenna on June 15, 2008, 01:16:41 pm

Title: Spaces in library paths lead to not starting console apps
Post by: Jenna on June 15, 2008, 01:16:41 pm
Bug described here (http://forums.codeblocks.org/index.php/topic,8396.msg62923.html#msg62923).

Here is the text of my bug-report (https://developer.berlios.de/bugs/?func=detailbug&bug_id=14037&group_id=5358):
Quote
If "GetDynamicLinkerPathForTarget(target)" returns a path with spaces, console apps on linux can not be started.

The returned string has to be quoted if it includes spaces (escaping the spaces does not work).

Her is the patch (https://developer.berlios.de/patch/?func=detailpatch&patch_id=2494&group_id=5358) I posted:
Code
--- codeblocks-1.0svn.orig/src/plugins/compilergcc/compilergcc.cpp      2008-04-29 18:27:30.000000000 +0200
+++ codeblocks-1.0svn.work/src/plugins/compilergcc/compilergcc.cpp      2008-06-15 11:59:16.000000000 +0200
@@ -1784,7 +1784,10 @@
                                {
                                        // set LD_LIBRARY_PATH
                                        command << LIBRARY_ENVVAR << _T("=$") << LIBRARY_ENVVAR << _T(':');
-                                       command << GetDynamicLinkerPathForTarget(target) << strSPACE;
+                                       // we have to quote the string, just escape the spaces does not work
+                                       wxString strLinkerPath=GetDynamicLinkerPathForTarget(target);
+                                       QuoteStringIfNeeded(strLinkerPath);
+                                       command << strLinkerPath << strSPACE;
                                }
             }
         }

Title: Re: Spaces in library paths lead to not starting console apps
Post by: libfab on June 15, 2008, 02:49:29 pm
Thanks Jens, works like a charm!
Actually the patch posted on this site did not  apply OK with patch -N(u)p(x) < diff_file, so I corrected by hand and made a slightly bigger patch that works fine (attached). Its seems I had to take off a redundant line of coding?
Best, Fab

[attachment deleted by admin]
Title: Re: Spaces in library paths lead to not starting console apps
Post by: Jenna on June 15, 2008, 03:01:53 pm
Try "patch -p1 < diff_file" from the root directory of C::B's source, that should work.