* config/default.exp: Remove send_user call for stray output.
[deliverable/binutils-gdb.git] / binutils / dllwrap.c
index e4db7bae53878ab22cdefd5640fe86afbc790bdf..577772f1cdfbeffa05c919b613e361d9e32dee75 100644 (file)
@@ -1,5 +1,5 @@
 /* dllwrap.c -- wrapper for DLLTOOL and GCC to generate PE style DLLs
-   Copyright 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+   Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
    Contributed by Mumit Khan (khan@xraylith.wisc.edu).
 
    This file is part of GNU Binutils.
@@ -101,7 +101,7 @@ static target_type which_target = UNKNOWN_TARGET;
 static int dontdeltemps = 0;
 static int dry_run = 0;
 
-static char *program_name;
+static char *prog_name;
 
 static int verbose = 0;
 
@@ -139,8 +139,8 @@ static void cleanup_and_exit (int);
 static void
 display (const char * message, va_list args)
 {
-  if (program_name != NULL)
-    fprintf (stderr, "%s: ", program_name);
+  if (prog_name != NULL)
+    fprintf (stderr, "%s: ", prog_name);
 
   vfprintf (stderr, message, args);
   fputc ('\n', stderr);
@@ -244,17 +244,20 @@ look_for_prog (const char *prog_name, const char *prefix, int end_prefix)
    Returns a dynamically allocated string.  */
 
 static char *
-deduce_name (const char *prog_name)
+deduce_name (const char * name)
 {
   char *cmd;
-  char *dash, *slash, *cp;
+  const char *dash;
+  const char *slash;
+  const char *cp;
 
   dash = NULL;
   slash = NULL;
-  for (cp = program_name; *cp != '\0'; ++cp)
+  for (cp = prog_name; *cp != '\0'; ++cp)
     {
       if (*cp == '-')
        dash = cp;
+
       if (
 #if defined(__DJGPP__) || defined (__CYGWIN__) || defined(__WIN32__)
          *cp == ':' || *cp == '\\' ||
@@ -269,24 +272,18 @@ deduce_name (const char *prog_name)
   cmd = NULL;
 
   if (dash != NULL)
-    {
-      /* First, try looking for a prefixed PROG_NAME in the
-         PROGRAM_NAME directory, with the same prefix as PROGRAM_NAME.  */
-      cmd = look_for_prog (prog_name, program_name, dash - program_name + 1);
-    }
+    /* First, try looking for a prefixed NAME in the
+       PROG_NAME directory, with the same prefix as PROG_NAME.  */
+    cmd = look_for_prog (name, prog_name, dash - prog_name + 1);
 
   if (slash != NULL && cmd == NULL)
-    {
-      /* Next, try looking for a PROG_NAME in the same directory as
-         that of this program.  */
-      cmd = look_for_prog (prog_name, program_name, slash - program_name + 1);
-    }
+    /* Next, try looking for a NAME in the same directory as
+       that of this program.  */
+    cmd = look_for_prog (name, prog_name, slash - prog_name + 1);
 
   if (cmd == NULL)
-    {
-      /* Just return PROG_NAME as is.  */
-      cmd = xstrdup (prog_name);
-    }
+    /* Just return NAME as is.  */
+    cmd = xstrdup (name);
 
   return cmd;
 }
@@ -396,14 +393,14 @@ run (const char *what, char *args)
   if (dry_run)
     return 0;
 
-  pid = pexecute (argv[0], (char * const *) argv, program_name, temp_base,
+  pid = pexecute (argv[0], (char * const *) argv, prog_name, temp_base,
                  &errmsg_fmt, &errmsg_arg, PEXECUTE_ONE | PEXECUTE_SEARCH);
 
   if (pid == -1)
     {
       int errno_val = errno;
 
-      fprintf (stderr, "%s: ", program_name);
+      fprintf (stderr, "%s: ", prog_name);
       fprintf (stderr, errmsg_fmt, errmsg_arg);
       fprintf (stderr, ": %s\n", strerror (errno_val));
       return 1;
@@ -479,13 +476,13 @@ strhash (const char *str)
 static void
 usage (FILE *file, int status)
 {
-  fprintf (file, _("Usage %s <option(s)> <object-file(s)>\n"), program_name);
+  fprintf (file, _("Usage %s <option(s)> <object-file(s)>\n"), prog_name);
   fprintf (file, _("  Generic options:\n"));
   fprintf (file, _("   --quiet, -q            Work quietly\n"));
   fprintf (file, _("   --verbose, -v          Verbose\n"));
   fprintf (file, _("   --version              Print dllwrap version\n"));
   fprintf (file, _("   --implib <outname>     Synonym for --output-lib\n"));
-  fprintf (file, _("  Options for %s:\n"), program_name);
+  fprintf (file, _("  Options for %s:\n"), prog_name);
   fprintf (file, _("   --driver-name <driver> Defaults to \"gcc\"\n"));
   fprintf (file, _("   --driver-flags <flags> Override default ld flags\n"));
   fprintf (file, _("   --dlltool-name <dlltool> Defaults to \"dlltool\"\n"));
@@ -624,7 +621,7 @@ main (int argc, char **argv)
 
   char *image_base_str = 0;
 
-  program_name = argv[0];
+  prog_name = argv[0];
 
 #if defined (HAVE_SETLOCALE) && defined (HAVE_LC_MESSAGES)
   setlocale (LC_MESSAGES, "");
@@ -688,7 +685,7 @@ main (int argc, char **argv)
          verbose = 1;
          break;
        case OPTION_VERSION:
-         print_version (program_name);
+         print_version (prog_name);
          break;
        case 'e':
          entry_point = optarg;
@@ -781,7 +778,7 @@ main (int argc, char **argv)
        }
     }
 
-  /* sanity checks.  */
+  /* Sanity checks.  */
   if (! dll_name && ! dll_file_name)
     {
       warn (_("Must provide at least one of -o or --dllname options"));
@@ -806,6 +803,7 @@ main (int argc, char **argv)
   if (! def_file_seen)
     {
       char *fileprefix = choose_temp_base ();
+
       def_file_name = (char *) xmalloc (strlen (fileprefix) + 5);
       sprintf (def_file_name, "%s.def",
               (dontdeltemps) ? mybasename (fileprefix) : fileprefix);
@@ -816,7 +814,7 @@ main (int argc, char **argv)
 Creating one, but that may not be what you want"));
     }
 
-  /* set the target platform.  */
+  /* Set the target platform.  */
   if (strstr (target, "cygwin"))
     which_target = CYGWIN_TARGET;
   else if (strstr (target, "mingw"))
@@ -824,12 +822,11 @@ Creating one, but that may not be what you want"));
   else
     which_target = UNKNOWN_TARGET;
 
-  /* re-create the command lines as a string, taking care to quote stuff.  */
+  /* Re-create the command lines as a string, taking care to quote stuff.  */
   dlltool_cmdline = dyn_string_new (cmdline_len);
   if (verbose)
-    {
-      dyn_string_append_cstr (dlltool_cmdline, " -v");
-    }
+    dyn_string_append_cstr (dlltool_cmdline, " -v");
+
   dyn_string_append_cstr (dlltool_cmdline, " --dllname ");
   dyn_string_append_cstr (dlltool_cmdline, dll_name);
 
@@ -922,10 +919,8 @@ Creating one, but that may not be what you want"));
        }
     }
 
-  /*
-   * Step pre-1. If no --def <EXPORT_DEF> is specified, then create it
-   * and then pass it on.
-   */
+  /* Step pre-1. If no --def <EXPORT_DEF> is specified,
+     then create it and then pass it on.  */
 
   if (! def_file_seen)
     {
@@ -980,16 +975,13 @@ Creating one, but that may not be what you want"));
       fprintf (stderr, _("DRIVER options  : %s\n"), driver_cmdline->s);
     }
 
-  /*
-   * Step 1. Call GCC/LD to create base relocation file. If using GCC, the
-   * driver command line will look like the following:
-   *
-   *    % gcc -Wl,--dll --Wl,--base-file,foo.base [rest of command line]
-   *
-   * If the user does not specify a base name, create temporary one that
-   * is deleted at exit.
-   *
-   */
+  /* Step 1. Call GCC/LD to create base relocation file. If using GCC, the
+     driver command line will look like the following:
+    
+        % gcc -Wl,--dll --Wl,--base-file,foo.base [rest of command line]
+    
+     If the user does not specify a base name, create temporary one that
+     is deleted at exit.  */
 
   if (! base_file_name)
     {
@@ -1027,23 +1019,19 @@ Creating one, but that may not be what you want"));
     dyn_string_delete (step1);
   }
 
-
-
-  /*
-   * Step 2. generate the exp file by running dlltool.
-   * dlltool command line will look like the following:
-   *
-   *    % dlltool -Wl,--dll --Wl,--base-file,foo.base [rest of command line]
-   *
-   * If the user does not specify a base name, create temporary one that
-   * is deleted at exit.
-   *
-   */
+  /* Step 2. generate the exp file by running dlltool.
+     dlltool command line will look like the following:
+    
+        % dlltool -Wl,--dll --Wl,--base-file,foo.base [rest of command line]
+    
+     If the user does not specify a base name, create temporary one that
+     is deleted at exit.  */
 
   if (! exp_file_name)
     {
       char *p = strrchr (dll_name, '.');
-      size_t prefix_len = (p) ? p - dll_name : strlen (dll_name);
+      size_t prefix_len = (p) ? (size_t) (p - dll_name) : strlen (dll_name);
+
       exp_file_name = (char *) xmalloc (prefix_len + 4 + 1);
       strncpy (exp_file_name, dll_name, prefix_len);
       exp_file_name[prefix_len] = '\0';
@@ -1053,6 +1041,7 @@ Creating one, but that may not be what you want"));
 
   {
     int quote;
+
     dyn_string_t step2 = dyn_string_new (dlltool_cmdline->length
                                         + strlen (base_file_name)
                                         + strlen (exp_file_name)
This page took 0.028818 seconds and 4 git commands to generate.