/* Implementation of the FGET, FGETC, FPUT, FPUTC, FLUSH
FTELL, TTYNAM and ISATTY intrinsics.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2018 Free Software Foundation, Inc.
This file is part of the GNU Fortran runtime library (libgfortran).
#include "io.h"
#include "fbuf.h"
#include "unix.h"
-#include <stdlib.h>
#include <string.h>
export_proto_np(PREFIX(fgetc));
int
-PREFIX(fgetc) (const int * unit, char * c, gfc_charlen_type c_len)
+PREFIX(fgetc) (const int *unit, char *c, gfc_charlen_type c_len)
{
int ret;
- gfc_unit * u = find_unit (*unit);
+ gfc_unit *u = find_unit (*unit);
if (u == NULL)
return -1;
(const int *, char *, GFC_INTEGER_ ## kind *, gfc_charlen_type); \
export_proto(fgetc_i ## kind ## _sub); \
void fgetc_i ## kind ## _sub \
- (const int * unit, char * c, GFC_INTEGER_ ## kind * st, gfc_charlen_type c_len) \
+ (const int *unit, char *c, GFC_INTEGER_ ## kind *st, gfc_charlen_type c_len) \
{ if (st != NULL) \
*st = PREFIX(fgetc) (unit, c, c_len); \
else \
export_proto_np(PREFIX(fget));
int
-PREFIX(fget) (char * c, gfc_charlen_type c_len)
+PREFIX(fget) (char *c, gfc_charlen_type c_len)
{
return PREFIX(fgetc) (&five, c, c_len);
}
(char *, GFC_INTEGER_ ## kind *, gfc_charlen_type); \
export_proto(fget_i ## kind ## _sub); \
void fget_i ## kind ## _sub \
- (char * c, GFC_INTEGER_ ## kind * st, gfc_charlen_type c_len) \
+ (char *c, GFC_INTEGER_ ## kind *st, gfc_charlen_type c_len) \
{ if (st != NULL) \
*st = PREFIX(fgetc) (&five, c, c_len); \
else \
export_proto_np(PREFIX(fputc));
int
-PREFIX(fputc) (const int * unit, char * c,
+PREFIX(fputc) (const int *unit, char *c,
gfc_charlen_type c_len __attribute__((unused)))
{
ssize_t s;
- gfc_unit * u = find_unit (*unit);
+ gfc_unit *u = find_unit (*unit);
if (u == NULL)
return -1;
(const int *, char *, GFC_INTEGER_ ## kind *, gfc_charlen_type); \
export_proto(fputc_i ## kind ## _sub); \
void fputc_i ## kind ## _sub \
- (const int * unit, char * c, GFC_INTEGER_ ## kind * st, gfc_charlen_type c_len) \
+ (const int *unit, char *c, GFC_INTEGER_ ## kind *st, gfc_charlen_type c_len) \
{ if (st != NULL) \
*st = PREFIX(fputc) (unit, c, c_len); \
else \
export_proto_np(PREFIX(fput));
int
-PREFIX(fput) (char * c, gfc_charlen_type c_len)
+PREFIX(fput) (char *c, gfc_charlen_type c_len)
{
return PREFIX(fputc) (&six, c, c_len);
}
(char *, GFC_INTEGER_ ## kind *, gfc_charlen_type); \
export_proto(fput_i ## kind ## _sub); \
void fput_i ## kind ## _sub \
- (char * c, GFC_INTEGER_ ## kind * st, gfc_charlen_type c_len) \
+ (char *c, GFC_INTEGER_ ## kind *st, gfc_charlen_type c_len) \
{ if (st != NULL) \
*st = PREFIX(fputc) (&six, c, c_len); \
else \
export_proto(fseek_sub);
void
-fseek_sub (int * unit, GFC_IO_INT * offset, int * whence, int * status)
+fseek_sub (int *unit, GFC_IO_INT *offset, int *whence, int *status)
{
- gfc_unit * u = find_unit (*unit);
+ gfc_unit *u = find_unit (*unit);
ssize_t result = -1;
if (u != NULL)
static gfc_offset
gf_ftell (int unit)
{
- gfc_unit * u = find_unit (unit);
+ gfc_unit *u = find_unit (unit);
if (u == NULL)
return -1;
int pos = fbuf_reset (u);
}
-/* Here is the ftell function with an incorrect return type; retained
- due to ABI compatibility. */
-
-extern size_t PREFIX(ftell) (int *);
+extern GFC_IO_INT PREFIX(ftell) (int *);
export_proto_np(PREFIX(ftell));
-size_t
-PREFIX(ftell) (int * unit)
-{
- return gf_ftell (*unit);
-}
-
-
-/* Here is the ftell function with the correct return type, ensuring
- that large files can be supported as long as the target supports
- large integers; as of 4.8 the FTELL intrinsic function will call
- this one instead of the old ftell above. */
-
-extern GFC_IO_INT PREFIX(ftell2) (int *);
-export_proto_np(PREFIX(ftell2));
-
GFC_IO_INT
-PREFIX(ftell2) (int * unit)
+PREFIX(ftell) (int *unit)
{
return gf_ftell (*unit);
}
extern void ftell_i ## kind ## _sub (int *, GFC_INTEGER_ ## kind *); \
export_proto(ftell_i ## kind ## _sub); \
void \
- ftell_i ## kind ## _sub (int * unit, GFC_INTEGER_ ## kind * offset) \
+ ftell_i ## kind ## _sub (int *unit, GFC_INTEGER_ ## kind *offset) \
{ \
*offset = gf_ftell (*unit); \
}
export_proto(ttynam_sub);
void
-ttynam_sub (int *unit, char * name, gfc_charlen_type name_len)
+ttynam_sub (int *unit, char *name, gfc_charlen_type name_len)
{
gfc_unit *u;
int nlen;
export_proto(ttynam);
void
-ttynam (char ** name, gfc_charlen_type * name_len, int unit)
+ttynam (char **name, gfc_charlen_type *name_len, int unit)
{
gfc_unit *u;