From 01d87b6f3da40f38bfda6a538316fb8e6ce9a888 Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Fri, 8 Apr 2005 19:07:54 +0000 Subject: [PATCH] backspace.c (unformatted_backspace): Do not dereference the pointer to the stream. * io/backspace.c (unformatted_backspace): Do not dereference the pointer to the stream. From-SVN: r97851 --- libgfortran/ChangeLog | 15 ++++++++++----- libgfortran/io/backspace.c | 11 +++++++---- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 49a43e9..5195912 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,8 @@ +2005-04-08 Eric Botcazou + + * io/backspace.c (unformatted_backspace): Do not dereference + the pointer to the stream. + 2005-04-07 Andrew Pinski PR libfortran/20766 @@ -1493,7 +1498,7 @@ * libgfortan.h,intrinsics/random.c: Made random_seed visible. * runtime/main.c(init): Call random_seed as part of MAIN init. -2004-05-13 Tobias Schlüter +2004-05-13 Tobias Schlter * io/format.c: (parse_format_list): No comma is required after P descriptor. @@ -1950,7 +1955,7 @@ (calculate_G_format): Rewrite it to eliminate an infinte loop and set the scale_factor to 0 for F editing. -2003-05-11 Tobias Schlüter +2003-05-11 Tobias Schlter * libgfor.h: Only include stdint.h if it exists. @@ -1965,11 +1970,11 @@ * libgfor.h (offsetof): Define if nobody else does. * runtime/memory.c (HEADER_SIZE): Use it. -2003-05-01 Tobias Schlüter +2003-05-01 Tobias Schlter * configure.in: Require autoconf 2.54. -2003-04-28 Tobias Schlüter +2003-04-28 Tobias Schlter Paul Brook * intrinsics/reshape_generic.c: Copy the whole element, not just the @@ -1983,7 +1988,7 @@ * io/format.c (parse_format_list): Allow 'X' without integer prefix. This is an extension. Interpretation is '1X'. -2003-04-18 Tobias Schlüter +2003-04-18 Tobias Schlter * io/format.c (parse_format_list): Allow '0P'. diff --git a/libgfortran/io/backspace.c b/libgfortran/io/backspace.c index 225f69c..d4ba3a9 100644 --- a/libgfortran/io/backspace.c +++ b/libgfortran/io/backspace.c @@ -28,6 +28,7 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "config.h" +#include #include "libgfortran.h" #include "io.h" @@ -101,17 +102,19 @@ formatted_backspace (void) static void unformatted_backspace (void) { - gfc_offset *p, new; + gfc_offset m, new; int length; + char *p; length = sizeof (gfc_offset); - p = (gfc_offset *) salloc_r_at (current_unit->s, &length, - file_position (current_unit->s) - length); + p = salloc_r_at (current_unit->s, &length, + file_position (current_unit->s) - length); if (p == NULL) goto io_error; - new = file_position (current_unit->s) - *p - 2*length; + memcpy (&m, p, sizeof (gfc_offset)); + new = file_position (current_unit->s) - m - 2*length; if (sseek (current_unit->s, new) == FAILURE) goto io_error; -- 2.7.4