This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libfortran/20257] Fortran runtime error: End of record occurs when writing large arrays



------- Comment #10 from jvdelisle at gcc dot gnu dot org  2006-04-23 02:05 -------
Subject: Bug 20257

Author: jvdelisle
Date: Sun Apr 23 02:04:58 2006
New Revision: 113190

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=113190
Log:
2006-04-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

        PR libgfortran/20257
        * io/io.h: Add prototypes for get_internal_unit and free_internal_unit.
        * io/unit.c (get_internal_unit): Initialize unit number, not zero.
        (free_internal_unit): New function to consolidate freeing memory.
        (get_unit): Initialize internal_unit_desc to NULL when unit is
        external.
        * io/unix.c (mem_close): Check for not NULL before freeing memory.
        * io/transfer.c (read_block): Reset bytes_left and skip error if unit
        is preconnected and default record length is reached.
        (read_block_direct): Ditto.
        (write_block): Ditto.
        (write_buf): Ditto.
        (data_transfer_init): Only flush if not internal unit.
        (finalize_transfer): Ditto and delete code to free memory used by
        internal units.
        (st_read_done): Use new function - free_internal_unit.
        (st_write_done): Use new function - free_internal unit.

Modified:
    trunk/libgfortran/ChangeLog
    trunk/libgfortran/io/io.h
    trunk/libgfortran/io/transfer.c
    trunk/libgfortran/io/unit.c
    trunk/libgfortran/io/unix.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20257


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]