* dwarf2dbg.c: Include safe-ctype.h.
[deliverable/binutils-gdb.git] / binutils / nlmconv.c
index 9b5e4c8ead7d15ea0161956c61b4c5db352c7cd5..aa68b6ea35b388a5473cefae70b0c2d383a82f2f 100644 (file)
@@ -1,6 +1,6 @@
 /* nlmconv.c -- NLM conversion program
    Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-   2003, 2004 Free Software Foundation, Inc.
+   2003, 2004, 2005 Free Software Foundation, Inc.
 
    This file is part of GNU Binutils.
 
@@ -16,7 +16,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
 
 /* Written by Ian Lance Taylor <ian@cygnus.com>.
 
 #undef strerror
 extern char *strerror (int);
 
-#ifndef localtime
-extern struct tm *localtime ();
-#endif
-
 #ifndef SEEK_SET
 #define SEEK_SET 0
 #endif
@@ -197,7 +193,7 @@ main (int argc, char **argv)
   bfd *sharedbfd;
   size_t shared_offset = 0;
   size_t shared_size = 0;
-  Nlm_Internal_Fixed_Header sharedhdr;
+  static Nlm_Internal_Fixed_Header sharedhdr;
   int len;
   char *modname;
   char **matching;
@@ -980,7 +976,7 @@ main (int argc, char **argv)
       for (l = modules; l != NULL; l = l->next)
        {
          *set = strlen (l->string);
-         strncpy (set + 1, l->string, *set);
+         strncpy ((char *) set + 1, l->string, *set);
          set += *set + 1;
          ++c;
        }
@@ -1057,18 +1053,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);
This page took 0.023698 seconds and 4 git commands to generate.