From: Michael Snyder <msnyder@redhat.com>
To: gdb-patches@sources.redhat.com
Subject: Re: [RFA] cli/cli-dump.c: Write dump always in binary mode on Cygwin
Date: Mon, 05 Aug 2002 16:10:00 -0000 [thread overview]
Message-ID: <3D4F0170.65B5B543@redhat.com> (raw)
In-Reply-To: <20020805122700.Z3921@cygbert.vinschen.de>
Corinna Vinschen wrote:
>
> Hi,
>
> the following patch solves a problem in the dump code in cli/cli-dump.c.
> On systems which support binary and textmode file IO, the dump code
> doesn't explicitly write in binary mode, resulting in files written
> in textmode if that's the current default on the system. This leads
> to a corrupted dump file since each LF is converted to CR/LF in the
> file. The patch uses the "b" flag in the fopen(3) call to write
> explicitly binary. Even if that flag is POSIX standard, I decided
> to use it only on systems supporting binmode/textmode so that also
> older systems have a chance.
>
> Corinna
Hmm, file has no assigned maintainer...
Well, as a global-write maintainer, I wouldn't be opposed to
the way it's written, but do we actually know of any environments
where the #if is strictly necessary?
> 2002-08-05 Corinna Vinschen <vinschen@redhat.com>
>
> * cli/cli-dump.c: Include fcntl.h to get open(2) flags.
> (add_dump_command): Utilize "b" fopen(3) flag on systems
> defining O_BINARY.
>
> Index: gdb/cli/cli-dump.c
> ===================================================================
> RCS file: /cvs/src/src/gdb/cli/cli-dump.c,v
> retrieving revision 1.4
> diff -u -p -r1.4 cli-dump.c
> --- gdb/cli/cli-dump.c 24 May 2002 01:25:52 -0000 1.4
> +++ gdb/cli/cli-dump.c 5 Aug 2002 10:15:17 -0000
> @@ -30,6 +30,7 @@
> #include "cli/cli-dump.h"
> #include "gdb_assert.h"
> #include <ctype.h>
> +#include <fcntl.h>
> #include "target.h"
>
> #define XMALLOC(TYPE) ((TYPE*) xmalloc (sizeof (TYPE)))
> @@ -442,7 +443,11 @@ add_dump_command (char *name, void (*fun
> c->completer = filename_completer;
> d = XMALLOC (struct dump_context);
> d->func = func;
> +#ifdef O_BINARY
> + d->mode = "wb";
> +#else
> d->mode = "w";
> +#endif
> set_cmd_context (c, d);
> c->func = call_dump_func;
>
> @@ -450,7 +455,11 @@ add_dump_command (char *name, void (*fun
> c->completer = filename_completer;
> d = XMALLOC (struct dump_context);
> d->func = func;
> +#ifdef O_BINARY
> + d->mode = "ab";
> +#else
> d->mode = "a";
> +#endif
> set_cmd_context (c, d);
> c->func = call_dump_func;
>
>
> --
> Corinna Vinschen
> Cygwin Developer
> Red Hat, Inc.
> mailto:vinschen@redhat.com
next prev parent reply other threads:[~2002-08-05 23:10 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-08-05 3:27 Corinna Vinschen
2002-08-05 5:30 ` Andreas Schwab
2002-08-05 16:10 ` Michael Snyder [this message]
2002-08-05 21:45 ` Eli Zaretskii
2002-08-06 1:10 ` Corinna Vinschen
2002-08-06 9:12 ` Eli Zaretskii
2002-08-07 1:52 ` Corinna Vinschen
2002-08-06 7:02 ` Andrew Cagney
2002-08-07 8:45 ` Richard Earnshaw
2002-08-07 10:55 ` Andrew Cagney
2002-08-07 22:09 ` Eli Zaretskii
2002-08-08 9:57 ` Andrew Cagney
2002-08-09 2:19 ` [RFA]: Change all fopen modes to binary in cli-dump.c [was Re: [RFA] cli/cli-dump.c: Write dump always in binary mode on Cygwin] Corinna Vinschen
2002-08-09 7:46 ` Andrew Cagney
2002-08-09 9:36 ` Corinna Vinschen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3D4F0170.65B5B543@redhat.com \
--to=msnyder@redhat.com \
--cc=gdb-patches@sources.redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox