Developer forums (C::B DEVELOPMENT STRICTLY!) > Development

Spaces in library paths lead to not starting console apps

(1/1)

Jenna:
Bug described here.

Here is the text of my bug-report:

--- 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).
--- End quote ---

Her is the patch 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;
                                }
             }
         }

--- End code ---

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.

Navigation

[0] Message Index

Go to full version