daily update
[external/binutils.git] / gdb / cli / cli-dump.c
index 95c1b34..1b2b5d4 100644 (file)
 #include "target.h"
 #include "readline/readline.h"
 #include "gdbcore.h"
+#include "cli/cli-utils.h"
 
 #define XMALLOC(TYPE) ((TYPE*) xmalloc (sizeof (TYPE)))
 
 
 char *
-skip_spaces (char *chp)
-{
-  if (chp == NULL)
-    return NULL;
-  while (isspace (*chp))
-    chp++;
-  return chp;
-}
-
-char *
 scan_expression_with_cleanup (char **cmd, const char *def)
 {
   if ((*cmd) == NULL || (**cmd) == '\0')
@@ -183,7 +174,7 @@ append_command (char *cmd, int from_tty)
 
 static void
 dump_binary_file (const char *filename, const char *mode, 
-                 const bfd_byte *buf, int len)
+                 const bfd_byte *buf, ULONGEST len)
 {
   FILE *file;
   int status;
@@ -197,7 +188,7 @@ dump_binary_file (const char *filename, const char *mode,
 static void
 dump_bfd_file (const char *filename, const char *mode, 
               const char *target, CORE_ADDR vaddr, 
-              const bfd_byte *buf, int len)
+              const bfd_byte *buf, ULONGEST len)
 {
   bfd *obfd;
   asection *osection;
@@ -211,7 +202,9 @@ dump_bfd_file (const char *filename, const char *mode,
                                          | SEC_ALLOC
                                          | SEC_LOAD));
   osection->entsize = 0;
-  bfd_set_section_contents (obfd, osection, buf, 0, len);
+  if (!bfd_set_section_contents (obfd, osection, buf, 0, len))
+    warning (_("writing dump file '%s' (%s)"), filename, 
+            bfd_errmsg (bfd_get_error ()));
 }
 
 static void
@@ -520,7 +513,11 @@ restore_binary_file (char *filename, struct callback_data *data)
 
   /* Get the file size for reading.  */
   if (fseek (file, 0, SEEK_END) == 0)
-    len = ftell (file);
+    {
+      len = ftell (file);
+      if (len < 0)
+       perror_with_name (filename);
+    }
   else
     perror_with_name (filename);
 
@@ -682,7 +679,7 @@ _initialize_cli_dump (void)
   add_dump_command ("memory", dump_memory_command, "\
 Write contents of memory to a raw binary file.\n\
 Arguments are FILE START STOP.  Writes the contents of memory within the\n\
-range [START .. STOP) to the specifed FILE in raw target ordered bytes.");
+range [START .. STOP) to the specified FILE in raw target ordered bytes.");
 
   add_dump_command ("value", dump_value_command, "\
 Write the value of an expression to a raw binary file.\n\
@@ -722,7 +719,7 @@ the specified FILE in raw target ordered bytes.");
   add_cmd ("memory", all_commands, dump_srec_memory, _("\
 Write contents of memory to an srec file.\n\
 Arguments are FILE START STOP.  Writes the contents of memory\n\
-within the range [START .. STOP) to the specifed FILE in srec format."),
+within the range [START .. STOP) to the specified FILE in srec format."),
           &srec_cmdlist);
 
   add_cmd ("value", all_commands, dump_srec_value, _("\
@@ -734,7 +731,7 @@ to the specified FILE in srec format."),
   add_cmd ("memory", all_commands, dump_ihex_memory, _("\
 Write contents of memory to an ihex file.\n\
 Arguments are FILE START STOP.  Writes the contents of memory within\n\
-the range [START .. STOP) to the specifed FILE in intel hex format."),
+the range [START .. STOP) to the specified FILE in intel hex format."),
           &ihex_cmdlist);
 
   add_cmd ("value", all_commands, dump_ihex_value, _("\
@@ -746,7 +743,7 @@ to the specified FILE in intel hex format."),
   add_cmd ("memory", all_commands, dump_tekhex_memory, _("\
 Write contents of memory to a tekhex file.\n\
 Arguments are FILE START STOP.  Writes the contents of memory\n\
-within the range [START .. STOP) to the specifed FILE in tekhex format."),
+within the range [START .. STOP) to the specified FILE in tekhex format."),
           &tekhex_cmdlist);
 
   add_cmd ("value", all_commands, dump_tekhex_value, _("\
@@ -758,7 +755,7 @@ to the specified FILE in tekhex format."),
   add_cmd ("memory", all_commands, dump_binary_memory, _("\
 Write contents of memory to a raw binary file.\n\
 Arguments are FILE START STOP.  Writes the contents of memory\n\
-within the range [START .. STOP) to the specifed FILE in binary format."),
+within the range [START .. STOP) to the specified FILE in binary format."),
           &binary_dump_cmdlist);
 
   add_cmd ("value", all_commands, dump_binary_value, _("\
@@ -770,7 +767,7 @@ to the specified FILE in raw target ordered bytes."),
   add_cmd ("memory", all_commands, append_binary_memory, _("\
 Append contents of memory to a raw binary file.\n\
 Arguments are FILE START STOP.  Writes the contents of memory within the\n\
-range [START .. STOP) to the specifed FILE in raw target ordered bytes."),
+range [START .. STOP) to the specified FILE in raw target ordered bytes."),
           &binary_append_cmdlist);
 
   add_cmd ("value", all_commands, append_binary_value, _("\