changeset 1187:a95fc9fcad5c

Make sure -defaultlib and -debuglib don't get cut off if longer than 63 chars, and clean up some overly verbose code.
author Frits van Bommel <fvbommel wxs.nl>
date Wed, 01 Apr 2009 00:52:31 +0200
parents 7562457bb7f3
children 442ab244c455
files gen/main.cpp
diffstat 1 files changed, 7 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- a/gen/main.cpp	Wed Apr 01 00:13:21 2009 +0200
+++ b/gen/main.cpp	Wed Apr 01 00:52:31 2009 +0200
@@ -273,29 +273,21 @@
     {
         for (int i = 0; i < libs->dim; i++)
         {
-            char *arg = (char *)mem.malloc(64);
+            char* lib = (char *)libs->data[i];
+            char *arg = (char *)mem.malloc(strlen(lib) + 3);
             strcpy(arg, "-l");
-            strncat(arg, (char *)libs->data[i], 64);
+            strcpy(arg+2, lib);
             global.params.linkswitches->push(arg);
         }
     }
     else if (!noDefaultLib)
     {
-        char *arg;
-        arg = (char *)mem.malloc(64);
-        strcpy(arg, "-lldc-runtime");
-        global.params.linkswitches->push(arg);
-        arg = (char *)mem.malloc(64);
-        strcpy(arg, "-ltango-cc-tango");
-        global.params.linkswitches->push(arg);
-        arg = (char *)mem.malloc(64);
-        strcpy(arg, "-ltango-gc-basic");
-        global.params.linkswitches->push(arg);
+        global.params.linkswitches->push(mem.strdup("-lldc-runtime"));
+        global.params.linkswitches->push(mem.strdup("-ltango-cc-tango"));
+        global.params.linkswitches->push(mem.strdup("-ltango-gc-basic"));
         // pass the runtime again to resolve issues
         // with linking order
-        arg = (char *)mem.malloc(64);
-        strcpy(arg, "-lldc-runtime");
-        global.params.linkswitches->push(arg);
+        global.params.linkswitches->push(mem.strdup("-lldc-runtime"));
     }
 
     if (global.params.run)