PR binutils/630
authorNick Clifton <nickc@redhat.com>
Tue, 4 Jan 2005 15:47:38 +0000 (15:47 +0000)
committerNick Clifton <nickc@redhat.com>
Tue, 4 Jan 2005 15:47:38 +0000 (15:47 +0000)
* nlmconv.c (main): Only store the basename of the output filename in the
module table.

binutils/ChangeLog
binutils/nlmconv.c

index ad750eb..755b5e7 100644 (file)
@@ -1,3 +1,9 @@
+2005-01-04  Armin Diehl  <diehl@nordrhein.de>
+
+       PR binutils/630
+       * nlmconv.c (main): Only store the basename of the output filename
+       in the module table.
+
 2005-01-04  H.J. Lu  <hongjiu.lu@intel.com>
 
        BZ 615
index 9b5e4c8..1bbd22a 100644 (file)
@@ -1057,18 +1057,24 @@ main (int argc, char **argv)
        sharedhdr.exitProcedureOffset;
       free (data);
     }
-  len = strlen (output_file);
-  if (len > NLM_MODULE_NAME_SIZE - 2)
-    len = NLM_MODULE_NAME_SIZE - 2;
-  nlm_fixed_header (outbfd)->moduleName[0] = len;
-
-  strncpy (nlm_fixed_header (outbfd)->moduleName + 1, output_file,
-          NLM_MODULE_NAME_SIZE - 2);
-  nlm_fixed_header (outbfd)->moduleName[NLM_MODULE_NAME_SIZE - 1] = '\0';
-  for (modname = nlm_fixed_header (outbfd)->moduleName;
-       *modname != '\0';
-       modname++)
-    *modname = TOUPPER (*modname);
+
+  {
+    const int    max_len  = NLM_MODULE_NAME_SIZE - 2;
+    const char * filename = lbasename (output_file);
+    
+    len = strlen (filename);
+    if (len > max_len)
+      len = max_len;
+    nlm_fixed_header (outbfd)->moduleName[0] = len;
+
+    strncpy (nlm_fixed_header (outbfd)->moduleName + 1, filename, max_len);
+    nlm_fixed_header (outbfd)->moduleName[max_len + 1] = '\0';
+
+    for (modname = nlm_fixed_header (outbfd)->moduleName;
+        *modname != '\0';
+        modname++)
+      *modname = TOUPPER (*modname);
+  }
 
   strncpy (nlm_variable_header (outbfd)->oldThreadName, " LONG",
           NLM_OLD_THREAD_NAME_LENGTH);