[commit] Remove DIRNAME_SEPARATOR and CRLF_SOURCE_FILES from xm-go32.h
Eli Zaretskii
eliz@gnu.org
Sat Nov 13 17:08:00 GMT 2004
This was suggested and discussed in the thread that started here:
http://sources.redhat.com/ml/gdb-patches/2004-09/msg00293.html
Mark did part of the work that was agreed upon in that thread; the
attached does some more. Now, only GDBINIT_FILENAME remains in
xm-go32.h.
As a side-effect, all platforms can now read source files with
DOS-style CRLF line endings.
Committed.
2004-11-13 Eli Zaretskii <eliz@gnu.org>
* config/i386/xm-go32.h: Don't include fopen-bin.h.
Don't define CRLF_SOURCE_FILES and DIRNAME_SEPARATOR.
* source.c (OPEN_MODE, FDOPEN_MODE): Remove the definitions in the
branch that doesn't define CRLF_SOURCE_FILES; always use
binary-mode open.
(print_source_lines_base, forward_search_command)
(reverse_search_command): Enable the code that accepts DOS-style
CRLF line endings on all platforms (this removes the need for
CRLF_SOURCE_FILES).
* defs.h: (DIRNAME_SEPARATOR) [__MSDOS__]: Define to ';'.
Index: config/i386/xm-go32.h
===================================================================
RCS file: /cvs/src/src/gdb/config/i386/xm-go32.h,v
retrieving revision 1.8
diff -u -r1.8 xm-go32.h
--- config/i386/xm-go32.h 29 Jul 2004 20:04:21 -0000 1.8
+++ config/i386/xm-go32.h 13 Nov 2004 16:57:51 -0000
@@ -18,8 +18,4 @@
Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#include "fopen-bin.h"
-
#define GDBINIT_FILENAME "gdb.ini"
-#define CRLF_SOURCE_FILES
-#define DIRNAME_SEPARATOR ';'
Index: source.c
===================================================================
RCS file: /cvs/src/src/gdb/source.c,v
retrieving revision 1.59
diff -u -r1.59 source.c
--- source.c 14 Oct 2004 13:19:30 -0000 1.59
+++ source.c 13 Nov 2004 16:57:54 -0000
@@ -50,22 +50,9 @@
#define O_BINARY 0
#endif
-#ifdef CRLF_SOURCE_FILES
-
-/* Define CRLF_SOURCE_FILES in an xm-*.h file if source files on the
- host use \r\n rather than just \n. Defining CRLF_SOURCE_FILES is
- much faster than defining LSEEK_NOT_LINEAR. */
-
#define OPEN_MODE (O_RDONLY | O_BINARY)
#define FDOPEN_MODE FOPEN_RB
-#else /* ! defined (CRLF_SOURCE_FILES) */
-
-#define OPEN_MODE O_RDONLY
-#define FDOPEN_MODE FOPEN_RT
-
-#endif /* ! defined (CRLF_SOURCE_FILES) */
-
/* Prototypes for exported functions. */
void _initialize_source (void);
@@ -1263,7 +1250,6 @@
}
else if (c == 0177)
ui_out_text (uiout, "^?");
-#ifdef CRLF_SOURCE_FILES
else if (c == '\r')
{
/* Skip a \r character, but only before a \n. */
@@ -1274,7 +1260,6 @@
if (c1 != EOF)
ungetc (c1, stream);
}
-#endif
else
{
sprintf (buf, "%c", c);
@@ -1462,7 +1447,6 @@
}
while (c != '\n' && (c = getc (stream)) >= 0);
-#ifdef CRLF_SOURCE_FILES
/* Remove the \r, if any, at the end of the line, otherwise
regular expressions that end with $ or \n won't work. */
if (p - buf > 1 && p[-2] == '\r')
@@ -1470,7 +1454,6 @@
p--;
p[-1] = '\n';
}
-#endif
/* we now have a source line in buf, null terminate and match */
*p = 0;
@@ -1546,7 +1529,6 @@
}
while (c != '\n' && (c = getc (stream)) >= 0);
-#ifdef CRLF_SOURCE_FILES
/* Remove the \r, if any, at the end of the line, otherwise
regular expressions that end with $ or \n won't work. */
if (p - buf > 1 && p[-2] == '\r')
@@ -1554,7 +1536,6 @@
p--;
p[-1] = '\n';
}
-#endif
/* We now have a source line in buf; null terminate and match. */
*p = 0;
Index: defs.h
===================================================================
RCS file: /cvs/src/src/gdb/defs.h,v
retrieving revision 1.174
diff -u -r1.174 defs.h
--- defs.h 13 Nov 2004 15:28:50 -0000 1.174
+++ defs.h 13 Nov 2004 16:57:56 -0000
@@ -1226,6 +1226,12 @@
/* FIXME, this doesn't work very well if host and executable
filesystems conventions are different. */
+#ifdef __MSDOS__
+# define CANT_FORK
+# define GLOBAL_CURDIR
+# define DIRNAME_SEPARATOR ';'
+#endif
+
#ifndef DIRNAME_SEPARATOR
#define DIRNAME_SEPARATOR ':'
#endif
@@ -1234,11 +1240,6 @@
#define SLASH_STRING "/"
#endif
-#ifdef __MSDOS__
-# define CANT_FORK
-# define GLOBAL_CURDIR
-#endif
-
/* Provide default definitions of PIDGET, TIDGET, and MERGEPID.
The name ``TIDGET'' is a historical accident. Many uses of TIDGET
in the code actually refer to a lightweight process id, i.e,
More information about the Gdb-patches
mailing list