From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22126 invoked by alias); 5 Aug 2002 23:10:10 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 22118 invoked from network); 5 Aug 2002 23:10:09 -0000 Received: from unknown (HELO cygnus.com) (205.180.83.203) by sources.redhat.com with SMTP; 5 Aug 2002 23:10:09 -0000 Received: from redhat.com (reddwarf.sfbay.redhat.com [172.16.24.50]) by runyon.cygnus.com (8.8.7-cygnus/8.8.7) with ESMTP id QAA05179 for ; Mon, 5 Aug 2002 16:08:33 -0700 (PDT) Message-ID: <3D4F0170.65B5B543@redhat.com> Date: Mon, 05 Aug 2002 16:10:00 -0000 From: Michael Snyder Organization: Red Hat, Inc. X-Accept-Language: en MIME-Version: 1.0 To: gdb-patches@sources.redhat.com Subject: Re: [RFA] cli/cli-dump.c: Write dump always in binary mode on Cygwin References: <20020805122700.Z3921@cygbert.vinschen.de> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-SW-Source: 2002-08/txt/msg00103.txt.bz2 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 > > * 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 > +#include > #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