News:

As usual while waiting for the next release - don't forget to check the nightly builds in the forum.

Main Menu

Spaces in library paths lead to not starting console apps

Started by Jenna, June 15, 2008, 01:16:41 PM

Previous topic - Next topic

Jenna

Bug described here.

Here is the text of my bug-report:
QuoteIf "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 I posted:
--- 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;
                                }
             }
         }



libfab

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]

Jenna

Try "patch -p1 < diff_file" from the root directory of C::B's source, that should work.