Clean up unused code from gmxfio
authorTeemu Murtola <teemu.murtola@gmail.com>
Tue, 30 Jun 2015 04:09:58 +0000 (07:09 +0300)
committerGerrit Code Review <gerrit@gerrit.gromacs.org>
Wed, 1 Jul 2015 12:32:49 +0000 (14:32 +0200)
- gmx_fio_do_*() are only used for writing xdr-based formats, so remove
  other implementations (has been unused since support for .tpa and .tpb
  formats was removed).  Further decoupling should be possible, but
  left for later to keep this change smaller.
- gmx_fio_read/write_*() were not used with the exception of
  gmx_fio_write_string(), so removed.  gmx_fio_do_*() should be
  sufficient.
- Remove USE_XDR, as it is not feasible to turn off xdr support from
  these few files alone.  There are several file formats (most notably,
  run input files and checkpoints) that can only be written in xdr, and
  functionality is severely limited without those.
- Remove unused (and mistyped) HAVE_XML #ifdefs.  It's not feasible to
  inject XML support at this level...
- Move confusingly placed check for not opening .tng files with gmxfio.
- Removed unnecessary checks for debug files (debug files are no longer
  opened with gmx_fio_fopen()).
- Remove a few other fields, enum members, and methods that had no effect.
- Rename gmxfio_int.h to gmxfio-impl.h to make its role clearer and to
  make it follow the current naming conventions.
- Remove unnecessary #includes.

Change-Id: Ida39a076969da116c9a5f68d7bfd0355c2d2363b

src/gromacs/fileio/filenm.c
src/gromacs/fileio/gmxfio-impl.h [moved from src/gromacs/fileio/gmxfio_int.h with 81% similarity]
src/gromacs/fileio/gmxfio.c
src/gromacs/fileio/gmxfio.h
src/gromacs/fileio/gmxfio_asc.c [deleted file]
src/gromacs/fileio/gmxfio_bin.c [deleted file]
src/gromacs/fileio/gmxfio_rw.c
src/gromacs/fileio/gmxfio_xdr.c
src/gromacs/fileio/tpxio.c
src/gromacs/fileio/trnio.c
src/gromacs/fileio/trnio.h

index 782424df600a423c45856ff35feda0a4e24b246c..99f2a7da6553e3576463f03525176fc936e11dfe 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
  * Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013,2014, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014,2015, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #include "gromacs/utility/fatalerror.h"
 #include "gromacs/utility/smalloc.h"
 
-/* XDR should be available on all platforms now,
- * but we keep the possibility of turning it off...
- */
-#define USE_XDR
-
 /* Use bitflag ... */
 #define IS_SET(fn) ((fn.flag & ffSET) != 0)
 #define IS_OPT(fn) ((fn.flag & ffOPT) != 0)
 
 enum
 {
-    eftASC, eftBIN, eftXDR, eftTNG, eftGEN, eftNR
+    eftASC, eftXDR, eftTNG, eftGEN, eftNR
 };
 
 /* To support multiple file types with one general (eg TRX) we have
@@ -67,36 +62,28 @@ enum
  */
 static const int trxs[] =
 {
-#ifdef USE_XDR
     efXTC, efTRR, efCPT,
-#endif
     efGRO, efG96, efPDB, efTNG
 };
 #define NTRXS asize(trxs)
 
 static const int trcompressed[] =
 {
-#ifdef USE_XDR
     efXTC,
-#endif
     efTNG
 };
 #define NTRCOMPRESSED asize(trcompressed)
 
 static const int tros[] =
 {
-#ifdef USE_XDR
     efXTC, efTRR,
-#endif
     efGRO, efG96, efPDB, efTNG
 };
 #define NTROS asize(tros)
 
 static const int trns[] =
 {
-#ifdef USE_XDR
     efTRR, efCPT,
-#endif
     efTNG
 };
 #define NTRNS asize(trns)
@@ -107,18 +94,14 @@ static const int stos[] =
 
 static const int stxs[] =
 {
-    efGRO, efG96, efPDB, efBRK, efENT, efESP
-#ifdef USE_XDR
-    , efTPR
-#endif
+    efGRO, efG96, efPDB, efBRK, efENT, efESP,
+    efTPR
 };
 #define NSTXS asize(stxs)
 
 static const int tpss[] =
 {
-#ifdef USE_XDR
     efTPR,
-#endif
     efGRO, efG96, efPDB, efBRK, efENT
 };
 #define NTPSS asize(tpss)
@@ -284,8 +267,6 @@ const char *ftp2ftype(int ftp)
         {
             case eftASC:
                 return "ASCII";
-            case eftBIN:
-                return "Binary";
             case eftXDR:
                 return "XDR portable";
             case eftTNG:
similarity index 81%
rename from src/gromacs/fileio/gmxfio_int.h
rename to src/gromacs/fileio/gmxfio-impl.h
index e7010b15f32fbecc34189362cb6f11e9712f0f16..486f0e0e8ac6113c4bb821726f6ee1a81f2c03ec 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
  * Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013,2014, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014,2015, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
  * To help us fund GROMACS development, we humbly ask that you cite
  * the research papers on the package. Check out http://www.gromacs.org.
  */
-#ifndef GMX_FILEIO_GMXFIO_INT_H
-#define GMX_FILEIO_GMXFIO_INT_H
+/*! \internal \file
+ * \brief
+ * Internal definitions shared by gmxfio*.c files.
+ */
+#ifndef GMX_FILEIO_GMXFIO_IMPL_H
+#define GMX_FILEIO_GMXFIO_IMPL_H
 
 /* This is the new improved and thread safe version of gmxfio.  */
 
 
    WARNING WARNING WARNING WARNING */
 
-
-/* XDR should be available on all platforms now,
- * but we keep the possibility of turning it off...
- */
-#define USE_XDR
-
 #include "thread_mpi/lock.h"
 
 #include "gromacs/fileio/xdrf.h"
 
-/* the reader/writer functions  for t_iotype */
+/** the reader function for t_iotype */
 typedef gmx_bool read_func (t_fileio *fio, void *item, int nitem, int eio,
                             const char *desc, const char *srcfile, int line);
+/** the writer function for t_iotype */
 typedef gmx_bool write_func (t_fileio *fio, const void *item, int nitem, int eio,
                              const char *desc, const char *srcfile, int line);
 
 
-/* these are pointers to the actual reading & writing functions */
 typedef struct
 {
     read_func  *nread;
     write_func *nwrite;
 } t_iotype;
 
-
-
 struct t_fileio
 {
     FILE           *fp;                /* the file pointer */
@@ -84,15 +80,12 @@ struct t_fileio
                     bRead,             /* the file is open for reading */
                     bDouble,           /* write doubles instead of floats */
                     bDebug,            /* the file ops should come with debug info */
-                    bStdio,            /* the file is actually stdin or stdout */
                     bReadWrite;        /* the file is open for reading and writing */
     char        *fn;                   /* the file name */
     XDR         *xdr;                  /* the xdr data pointer */
     enum xdr_op  xdrmode;              /* the xdr mode */
     int          iFTP;                 /* the file type identifier */
 
-    const char  *comment;              /* a comment string for debugging */
-
     t_fileio    *next, *prev;          /* next and previous file pointers in the
                                           linked list */
     tMPI_Lock_t  mtx;                  /* content locking mutex. This is a fast lock
@@ -101,30 +94,22 @@ struct t_fileio
                                           a lock */
 };
 
-
-
-extern const t_iotype asc_iotype;
-extern const t_iotype bin_iotype;
+/** handlers for XDR read/write */
 extern const t_iotype xdr_iotype;
-extern const t_iotype dummy_iotype;
 
+/** Names for different items that can be read/written with gmx_fio_do_*() */
 extern const char    *eioNames[eioNR];
 
-
-
-#define GMX_FIO_BUFLEN 256
-
-/* make a debug string if that is requested in the fio */
-const char *gmx_fio_dbgstr(t_fileio *fio, const char *desc, char *buf);
-/* check the number of items against the allowed number of items */
+/** check the number of items against the allowed number of items */
 void gmx_fio_check_nitem(int eio, int nitem, const char *file,
                          int line);
-/* check the output type against allowed values */
+/** check the output type against allowed values */
 void gmx_fio_fe(t_fileio *fio, int eio, const char *desc, const char *srcfile,
                 int line);
 
-/* lock/unlock the mutex associated with a fio  */
+/*lock the mutex associated with a fio  */
 void gmx_fio_lock(t_fileio *fio);
+/** unlock the mutex associated with a fio  */
 void gmx_fio_unlock(t_fileio *fio);
 
 #endif
index dc204ec69780e9c990fb7618214383569f8ddcc9..4f3d01dfdec219e3d3e474befc4842a8bbb56d53 100644 (file)
 #include "thread_mpi/threads.h"
 
 #include "gromacs/fileio/filenm.h"
-#include "gromacs/fileio/gmxfio_int.h"
 #include "gromacs/fileio/md5.h"
 #include "gromacs/legacyheaders/macros.h"
 #include "gromacs/utility/fatalerror.h"
 #include "gromacs/utility/futil.h"
 #include "gromacs/utility/smalloc.h"
-#include "gromacs/utility/snprintf.h"
+
+#include "gmxfio-impl.h"
 
 /* This is the new improved and thread safe version of gmxfio. */
 
@@ -86,14 +86,6 @@ static tMPI_Thread_mutex_t open_file_mutex = TMPI_THREAD_MUTEX_INITIALIZER;
 /* These simple lists define the I/O type for these files */
 static const int ftpXDR[] =
 { efTPR, efTRR, efEDR, efXTC, efTNG, efMTX, efCPT };
-static const int ftpASC[] =
-{ efGRO, efPDB, efG96 };
-static const int ftpBIN[] =
-{ efTNG };
-#ifdef HAVE_XML
-static const int ftpXML[] =
-{   efXML};
-#endif
 
 const char *eioNames[eioNR] =
 {
@@ -101,6 +93,30 @@ const char *eioNames[eioNR] =
     "IVEC", "STRING"
 };
 
+
+static gmx_bool do_dummyread(t_fileio *fio, void *item, int nitem, int eio,
+                             const char *desc, const char *srcfile, int line);
+static gmx_bool do_dummywrite(t_fileio *fio, const void *item, int nitem, int eio,
+                              const char *desc, const char *srcfile, int line);
+
+const t_iotype dummy_iotype = {do_dummyread, do_dummywrite};
+
+static gmx_bool do_dummyread(
+        t_fileio gmx_unused *fio, void gmx_unused *item, int gmx_unused nitem, int gmx_unused eio,
+        const char gmx_unused *desc, const char gmx_unused *srcfile, int gmx_unused line)
+{
+    gmx_fatal(FARGS, "File type not set!");
+    return FALSE;
+}
+
+static gmx_bool do_dummywrite(
+        t_fileio gmx_unused *fio, const void gmx_unused *item, int gmx_unused nitem, int gmx_unused eio,
+        const char gmx_unused *desc, const char gmx_unused *srcfile, int gmx_unused line)
+{
+    gmx_fatal(FARGS, "File type not set!");
+    return FALSE;
+}
+
 /******************************************************************
  *
  * Internal functions:
@@ -142,33 +158,6 @@ static gmx_bool in_ftpset(int ftp, int nset, const int set[])
 }
 
 
-
-extern void gmx_fio_set_comment(t_fileio *fio, const char *comment)
-{
-    fio->comment = comment;
-}
-
-extern void gmx_fio_unset_comment(t_fileio *fio)
-{
-    fio->comment = NULL;
-}
-
-
-const char *gmx_fio_dbgstr(t_fileio *fio, const char *desc, char *buf)
-{
-    if (!fio->bDebug)
-    {
-        /* set to empty string */
-        buf[0] = 0;
-    }
-    else
-    {
-        snprintf(buf, GMX_FIO_BUFLEN, "  ; %s %s", fio->comment ? fio->comment : "", desc);
-    }
-    return buf;
-}
-
-
 /* check the number of items given against the type */
 void gmx_fio_check_nitem(int eio, int nitem, const char *file, int line)
 {
@@ -199,26 +188,8 @@ static void gmx_fio_set_iotype(t_fileio *fio)
 {
     if (in_ftpset(fio->iFTP, asize(ftpXDR), ftpXDR))
     {
-#ifdef USE_XDR
         fio->iotp = &xdr_iotype;
-#else
-        gmx_fatal(FARGS, "Sorry, no XDR");
-#endif
-    }
-    else if (in_ftpset(fio->iFTP, asize(ftpASC), ftpASC))
-    {
-        fio->iotp = &asc_iotype;
     }
-    else if (in_ftpset(fio->iFTP, asize(ftpBIN), ftpBIN))
-    {
-        fio->iotp = &bin_iotype;
-    }
-#ifdef HAVE_XMl
-    else if (in_ftpset(fio->iFTP, asize(ftpXML), ftpXML))
-    {
-        fio->iotp = &dummy_iotype;
-    }
-#endif
     else
     {
         fio->iotp = &dummy_iotype;
@@ -451,9 +422,12 @@ t_fileio *gmx_fio_open(const char *fn, const char *mode)
     fio->xdr   = NULL;
     if (fn)
     {
+        if (fn2ftp(fn) == efTNG)
+        {
+            gmx_incons("gmx_fio_open may not be used to open TNG files");
+        }
         fio->iFTP   = fn2ftp(fn);
         fio->fn     = gmx_strdup(fn);
-        fio->bStdio = FALSE;
 
         /* If this file type is in the list of XDR files, open it like that */
         if (in_ftpset(fio->iFTP, asize(ftpXDR), ftpXDR))
@@ -476,10 +450,6 @@ t_fileio *gmx_fio_open(const char *fn, const char *mode)
                     gmx_open(fn);
                 }
             }
-            if (fn2ftp(fn) == efTNG)
-            {
-                gmx_incons("gmx_fio_open may not be used to open TNG files");
-            }
             /* Open the file */
             fio->fp = gmx_ffopen(fn, newmode);
 
@@ -538,8 +508,7 @@ static int gmx_fio_close_locked(t_fileio *fio)
         sfree(fio->xdr);
     }
 
-    /* Don't close stdin and stdout! */
-    if (!fio->bStdio && fio->fp != NULL)
+    if (fio->fp != NULL)
     {
         rc = gmx_ffclose(fio->fp); /* fclose returns 0 if happy */
 
@@ -580,7 +549,7 @@ int gmx_fio_fp_close(t_fileio *fio)
 {
     int rc = 0;
     gmx_fio_lock(fio);
-    if (!in_ftpset(fio->iFTP, asize(ftpXDR), ftpXDR) && !fio->bStdio)
+    if (!in_ftpset(fio->iFTP, asize(ftpXDR), ftpXDR))
     {
         rc      = gmx_ffclose(fio->fp); /* fclose returns 0 if happy */
         fio->fp = NULL;
@@ -781,12 +750,7 @@ int gmx_fio_get_output_file_positions(gmx_file_position_t **p_outputfiles,
     {
         /* Skip the checkpoint files themselves, since they could be open when
            we call this routine... */
-        /* also skip debug files (shoud be the only iFTP==efNR) */
-        if (cur->bOpen &&
-            !cur->bRead &&
-            !cur->bStdio &&
-            cur->iFTP != efCPT &&
-            cur->iFTP != efNR)
+        if (cur->bOpen && !cur->bRead && cur->iFTP != efCPT)
         {
             int ret;
             /* This is an output file currently open for writing, add it */
@@ -824,20 +788,6 @@ void gmx_fio_checktype(t_fileio *fio)
     {
         return;
     }
-    else if (in_ftpset(fio->iFTP, asize(ftpASC), ftpASC))
-    {
-        return;
-    }
-    else if (in_ftpset(fio->iFTP, asize(ftpBIN), ftpBIN))
-    {
-        return;
-    }
-#ifdef HAVE_XMl
-    else if (in_ftpset(fio->iFTP, asize(ftpXML), ftpXML))
-    {
-        return;
-    }
-#endif
     else
     {
         gmx_fatal(FARGS, "Can not read/write topologies to file type %s",
@@ -854,17 +804,6 @@ void gmx_fio_setprecision(t_fileio *fio, gmx_bool bDouble)
     gmx_fio_unlock(fio);
 }
 
-gmx_bool gmx_fio_getdebug(t_fileio *fio)
-{
-    gmx_bool ret;
-
-    gmx_fio_lock(fio);
-    ret = fio->bDebug;
-    gmx_fio_unlock(fio);
-
-    return ret;
-}
-
 void gmx_fio_setdebug(t_fileio *fio, gmx_bool bDebug)
 {
     gmx_fio_lock(fio);
@@ -965,11 +904,7 @@ t_fileio *gmx_fio_all_output_fsync(void)
     cur = gmx_fio_get_first();
     while (cur)
     {
-        /* skip debug files (shoud be the only iFTP==efNR) */
-        if (cur->bOpen &&
-            !cur->bRead &&
-            !cur->bStdio &&
-            cur->iFTP != efNR)
+        if (cur->bOpen && !cur->bRead)
         {
             /* if any of them fails, return failure code */
             int rc = gmx_fio_int_fsync(cur);
@@ -1065,17 +1000,6 @@ gmx_bool gmx_fio_getread(t_fileio* fio)
     return ret;
 }
 
-int xtc_seek_frame(t_fileio *fio, int frame, int natoms)
-{
-    int ret;
-
-    gmx_fio_lock(fio);
-    ret = xdr_xtc_seek_frame(frame, fio->fp, fio->xdr, natoms);
-    gmx_fio_unlock(fio);
-
-    return ret;
-}
-
 int xtc_seek_time(t_fileio *fio, real time, int natoms, gmx_bool bSeekForwardOnly)
 {
     int ret;
index bc656d2ef98fda4fbaae00711778d25d4d713078..21116b765d90e85b01f288fbe6945ce675451b0a 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
  * Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013,2014, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014,2015, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -50,13 +50,6 @@ extern "C" {
 #endif
 /* types */
 
-
-/* Enumerated for different items in files */
-enum {
-    eitemHEADER, eitemIR, eitemBOX,
-    eitemTOP, eitemX, eitemV, eitemF, eitemNR
-};
-
 /* Enumerated for data types in files */
 enum {
     eioREAL, eioFLOAT, eioDOUBLE, eioINT, eioINT64,
@@ -127,9 +120,6 @@ int gmx_fio_getftp(t_fileio *fio);
 void gmx_fio_setdebug(t_fileio *fio, gmx_bool bDebug);
 /* Set the debug mode */
 
-gmx_bool gmx_fio_getdebug(t_fileio *fio);
-/* Return  whether debug mode is on in fio  */
-
 gmx_bool gmx_fio_getread(t_fileio *fio);
 /* Return  whether read mode is on in fio  */
 
@@ -206,65 +196,14 @@ int gmx_fio_get_file_md5(t_fileio *fio, gmx_off_t offset,
                          unsigned char digest[]);
 
 
-int xtc_seek_frame(t_fileio *fio, int frame, int natoms);
-
 int xtc_seek_time(t_fileio *fio, real time, int natoms, gmx_bool bSeekForwardOnly);
 
 
-/* Add this to the comment string for debugging */
-void gmx_fio_set_comment(t_fileio *fio, const char *comment);
-
-/* Remove previously set comment */
-void gmx_fio_unset_comment(t_fileio *fio);
-
-
-
-
 /********************************************************
  * Read and write
  ********************************************************/
 
 
-/* basic reading & writing */
-gmx_bool gmx_fio_reade_real(t_fileio *fio, real *item,
-                            const char *desc, const char *srcfile, int line);
-gmx_bool gmx_fio_reade_float(t_fileio *fio, float *item,
-                             const char *desc, const char *srcfile, int line);
-gmx_bool gmx_fio_reade_double(t_fileio *fio, double *item,
-                              const char *desc, const char *srcfile, int line);
-gmx_bool gmx_fio_reade_int(t_fileio *fio, int *item,
-                           const char *desc, const char *srcfile, int line);
-gmx_bool gmx_fio_reade_int64(t_fileio *fio, gmx_int64_t *item,
-                             const char *desc, const char *srcfile, int line);
-gmx_bool gmx_fio_reade_uchar(t_fileio *fio, unsigned char *item,
-                             const char *desc, const char *srcfile, int line);
-gmx_bool gmx_fio_reade_ushort(t_fileio *fio, unsigned short *item,
-                              const char *desc, const char *srcfile, int line);
-gmx_bool gmx_fio_reade_rvec(t_fileio *fio, rvec *item,
-                            const char *desc, const char *srcfile, int line);
-gmx_bool gmx_fio_reade_ivec(t_fileio *fio, ivec *item,
-                            const char *desc, const char *srcfile, int line);
-gmx_bool gmx_fio_reade_string(t_fileio *fio, char *item,
-                              const char *desc, const char *srcfile, int line);
-
-gmx_bool gmx_fio_writee_real(t_fileio *fio, real item,
-                             const char *desc, const char *srcfile, int line);
-gmx_bool gmx_fio_writee_float(t_fileio *fio, float item,
-                              const char *desc, const char *srcfile, int line);
-gmx_bool gmx_fio_writee_double(t_fileio *fio, double item,
-                               const char *desc, const char *srcfile, int line);
-gmx_bool gmx_fio_writee_int(t_fileio *fio, int item,
-                            const char *desc, const char *srcfile, int line);
-gmx_bool gmx_fio_writee_int64(t_fileio *fio, gmx_int64_t item,
-                              const char *desc, const char *srcfile, int line);
-gmx_bool gmx_fio_writee_uchar(t_fileio *fio, unsigned char item,
-                              const char *desc, const char *srcfile, int line);
-gmx_bool gmx_fio_writee_ushort(t_fileio *fio, unsigned short item,
-                               const char *desc, const char *srcfile, int line);
-gmx_bool gmx_fio_writee_rvec(t_fileio *fio, rvec *item,
-                             const char *desc, const char *srcfile, int line);
-gmx_bool gmx_fio_writee_ivec(t_fileio *fio, ivec *item,
-                             const char *desc, const char *srcfile, int line);
 gmx_bool gmx_fio_writee_string(t_fileio *fio, const char *item,
                                const char *desc, const char *srcfile, int line);
 
@@ -292,55 +231,7 @@ gmx_bool gmx_fio_doe_ivec(t_fileio *fio, ivec *item,
 gmx_bool gmx_fio_doe_string(t_fileio *fio, char *item,
                             const char *desc, const char *srcfile, int line);
 
-
-
-
 /* array reading & writing */
-gmx_bool gmx_fio_nreade_real(t_fileio *fio, real *item, int n,
-                             const char *desc, const char *srcfile, int line);
-gmx_bool gmx_fio_nreade_float(t_fileio *fio, float *item, int n,
-                              const char *desc, const char *srcfile, int line);
-gmx_bool gmx_fio_nreade_double(t_fileio *fio, double *item, int n,
-                               const char *desc, const char *srcfile, int line);
-gmx_bool gmx_fio_nreade_int(t_fileio *fio, int *item, int n,
-                            const char *desc, const char *srcfile, int line);
-gmx_bool gmx_fio_nreade_int64(t_fileio *fio, gmx_int64_t *item, int n,
-                              const char *desc, const char *srcfile,
-                              int line);
-gmx_bool gmx_fio_nreade_uchar(t_fileio *fio, unsigned char *item, int n,
-                              const char *desc, const char *srcfile, int line);
-gmx_bool gmx_fio_nreade_ushort(t_fileio *fio, unsigned short *item, int n,
-                               const char *desc, const char *srcfile, int line);
-gmx_bool gmx_fio_nreade_rvec(t_fileio *fio, rvec *item, int n,
-                             const char *desc, const char *srcfile, int line);
-gmx_bool gmx_fio_nreade_ivec(t_fileio *fio, ivec *item, int n,
-                             const char *desc, const char *srcfile, int line);
-gmx_bool gmx_fio_nreade_string(t_fileio *fio, char *item[], int n,
-                               const char *desc, const char *srcfile, int line);
-
-gmx_bool gmx_fio_nwritee_real(t_fileio *fio, const real *item, int n,
-                              const char *desc, const char *srcfile, int line);
-gmx_bool gmx_fio_nwritee_float(t_fileio *fio, const float *item, int n,
-                               const char *desc, const char *srcfile, int line);
-gmx_bool gmx_fio_nwritee_double(t_fileio *fio, const double *item, int n,
-                                const char *desc, const char *srcfile, int line);
-gmx_bool gmx_fio_nwritee_int(t_fileio *fio, const int *item, int n,
-                             const char *desc, const char *srcfile, int line);
-gmx_bool gmx_fio_nwritee_int64(t_fileio *fio,
-                               const gmx_int64_t *item, int n,
-                               const char *desc, const char *srcfile,
-                               int line);
-gmx_bool gmx_fio_nwritee_uchar(t_fileio *fio, const unsigned char *item, int n,
-                               const char *desc, const char *srcfile, int line);
-gmx_bool gmx_fio_nwritee_ushort(t_fileio *fio, const unsigned short *item, int n,
-                                const char *desc, const char *srcfile, int line);
-gmx_bool gmx_fio_nwritee_rvec(t_fileio *fio, const rvec *item, int n,
-                              const char *desc, const char *srcfile, int line);
-gmx_bool gmx_fio_nwritee_ivec(t_fileio *fio, const ivec *item, int n,
-                              const char *desc, const char *srcfile, int line);
-gmx_bool gmx_fio_nwritee_string(t_fileio *fio, const char *item[], int n,
-                                const char *desc, const char *srcfile, int line);
-
 gmx_bool gmx_fio_ndoe_real(t_fileio *fio, real *item, int n,
                            const char *desc, const char *srcfile, int line);
 gmx_bool gmx_fio_ndoe_float(t_fileio *fio, float *item, int n,
@@ -368,26 +259,6 @@ gmx_bool gmx_fio_ndoe_string(t_fileio *fio, char *item[], int n,
 
 
 /* convenience macros */
-#define gmx_fio_read_real(fio, item)           gmx_fio_reade_real(fio, &item, (#item), __FILE__, __LINE__)
-#define gmx_fio_read_float(fio, item)          gmx_fio_reade_float(fio, &item, (#item), __FILE__, __LINE__)
-#define gmx_fio_read_double(fio, item)         gmx_fio_reade_double(fio, &item, (#item), __FILE__, __LINE__)
-#define gmx_fio_read_int(fio, item)            gmx_fio_reade_int(fio, &item, (#item), __FILE__, __LINE__)
-#define gmx_fio_read_int64(fio, item)          gmx_fio_reade_int64(fio, &item, (#item), __FILE__, __LINE__)
-#define gmx_fio_read_uchar(fio, item)          gmx_fio_reade_uchar(fio, &item, (#item), __FILE__, __LINE__)
-#define gmx_fio_read_ushort(fio, item)         gmx_fio_reade_ushort(fio, &item, (#item), __FILE__, __LINE__)
-#define gmx_fio_read_rvec(fio, item)           gmx_fio_reade_rvec(fio, item, (#item), __FILE__, __LINE__)
-#define gmx_fio_read_ivec(fio, item)           gmx_fio_reade_ivec(fio, item, (#item), __FILE__, __LINE__)
-#define gmx_fio_read_string(fio, item)         gmx_fio_reade_string(fio, item, (#item), __FILE__, __LINE__)
-
-#define gmx_fio_write_real(fio, item)           gmx_fio_writee_real(fio, item, (#item), __FILE__, __LINE__)
-#define gmx_fio_write_float(fio, item)          gmx_fio_writee_float(fio, item, (#item), __FILE__, __LINE__)
-#define gmx_fio_write_double(fio, item)         gmx_fio_writee_double(fio, item, (#item), __FILE__, __LINE__)
-#define gmx_fio_write_int(fio, item)            gmx_fio_writee_int(fio, item, (#item), __FILE__, __LINE__)
-#define gmx_fio_write_int64(fio, item)          gmx_fio_writee_int64(fio, item, (#item), __FILE__, __LINE__)
-#define gmx_fio_write_uchar(fio, item)          gmx_fio_writee_uchar(fio, item, (#item), __FILE__, __LINE__)
-#define gmx_fio_write_ushort(fio, item)         gmx_fio_writee_ushort(fio, item, (#item), __FILE__, __LINE__)
-#define gmx_fio_write_rvec(fio, item)           gmx_fio_writee_rvec(fio, item, (#item), __FILE__, __LINE__)
-#define gmx_fio_write_ivec(fio, item)           gmx_fio_writee_ivec(fio, item, (#item), __FILE__, __LINE__)
 #define gmx_fio_write_string(fio, item)         gmx_fio_writee_string(fio, item, (#item), __FILE__, __LINE__)
 
 #define gmx_fio_do_real(fio, item)              gmx_fio_doe_real(fio, &item, (#item), __FILE__, __LINE__)
@@ -403,30 +274,6 @@ gmx_bool gmx_fio_ndoe_string(t_fileio *fio, char *item[], int n,
 #define gmx_fio_do_string(fio, item)            gmx_fio_doe_string(fio, item, (#item), __FILE__, __LINE__)
 
 
-
-
-#define gmx_fio_nread_real(fio, item, n)            gmx_fio_nreade_real(fio, item, n, (#item), __FILE__, __LINE__)
-#define gmx_fio_nread_float(fio, item, n)           gmx_fio_nreade_float(fio, item, n, (#item), __FILE__, __LINE__)
-#define gmx_fio_nread_double(fio, item, n)          gmx_fio_nreade_double(fio, item, n, (#item), __FILE__, __LINE__)
-#define gmx_fio_nread_int(fio, item, n)             gmx_fio_nreade_int(fio, item, n, (#item), __FILE__, __LINE__)
-#define gmx_fio_nread_int64(fio, item, n)           gmx_fio_nreade_int64(fio, item, n, (#item), __FILE__, __LINE__)
-#define gmx_fio_nread_uchar(fio, item, n)           gmx_fio_nreade_uchar(fio, item, n, (#item), __FILE__, __LINE__)
-#define gmx_fio_nread_ushort(fio, item, n)          gmx_fio_nreade_ushort(fio, item, n, (#item), __FILE__, __LINE__)
-#define gmx_fio_nread_rvec(fio, item, n)            gmx_fio_nreade_rvec(fio, item, n, (#item), __FILE__, __LINE__)
-#define gmx_fio_nread_ivec(fio, item, n)            gmx_fio_nreade_ivec(fio, item, n, (#item), __FILE__, __LINE__)
-#define gmx_fio_nread_string(fio, item, n)          gmx_fio_nreade_string(fio, item, n, (#item), __FILE__, __LINE__)
-
-#define gmx_fio_nwrite_real(fio, item, n)           gmx_fio_nwritee_real(fio, item, n, (#item), __FILE__, __LINE__)
-#define gmx_fio_nwrite_float(fio, item, n)          gmx_fio_nwritee_float(fio, item, n, (#item), __FILE__, __LINE__)
-#define gmx_fio_nwrite_double(fio, item, n)         gmx_fio_nwritee_double(fio, item, n, (#item), __FILE__, __LINE__)
-#define gmx_fio_nwrite_int(fio, item, n)            gmx_fio_nwritee_int(fio, item, n, (#item), __FILE__, __LINE__)
-#define gmx_fio_nwrite_int64(fio, item, n)          gmx_fio_nwritee_int64(fio, item, n, (#item), __FILE__, __LINE__)
-#define gmx_fio_nwrite_uchar(fio, item, n)          gmx_fio_nwritee_uchar(fio, item, n, (#item), __FILE__, __LINE__)
-#define gmx_fio_nwrite_ushort(fio, item, n)         gmx_fio_nwritee_ushort(fio, item, n, (#item), __FILE__, __LINE__)
-#define gmx_fio_nwrite_rvec(fio, item, n)           gmx_fio_nwritee_rvec(fio, item, n, (#item), __FILE__, __LINE__)
-#define gmx_fio_nwrite_ivec(fio, item, n)           gmx_fio_nwritee_ivec(fio, item, n, (#item), __FILE__, __LINE__)
-#define gmx_fio_nwrite_string(fio, item, n)         gmx_fio_nwritee_string(fio, item, n, (#item), __FILE__, __LINE__)
-
 #define gmx_fio_ndo_real(fio, item, n)              gmx_fio_ndoe_real(fio, item, n, (#item), __FILE__, __LINE__)
 #define gmx_fio_ndo_float(fio, item, n)             gmx_fio_ndoe_float(fio, item, n, (#item), __FILE__, __LINE__)
 #define gmx_fio_ndo_double(fio, item, n)            gmx_fio_ndoe_double(fio, item, n, (#item), __FILE__, __LINE__)
diff --git a/src/gromacs/fileio/gmxfio_asc.c b/src/gromacs/fileio/gmxfio_asc.c
deleted file mode 100644 (file)
index a451b0c..0000000
+++ /dev/null
@@ -1,408 +0,0 @@
-/*
- * This file is part of the GROMACS molecular simulation package.
- *
- * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
- * Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013,2014, by the GROMACS development team, led by
- * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
- * and including many others, as listed in the AUTHORS file in the
- * top-level source directory and at http://www.gromacs.org.
- *
- * GROMACS is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1
- * of the License, or (at your option) any later version.
- *
- * GROMACS is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with GROMACS; if not, see
- * http://www.gnu.org/licenses, or write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA.
- *
- * If you want to redistribute modifications to GROMACS, please
- * consider that scientific software is very special. Version
- * control is crucial - bugs must be traceable. We will be happy to
- * consider code for inclusion in the official distribution, but
- * derived work must not be called official GROMACS. Details are found
- * in the README & COPYING files - if they are missing, get the
- * official version at http://www.gromacs.org.
- *
- * To help us fund GROMACS development, we humbly ask that you cite
- * the research papers on the package. Check out http://www.gromacs.org.
- */
-#include "gmxpre.h"
-
-#include "config.h"
-
-#include <assert.h>
-#include <ctype.h>
-#include <errno.h>
-#include <stdio.h>
-#include <string.h>
-
-#ifdef HAVE_IO_H
-#include <io.h>
-#endif
-
-#include "gromacs/fileio/filenm.h"
-#include "gromacs/fileio/gmxfio.h"
-#include "gromacs/fileio/gmxfio_int.h"
-#include "gromacs/fileio/md5.h"
-#include "gromacs/legacyheaders/macros.h"
-#include "gromacs/utility/cstringutil.h"
-#include "gromacs/utility/fatalerror.h"
-#include "gromacs/utility/futil.h"
-#include "gromacs/utility/smalloc.h"
-
-
-/* This is the part that reads dummy and ascii files.  */
-
-
-
-
-/* file type functions */
-static gmx_bool do_ascread(t_fileio *fio, void *item, int nitem, int eio,
-                           const char *desc, const char *srcfile, int line);
-static gmx_bool do_ascwrite(t_fileio *fio, const void *item, int nitem, int eio,
-                            const char *desc, const char *srcfile, int line);
-static gmx_bool do_dummyread(t_fileio *fio, void *item, int nitem, int eio,
-                             const char *desc, const char *srcfile, int line);
-static gmx_bool do_dummywrite(t_fileio *fio, const void *item, int nitem, int eio,
-                              const char *desc, const char *srcfile, int line);
-
-
-const t_iotype asc_iotype = {do_ascread, do_ascwrite};
-const t_iotype dummy_iotype = {do_dummyread, do_dummywrite};
-
-
-
-
-
-
-static gmx_bool do_dummyread(t_fileio gmx_unused *fio, void gmx_unused *item, int gmx_unused nitem, int gmx_unused eio,
-                             const char gmx_unused *desc, const char gmx_unused *srcfile, int gmx_unused line)
-{
-    gmx_fatal(FARGS, "File type not set!");
-    return FALSE;
-}
-
-static gmx_bool do_dummywrite(t_fileio gmx_unused *fio, const void gmx_unused *item, int gmx_unused nitem, int gmx_unused eio,
-                              const char gmx_unused *desc, const char gmx_unused *srcfile, int gmx_unused line)
-{
-    gmx_fatal(FARGS, "File type not set!");
-    return FALSE;
-}
-
-
-
-static void encode_string(int maxlen, char dst[], const char src[])
-{
-    int i;
-
-    for (i = 0; (i < maxlen - 1) && (src[i] != '\0'); i++)
-    {
-        if ((src[i] == ' ') || (src[i] == '\t'))
-        {
-            dst[i] = '_';
-        }
-        else
-        {
-            dst[i] = src[i];
-        }
-    }
-    dst[i] = '\0';
-
-    if (i == maxlen)
-    {
-        fprintf(stderr, "String '%s' truncated to '%s'\n", src, dst);
-    }
-}
-
-static void decode_string(int maxlen, char dst[], const char src[])
-{
-    int i;
-
-    for (i = 0; (i < maxlen - 1) && (src[i] != '\0'); i++)
-    {
-        if (src[i] == '_')
-        {
-            dst[i] = ' ';
-        }
-        else
-        {
-            dst[i] = src[i];
-        }
-    }
-    dst[i] = '\0';
-
-    if (i == maxlen)
-    {
-        fprintf(stderr, "String '%s' truncated to '%s'\n", src, dst);
-    }
-}
-
-static gmx_bool do_ascwrite(t_fileio *fio, const void *item, int nitem, int eio,
-                            const char *desc, const char *srcfile, int line)
-{
-    int            i;
-    int            res = 0, *iptr;
-    real          *ptr;
-    char           strbuf[256];
-    char           buf[GMX_FIO_BUFLEN];
-    unsigned char *ucptr;
-    FILE          *fp = fio->fp;
-
-    gmx_fio_check_nitem(eio, nitem, srcfile, line);
-    switch (eio)
-    {
-        case eioREAL:
-        case eioFLOAT:
-        case eioDOUBLE:
-            res = fprintf(fp, "%18.10e%s\n", *((real *) item),
-                          gmx_fio_dbgstr(fio, desc, buf));
-            break;
-        case eioINT:
-            res = fprintf(fp, "%18d%s\n", *((int *) item), gmx_fio_dbgstr(fio,
-                                                                          desc,
-                                                                          buf));
-            break;
-        case eioINT64:
-            sprintf(strbuf, "%s%s%s", "%", GMX_PRId64, "\n");
-            res = fprintf(fp, strbuf, *((gmx_int64_t *) item),
-                          gmx_fio_dbgstr(fio, desc, buf));
-            break;
-        case eioUCHAR:
-            res = fprintf(fp, "%4d%s\n", *((unsigned char *) item),
-                          gmx_fio_dbgstr(fio, desc, buf));
-            break;
-        case eioNUCHAR:
-            ucptr = (unsigned char *) item;
-            for (i = 0; (i < nitem); i++)
-            {
-                res = fprintf(fp, "%4d", (int) ucptr[i]);
-            }
-            fprintf(fio->fp, "%s\n", gmx_fio_dbgstr(fio, desc, buf));
-            break;
-        case eioUSHORT:
-            res = fprintf(fp, "%18d%s\n", *((unsigned short *) item),
-                          gmx_fio_dbgstr(fio, desc, buf));
-            break;
-        case eioRVEC:
-            ptr = (real *) item;
-            res = fprintf(fp, "%18.10e%18.10e%18.10e%s\n", ptr[XX],
-                          ptr[YY], ptr[ZZ], gmx_fio_dbgstr(fio, desc, buf));
-            break;
-        case eioNRVEC:
-            for (i = 0; (i < nitem); i++)
-            {
-                ptr = ((rvec *) item)[i];
-                res = fprintf(fp, "%18.10e%18.10e%18.10e%s\n", ptr[XX],
-                              ptr[YY], ptr[ZZ], gmx_fio_dbgstr(fio, desc, buf));
-            }
-            break;
-        case eioIVEC:
-            iptr = (int *) item;
-            res  = fprintf(fp, "%18d%18d%18d%s\n", iptr[XX], iptr[YY],
-                           iptr[ZZ], gmx_fio_dbgstr(fio, desc, buf));
-            break;
-        case eioSTRING:
-            encode_string(256, strbuf, (char *) item);
-            res = fprintf(fp, "%-18s%s\n", strbuf, gmx_fio_dbgstr(fio, desc, buf));
-            break;
-        default:
-            gmx_fio_fe(fio, eio, desc, srcfile, line);
-    }
-    if ((res <= 0) && fio->bDebug)
-    {
-        fprintf(stderr,
-                "Error writing %s %s to file %s (source %s, line %d)\n",
-                eioNames[eio], desc, fio->fn, srcfile, line);
-    }
-
-    return (res > 0);
-}
-
-
-static char *next_item(FILE *fp, char *buf, int buflen)
-{
-    int      rd;
-    gmx_bool in_comment = FALSE;
-    gmx_bool in_token   = FALSE;
-    int      i          = 0;
-    /* This routine reads strings from the file fp, strips comment
-     * and buffers. For thread-safety reasons, It reads through getc()  */
-
-    rd = getc(fp);
-    if (rd == EOF)
-    {
-        gmx_file("End of file");
-    }
-    do
-    {
-        if (in_comment)
-        {
-            if (rd == '\n')
-            {
-                in_comment = FALSE;
-            }
-        }
-        else if (in_token)
-        {
-            if (isspace(rd) || rd == ';')
-            {
-                break;
-            }
-            buf[i++] = (char) rd;
-        }
-        else
-        {
-            if (!isspace(rd))
-            {
-                if (rd == ';')
-                {
-                    in_comment = TRUE;
-                }
-                else
-                {
-                    in_token = TRUE;
-                    buf[i++] = (char) (rd);
-                }
-            }
-        }
-        if (i >= buflen - 2)
-        {
-            break;
-        }
-    }
-    while ((rd = getc(fp)) != EOF);
-
-    fprintf(stderr, "WARNING, ftpASC file type not tested!\n");
-
-    buf[i] = 0;
-
-    return buf;
-}
-
-static gmx_bool do_ascread(t_fileio *fio, void *item, int nitem, int eio,
-                           const char *desc, const char *srcfile, int line)
-{
-    FILE           *fp = fio->fp;
-    int             i, m, res = 0, *iptr, ix;
-    gmx_int64_t     s;
-    double          d, x;
-    char            c;
-    real           *ptr;
-    unsigned char  *ucptr;
-    char           *cptr;
-#define NEXT_ITEM_BUF_LEN 128
-    char            ni_buf[NEXT_ITEM_BUF_LEN];
-
-    gmx_fio_check_nitem(eio, nitem, srcfile, line);
-    switch (eio)
-    {
-        case eioREAL:
-        case eioFLOAT:
-        case eioDOUBLE:
-            res = sscanf(next_item(fp, ni_buf, NEXT_ITEM_BUF_LEN), "%lf", &d);
-            if (item)
-            {
-                *((real *) item) = d;
-            }
-            break;
-        case eioINT:
-            res = sscanf(next_item(fp, ni_buf, NEXT_ITEM_BUF_LEN), "%d", &i);
-            if (item)
-            {
-                *((int *) item) = i;
-            }
-            break;
-        case eioINT64:
-            res = sscanf(next_item(fp, ni_buf, NEXT_ITEM_BUF_LEN),
-                         "%"GMX_SCNd64, &s);
-            if (item)
-            {
-                *((gmx_int64_t *) item) = s;
-            }
-            break;
-        case eioUCHAR:
-            res = sscanf(next_item(fp, ni_buf, NEXT_ITEM_BUF_LEN), "%c", &c);
-            if (item)
-            {
-                *((unsigned char *) item) = (unsigned char)c;
-            }
-            break;
-        case eioNUCHAR:
-            ucptr = (unsigned char *) item;
-            for (i = 0; (i < nitem); i++)
-            {
-                res = sscanf(next_item(fp, ni_buf, NEXT_ITEM_BUF_LEN), "%d", &ix);
-                if (item)
-                {
-                    ucptr[i] = ix;
-                }
-            }
-            break;
-        case eioUSHORT:
-            res = sscanf(next_item(fp, ni_buf, NEXT_ITEM_BUF_LEN), "%d", &i);
-            if (item)
-            {
-                *((unsigned short *) item) = i;
-            }
-            break;
-        case eioRVEC:
-            ptr = (real *) item;
-            for (m = 0; (m < DIM); m++)
-            {
-                res    = sscanf(next_item(fp, ni_buf, NEXT_ITEM_BUF_LEN), "%lf\n", &x);
-                ptr[m] = x;
-            }
-            break;
-        case eioNRVEC:
-            assert(item);
-            for (i = 0; (i < nitem); i++)
-            {
-                ptr = ((rvec *) item)[i];
-                for (m = 0; (m < DIM); m++)
-                {
-                    res = sscanf(next_item(fp, ni_buf, NEXT_ITEM_BUF_LEN), "%lf\n",
-                                 &x);
-                    ptr[m] = x;
-                }
-            }
-            break;
-        case eioIVEC:
-            iptr = (int *) item;
-            for (m = 0; (m < DIM); m++)
-            {
-                res = sscanf(next_item(fp, ni_buf, NEXT_ITEM_BUF_LEN), "%d\n", &ix);
-                if (item)
-                {
-                    iptr[m] = ix;
-                }
-            }
-            break;
-        case eioSTRING:
-            cptr = next_item(fp, ni_buf, NEXT_ITEM_BUF_LEN);
-            if (item)
-            {
-                decode_string(strlen(cptr) + 1, (char *) item, cptr);
-                /* res = sscanf(cptr,"%s",(char *)item);*/
-                res = 1;
-            }
-            break;
-        default:
-            gmx_fio_fe(fio, eio, desc, srcfile, line);
-    }
-
-    if ((res <= 0) && fio->bDebug)
-    {
-        fprintf(stderr,
-                "Error reading %s %s from file %s (source %s, line %d)\n",
-                eioNames[eio], desc, fio->fn, srcfile, line);
-    }
-    return (res > 0);
-}
diff --git a/src/gromacs/fileio/gmxfio_bin.c b/src/gromacs/fileio/gmxfio_bin.c
deleted file mode 100644 (file)
index 9238af5..0000000
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- * This file is part of the GROMACS molecular simulation package.
- *
- * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
- * Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013,2014, by the GROMACS development team, led by
- * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
- * and including many others, as listed in the AUTHORS file in the
- * top-level source directory and at http://www.gromacs.org.
- *
- * GROMACS is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1
- * of the License, or (at your option) any later version.
- *
- * GROMACS is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with GROMACS; if not, see
- * http://www.gnu.org/licenses, or write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA.
- *
- * If you want to redistribute modifications to GROMACS, please
- * consider that scientific software is very special. Version
- * control is crucial - bugs must be traceable. We will be happy to
- * consider code for inclusion in the official distribution, but
- * derived work must not be called official GROMACS. Details are found
- * in the README & COPYING files - if they are missing, get the
- * official version at http://www.gromacs.org.
- *
- * To help us fund GROMACS development, we humbly ask that you cite
- * the research papers on the package. Check out http://www.gromacs.org.
- */
-#include "gmxpre.h"
-
-#include "config.h"
-
-#include <errno.h>
-#include <stdio.h>
-#include <string.h>
-
-#ifdef HAVE_IO_H
-#include <io.h>
-#endif
-
-#include "gromacs/fileio/filenm.h"
-#include "gromacs/fileio/gmxfio.h"
-#include "gromacs/fileio/gmxfio_int.h"
-#include "gromacs/fileio/md5.h"
-#include "gromacs/legacyheaders/macros.h"
-#include "gromacs/utility/futil.h"
-#include "gromacs/utility/smalloc.h"
-
-/* This is the part that reads dummy and ascii files.  */
-
-
-static gmx_bool do_binread(t_fileio *fio, void *item, int nitem, int eio,
-                           const char *desc, const char *srcfile, int line);
-static gmx_bool do_binwrite(t_fileio *fio, const void *item, int nitem, int eio,
-                            const char *desc, const char *srcfile, int line);
-
-
-const t_iotype bin_iotype = {do_binread, do_binwrite};
-
-
-static gmx_bool do_binwrite(t_fileio *fio, const void *item, int nitem, int eio,
-                            const char *desc, const char *srcfile, int line)
-{
-    size_t size = 0, wsize;
-    int    ssize;
-
-    gmx_fio_check_nitem(eio, nitem, srcfile, line);
-    switch (eio)
-    {
-        case eioREAL:
-            size = sizeof(real);
-            break;
-        case eioFLOAT:
-            size = sizeof(float);
-            break;
-        case eioDOUBLE:
-            size = sizeof(double);
-            break;
-        case eioINT:
-            size = sizeof(int);
-            break;
-        case eioINT64:
-            size = sizeof(gmx_int64_t);
-            break;
-        case eioUCHAR:
-            size = sizeof(unsigned char);
-            break;
-        case eioNUCHAR:
-            size = sizeof(unsigned char);
-            break;
-        case eioUSHORT:
-            size = sizeof(unsigned short);
-            break;
-        case eioRVEC:
-            size = sizeof(rvec);
-            break;
-        case eioNRVEC:
-            size = sizeof(rvec);
-            break;
-        case eioIVEC:
-            size = sizeof(ivec);
-            break;
-        case eioSTRING:
-            size = ssize = strlen((char *) item) + 1;
-            do_binwrite(fio, &ssize, 1, eioINT, desc, srcfile, line);
-            break;
-        default:
-            gmx_fio_fe(fio, eio, desc, srcfile, line);
-    }
-
-    wsize = fwrite(item, size, nitem, fio->fp);
-
-    if ((wsize != nitem) && fio->bDebug)
-    {
-        fprintf(stderr,
-                "Error writing %s %s to file %s (source %s, line %d)\n",
-                eioNames[eio], desc, fio->fn, srcfile, line);
-        fprintf(stderr, "written size %u bytes, source size %u bytes\n",
-                (unsigned int) wsize, (unsigned int) size);
-    }
-    return (wsize == nitem);
-}
-
-static gmx_bool do_binread(t_fileio *fio, void *item, int nitem, int eio,
-                           const char *desc, const char *srcfile, int line)
-{
-    size_t size = 0, rsize;
-    int    ssize;
-
-    gmx_fio_check_nitem(eio, nitem, srcfile, line);
-    switch (eio)
-    {
-        case eioREAL:
-            if (fio->bDouble)
-            {
-                size = sizeof(double);
-            }
-            else
-            {
-                size = sizeof(float);
-            }
-            break;
-        case eioFLOAT:
-            size = sizeof(float);
-            break;
-        case eioDOUBLE:
-            size = sizeof(double);
-            break;
-        case eioINT:
-            size = sizeof(int);
-            break;
-        case eioINT64:
-            size = sizeof(gmx_int64_t);
-            break;
-        case eioUCHAR:
-            size = sizeof(unsigned char);
-            break;
-        case eioNUCHAR:
-            size = sizeof(unsigned char);
-            break;
-        case eioUSHORT:
-            size = sizeof(unsigned short);
-            break;
-        case eioRVEC:
-        case eioNRVEC:
-            if (fio->bDouble)
-            {
-                size = sizeof(double) * DIM;
-            }
-            else
-            {
-                size = sizeof(float) * DIM;
-            }
-            break;
-        case eioIVEC:
-            size = sizeof(ivec);
-            break;
-        case eioSTRING:
-            do_binread(fio, &ssize, 1, eioINT, desc, srcfile, line);
-            size = ssize;
-            break;
-        default:
-            gmx_fio_fe(fio, eio, desc, srcfile, line);
-    }
-    if (item)
-    {
-        rsize = fread(item, size, nitem, fio->fp);
-    }
-    else
-    {
-        /* Skip over it if we have a NULL pointer here */
-        gmx_fseek(fio->fp, (gmx_off_t)(size*nitem), SEEK_CUR);
-        rsize = nitem;
-    }
-    if ((rsize != nitem) && (fio->bDebug))
-    {
-        fprintf(stderr,
-                "Error reading %s %s from file %s (source %s, line %d)\n",
-                eioNames[eio], desc, fio->fn, srcfile, line);
-    }
-
-    return (rsize == nitem);
-}
index bdfa1ec4d80b9d3bc2e061dc2becc3f316bfac01..fbe7c5198d7d492140aaba42821c6e577b073e13 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
  * Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013,2014, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014,2015, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
  */
 #include "gmxpre.h"
 
-#include "config.h"
-
-#include <errno.h>
-#include <stdio.h>
-
-#ifdef HAVE_IO_H
-#include <io.h>
-#endif
-
-#include "gromacs/fileio/filenm.h"
 #include "gromacs/fileio/gmxfio.h"
-#include "gromacs/fileio/gmxfio_int.h"
-#include "gromacs/fileio/md5.h"
-#include "gromacs/legacyheaders/macros.h"
-#include "gromacs/utility/futil.h"
-#include "gromacs/utility/smalloc.h"
 
+#include "gmxfio-impl.h"
 
 /*******************************************************************
  *
  *
  *******************************************************************/
 
-gmx_bool gmx_fio_reade_real(t_fileio *fio, real *item,
-                            const char *desc, const char *srcfile, int line)
-{
-    gmx_bool ret;
-    gmx_fio_lock(fio);
-    ret = fio->iotp->nread(fio, item, 1, eioREAL, desc, srcfile, line);
-    gmx_fio_unlock(fio);
-    return ret;
-}
-
-gmx_bool gmx_fio_reade_float(t_fileio *fio, float *item,
-                             const char *desc, const char *srcfile, int line)
-{
-    gmx_bool ret;
-    gmx_fio_lock(fio);
-    ret = fio->iotp->nread(fio, item, 1, eioFLOAT, desc, srcfile, line);
-    gmx_fio_unlock(fio);
-    return ret;
-}
-
-
-gmx_bool gmx_fio_reade_double(t_fileio *fio, double *item,
-                              const char *desc, const char *srcfile, int line)
-{
-    gmx_bool ret;
-    gmx_fio_lock(fio);
-    ret = fio->iotp->nread(fio, item, 1, eioDOUBLE, desc, srcfile, line);
-    gmx_fio_unlock(fio);
-    return ret;
-}
-
-gmx_bool gmx_fio_reade_int(t_fileio *fio, int *item,
-                           const char *desc, const char *srcfile, int line)
-{
-    gmx_bool ret;
-    gmx_fio_lock(fio);
-    ret = fio->iotp->nread(fio, item, 1, eioINT, desc, srcfile, line);
-    gmx_fio_unlock(fio);
-    return ret;
-}
-
-gmx_bool gmx_fio_reade_int64(t_fileio *fio, gmx_int64_t *item,
-                             const char *desc, const char *srcfile, int line)
-{
-    gmx_bool ret;
-    gmx_fio_lock(fio);
-    ret = fio->iotp->nread(fio, item, 1, eioINT64, desc, srcfile, line);
-    gmx_fio_unlock(fio);
-    return ret;
-}
-
-gmx_bool gmx_fio_reade_uchar(t_fileio *fio, unsigned char *item,
-                             const char *desc, const char *srcfile, int line)
-{
-    gmx_bool ret;
-    gmx_fio_lock(fio);
-    ret = fio->iotp->nread(fio, item, 1, eioUCHAR, desc, srcfile, line);
-    gmx_fio_unlock(fio);
-    return ret;
-}
-
-
-gmx_bool gmx_fio_reade_ushort(t_fileio *fio, unsigned short *item,
-                              const char *desc, const char *srcfile, int line)
-{
-    gmx_bool ret;
-    gmx_fio_lock(fio);
-    ret = fio->iotp->nread(fio, item, 1, eioUSHORT, desc, srcfile, line);
-    gmx_fio_unlock(fio);
-    return ret;
-}
-
-gmx_bool gmx_fio_reade_rvec(t_fileio *fio, rvec *item,
-                            const char *desc, const char *srcfile, int line)
-{
-    gmx_bool ret;
-    gmx_fio_lock(fio);
-    ret = fio->iotp->nread(fio, item, 1, eioRVEC, desc, srcfile, line);
-    gmx_fio_unlock(fio);
-    return ret;
-}
-
-gmx_bool gmx_fio_reade_ivec(t_fileio *fio, ivec *item,
-                            const char *desc, const char *srcfile, int line)
-{
-    gmx_bool ret;
-    gmx_fio_lock(fio);
-    ret = fio->iotp->nread(fio, item, 1, eioIVEC, desc, srcfile, line);
-    gmx_fio_unlock(fio);
-    return ret;
-}
-
-gmx_bool gmx_fio_reade_string(t_fileio *fio, char *item,
-                              const char *desc, const char *srcfile, int line)
-{
-    gmx_bool ret;
-    gmx_fio_lock(fio);
-    ret = fio->iotp->nread(fio, item, 1, eioSTRING, desc, srcfile, line);
-    gmx_fio_unlock(fio);
-    return ret;
-}
-
-
-/* Write */
-
-gmx_bool gmx_fio_writee_real(t_fileio *fio, real item,
-                             const char *desc, const char *srcfile, int line)
-{
-    gmx_bool ret;
-    gmx_fio_lock(fio);
-    ret = fio->iotp->nwrite(fio, &item, 1, eioREAL, desc, srcfile, line);
-    gmx_fio_unlock(fio);
-    return ret;
-}
-
-gmx_bool gmx_fio_writee_float(t_fileio *fio, float item,
-                              const char *desc, const char *srcfile, int line)
-{
-    gmx_bool ret;
-    gmx_fio_lock(fio);
-    ret = fio->iotp->nwrite(fio, &item, 1, eioFLOAT, desc, srcfile, line);
-    gmx_fio_unlock(fio);
-    return ret;
-}
-
-gmx_bool gmx_fio_writee_double(t_fileio *fio, double item,
-                               const char *desc, const char *srcfile, int line)
-{
-    gmx_bool ret;
-    gmx_fio_lock(fio);
-    ret = fio->iotp->nwrite(fio, &item, 1, eioDOUBLE, desc, srcfile, line);
-    gmx_fio_unlock(fio);
-    return ret;
-}
-
-
-gmx_bool gmx_fio_writee_int(t_fileio *fio, int item,
-                            const char *desc, const char *srcfile, int line)
-{
-    gmx_bool ret;
-    gmx_fio_lock(fio);
-    ret = fio->iotp->nwrite(fio, &item, 1, eioINT, desc, srcfile, line);
-    gmx_fio_unlock(fio);
-    return ret;
-}
-
-gmx_bool gmx_fio_writee_int64(t_fileio *fio, gmx_int64_t item,
-                              const char *desc, const char *srcfile, int line)
-{
-    gmx_bool ret;
-    gmx_fio_lock(fio);
-    ret = fio->iotp->nwrite(fio, &item, 1, eioINT64, desc, srcfile, line);
-    gmx_fio_unlock(fio);
-    return ret;
-}
-
-gmx_bool gmx_fio_writee_uchar(t_fileio *fio, unsigned char item,
-                              const char *desc, const char *srcfile, int line)
-{
-    gmx_bool ret;
-    gmx_fio_lock(fio);
-    ret = fio->iotp->nwrite(fio, &item, 1, eioUCHAR, desc, srcfile, line);
-    gmx_fio_unlock(fio);
-    return ret;
-}
-
-gmx_bool gmx_fio_writee_ushort(t_fileio *fio, unsigned short item,
-                               const char *desc, const char *srcfile, int line)
-{
-    gmx_bool ret;
-    gmx_fio_lock(fio);
-    ret = fio->iotp->nwrite(fio, &item, 1, eioUSHORT, desc, srcfile, line);
-    gmx_fio_unlock(fio);
-    return ret;
-}
-
-gmx_bool gmx_fio_writee_rvec(t_fileio *fio, rvec *item,
-                             const char *desc, const char *srcfile, int line)
-{
-    gmx_bool ret;
-    gmx_fio_lock(fio);
-    ret = fio->iotp->nwrite(fio, item, 1, eioRVEC, desc, srcfile, line);
-    gmx_fio_unlock(fio);
-    return ret;
-}
-
-gmx_bool gmx_fio_writee_ivec(t_fileio *fio, ivec *item,
-                             const char *desc, const char *srcfile, int line)
-{
-    gmx_bool ret;
-    gmx_fio_lock(fio);
-    ret = fio->iotp->nwrite(fio, item, 1, eioIVEC, desc, srcfile, line);
-    gmx_fio_unlock(fio);
-    return ret;
-}
-
 gmx_bool gmx_fio_writee_string(t_fileio *fio, const char *item,
                                const char *desc, const char *srcfile, int line)
 {
@@ -266,10 +56,6 @@ gmx_bool gmx_fio_writee_string(t_fileio *fio, const char *item,
     return ret;
 }
 
-
-
-/* Read/write functions */
-
 gmx_bool gmx_fio_doe_real(t_fileio *fio, real *item,
                           const char *desc, const char *srcfile, int line)
 {
@@ -464,303 +250,8 @@ gmx_bool gmx_fio_doe_string(t_fileio *fio, char *item,
 }
 
 
-
-
-
-
-
 /* Array reading & writing */
 
-gmx_bool gmx_fio_nreade_real(t_fileio *fio, real *item, int n,
-                             const char *desc, const char *srcfile, int line)
-{
-    gmx_bool ret = TRUE;
-    int      i;
-    gmx_fio_lock(fio);
-    for (i = 0; i < n; i++)
-    {
-        ret = ret && fio->iotp->nread(fio, &(item[i]), 1, eioREAL, desc, srcfile, line);
-    }
-    gmx_fio_unlock(fio);
-    return ret;
-}
-
-gmx_bool gmx_fio_nreade_float(t_fileio *fio, float *item, int n,
-                              const char *desc, const char *srcfile, int line)
-{
-    gmx_bool ret = TRUE;
-    int      i;
-    gmx_fio_lock(fio);
-    for (i = 0; i < n; i++)
-    {
-        ret = ret && fio->iotp->nread(fio, &(item[i]), 1, eioFLOAT, desc,
-                                      srcfile, line);
-    }
-    gmx_fio_unlock(fio);
-    return ret;
-}
-
-
-gmx_bool gmx_fio_nreade_double(t_fileio *fio, double *item, int n,
-                               const char *desc, const char *srcfile, int line)
-{
-    gmx_bool ret = TRUE;
-    int      i;
-    gmx_fio_lock(fio);
-    for (i = 0; i < n; i++)
-    {
-        ret = ret && fio->iotp->nread(fio, &(item[i]), 1, eioDOUBLE, desc,
-                                      srcfile, line);
-    }
-    gmx_fio_unlock(fio);
-    return ret;
-}
-
-gmx_bool gmx_fio_nreade_int(t_fileio *fio, int *item, int n,
-                            const char *desc, const char *srcfile, int line)
-{
-    gmx_bool ret = TRUE;
-    int      i;
-    gmx_fio_lock(fio);
-    for (i = 0; i < n; i++)
-    {
-        ret = ret && fio->iotp->nread(fio, &(item[i]), 1, eioINT, desc, srcfile, line);
-    }
-    gmx_fio_unlock(fio);
-    return ret;
-}
-
-gmx_bool gmx_fio_nreade_int64(t_fileio *fio, gmx_int64_t *item, int n,
-                              const char *desc, const char *srcfile, int line)
-{
-    gmx_bool ret = TRUE;
-    int      i;
-    gmx_fio_lock(fio);
-    for (i = 0; i < n; i++)
-    {
-        ret = ret && fio->iotp->nread(fio, &(item[i]), 1, eioINT64, desc,
-                                      srcfile, line);
-    }
-    gmx_fio_unlock(fio);
-    return ret;
-}
-
-
-gmx_bool gmx_fio_nreade_uchar(t_fileio *fio, unsigned char *item, int n,
-                              const char *desc, const char *srcfile, int line)
-{
-    gmx_bool ret;
-    gmx_fio_lock(fio);
-    ret = fio->iotp->nread(fio, item, n, eioNUCHAR, desc, srcfile, line);
-    gmx_fio_unlock(fio);
-    return ret;
-}
-
-gmx_bool gmx_fio_nreade_ushort(t_fileio *fio, unsigned short *item, int n,
-                               const char *desc, const char *srcfile, int line)
-{
-    gmx_bool ret = TRUE;
-    int      i;
-    gmx_fio_lock(fio);
-    for (i = 0; i < n; i++)
-    {
-        ret = ret && fio->iotp->nread(fio, &(item[i]), 1, eioUSHORT, desc,
-                                      srcfile, line);
-    }
-    gmx_fio_unlock(fio);
-    return ret;
-}
-
-gmx_bool gmx_fio_nreade_rvec(t_fileio *fio, rvec *item, int n,
-                             const char *desc, const char *srcfile, int line)
-{
-    gmx_bool ret;
-    gmx_fio_lock(fio);
-    ret = fio->iotp->nread(fio, item, n, eioNRVEC, desc, srcfile, line);
-    gmx_fio_unlock(fio);
-    return ret;
-}
-
-gmx_bool gmx_fio_nreade_ivec(t_fileio *fio, ivec *item, int n,
-                             const char *desc, const char *srcfile, int line)
-{
-    gmx_bool ret = TRUE;
-    int      i;
-    gmx_fio_lock(fio);
-    for (i = 0; i < n; i++)
-    {
-        ret = ret && fio->iotp->nread(fio, item[i], 1, eioIVEC, desc, srcfile, line);
-    }
-    gmx_fio_unlock(fio);
-    return ret;
-}
-
-gmx_bool gmx_fio_nreade_string(t_fileio *fio, char *item[], int n,
-                               const char *desc, const char *srcfile, int line)
-{
-    gmx_bool ret = TRUE;
-    int      i;
-    gmx_fio_lock(fio);
-    for (i = 0; i < n; i++)
-    {
-        ret = ret && fio->iotp->nread(fio, item[i], 1, eioSTRING, desc, srcfile, line);
-    }
-    gmx_fio_unlock(fio);
-    return ret;
-}
-
-
-
-
-/* Array writing */
-
-gmx_bool gmx_fio_nwritee_real(t_fileio *fio, const real *item, int n,
-                              const char *desc, const char *srcfile, int line)
-{
-    gmx_bool ret = TRUE;
-    int      i;
-    gmx_fio_lock(fio);
-    for (i = 0; i < n; i++)
-    {
-        ret = ret && fio->iotp->nwrite(fio, &(item[i]), 1, eioREAL, desc,
-                                       srcfile, line);
-    }
-    gmx_fio_unlock(fio);
-    return ret;
-}
-
-gmx_bool gmx_fio_nwritee_float(t_fileio *fio, const float *item, int n,
-                               const char *desc, const char *srcfile, int line)
-{
-    gmx_bool ret = TRUE;
-    int      i;
-    gmx_fio_lock(fio);
-    for (i = 0; i < n; i++)
-    {
-        ret = ret && fio->iotp->nwrite(fio, &(item[i]), 1, eioFLOAT, desc,
-                                       srcfile, line);
-    }
-    gmx_fio_unlock(fio);
-    return ret;
-}
-
-gmx_bool gmx_fio_nwritee_double(t_fileio *fio, const double *item, int n,
-                                const char *desc, const char *srcfile, int line)
-{
-    gmx_bool ret = TRUE;
-    int      i;
-    gmx_fio_lock(fio);
-    for (i = 0; i < n; i++)
-    {
-        ret = ret && fio->iotp->nwrite(fio, &(item[i]), 1, eioDOUBLE, desc,
-                                       srcfile, line);
-    }
-    gmx_fio_unlock(fio);
-    return ret;
-}
-
-gmx_bool gmx_fio_nwritee_int(t_fileio *fio, const int *item, int n,
-                             const char *desc, const char *srcfile, int line)
-{
-    gmx_bool ret = TRUE;
-    int      i;
-    gmx_fio_lock(fio);
-    for (i = 0; i < n; i++)
-    {
-        ret = ret && fio->iotp->nwrite(fio, &(item[i]), 1, eioINT, desc, srcfile,
-                                       line);
-    }
-    gmx_fio_unlock(fio);
-    return ret;
-}
-
-gmx_bool gmx_fio_nwritee_int64(t_fileio *fio,
-                               const gmx_int64_t *item, int n,
-                               const char *desc, const char *srcfile, int line)
-{
-    gmx_bool ret = TRUE;
-    int      i;
-    gmx_fio_lock(fio);
-    for (i = 0; i < n; i++)
-    {
-        ret = ret && fio->iotp->nwrite(fio, &(item[i]), 1, eioINT64,
-                                       desc, srcfile, line);
-    }
-    gmx_fio_unlock(fio);
-    return ret;
-}
-
-gmx_bool gmx_fio_nwritee_uchar(t_fileio *fio, const unsigned char *item, int n,
-                               const char *desc, const char *srcfile, int line)
-{
-    gmx_bool ret;
-    gmx_fio_lock(fio);
-    ret = fio->iotp->nwrite(fio, item, n, eioNUCHAR, desc, srcfile, line);
-    gmx_fio_unlock(fio);
-    return ret;
-}
-
-gmx_bool gmx_fio_nwritee_ushort(t_fileio *fio, const unsigned short *item, int n,
-                                const char *desc, const char *srcfile, int line)
-{
-    gmx_bool ret = TRUE;
-    int      i;
-    gmx_fio_lock(fio);
-    for (i = 0; i < n; i++)
-    {
-        ret = ret && fio->iotp->nwrite(fio, &(item[i]), 1, eioUSHORT, desc,
-                                       srcfile, line);
-    }
-    gmx_fio_unlock(fio);
-    return ret;
-}
-
-
-gmx_bool gmx_fio_nwritee_rvec(t_fileio *fio, const rvec *item, int n,
-                              const char *desc, const char *srcfile, int line)
-{
-    gmx_bool ret;
-    gmx_fio_lock(fio);
-    ret = fio->iotp->nwrite(fio, item, n, eioNRVEC, desc, srcfile, line);
-    gmx_fio_unlock(fio);
-    return ret;
-}
-
-gmx_bool gmx_fio_nwritee_ivec(t_fileio *fio, const ivec *item, int n,
-                              const char *desc, const char *srcfile, int line)
-{
-    gmx_bool ret = TRUE;
-    int      i;
-    gmx_fio_lock(fio);
-    for (i = 0; i < n; i++)
-    {
-        ret = ret && fio->iotp->nwrite(fio, &(item[i]), 1, eioIVEC, desc,
-                                       srcfile, line);
-    }
-    gmx_fio_unlock(fio);
-    return ret;
-}
-
-
-gmx_bool gmx_fio_nwritee_string(t_fileio *fio, const char *item[], int n,
-                                const char *desc, const char *srcfile, int line)
-{
-    gmx_bool ret = TRUE;
-    int      i;
-    gmx_fio_lock(fio);
-    for (i = 0; i < n; i++)
-    {
-        ret = ret && fio->iotp->nwrite(fio, &(item[i]), 1, eioSTRING, desc, srcfile,
-                                       line);
-    }
-    gmx_fio_unlock(fio);
-    return ret;
-}
-
-
-
-/* array read/write functions */
-
 gmx_bool gmx_fio_ndoe_real(t_fileio *fio, real *item, int n,
                            const char *desc, const char *srcfile, int line)
 {
index ca1b70d21e43521ea239790646026fcd292672ed..e651c0bc71066802d4d6421248e506f080cbb74b 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
  * Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013,2014, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014,2015, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
  */
 #include "gmxpre.h"
 
-#include "config.h"
-
-#include <errno.h>
 #include <stdio.h>
 #include <string.h>
 
-#ifdef HAVE_IO_H
-#include <io.h>
-#endif
-
-#include "gromacs/fileio/filenm.h"
 #include "gromacs/fileio/gmxfio.h"
-#include "gromacs/fileio/gmxfio_int.h"
-#include "gromacs/fileio/md5.h"
-#include "gromacs/legacyheaders/macros.h"
+#include "gromacs/fileio/xdrf.h"
 #include "gromacs/utility/fatalerror.h"
-#include "gromacs/utility/futil.h"
 #include "gromacs/utility/smalloc.h"
 
-/* This is the part that reads xdr files.  */
+#include "gmxfio-impl.h"
 
+/* This is the part that reads xdr files.  */
 
 /* file type functions */
 static gmx_bool do_xdrread(t_fileio *fio, void *item, int nitem, int eio,
@@ -68,8 +58,6 @@ static gmx_bool do_xdrwrite(t_fileio *fio, const void *item, int nitem, int eio,
 const t_iotype xdr_iotype = {do_xdrread, do_xdrwrite};
 
 
-#ifdef USE_XDR
-
 static gmx_bool do_xdr(t_fileio *fio, void *item, int nitem, int eio,
                        const char *desc, const char *srcfile, int line)
 {
@@ -331,5 +319,3 @@ static gmx_bool do_xdrwrite(t_fileio *fio, const void *item, int nitem, int eio,
     void *it = (void*)item; /* ugh.. */
     return do_xdr(fio, it, nitem, eio, desc, srcfile, line);
 }
-
-#endif
index 26aed407ee010b92645dc3e7d5cd4ca2e541692d..085cd5c9afd8cff0aa8137a18a5a35c4ab6d9bb5 100644 (file)
@@ -1840,10 +1840,6 @@ void do_iparams(t_fileio *fio, t_functype ftype, t_iparams *iparams,
     int      idum;
     real     rdum;
 
-    if (!bRead)
-    {
-        gmx_fio_set_comment(fio, interaction_function[ftype].name);
-    }
     switch (ftype)
     {
         case F_ANGLES:
@@ -2160,21 +2156,12 @@ void do_iparams(t_fileio *fio, t_functype ftype, t_iparams *iparams,
             gmx_fatal(FARGS, "unknown function type %d (%s) in %s line %d",
                       ftype, interaction_function[ftype].name, __FILE__, __LINE__);
     }
-    if (!bRead)
-    {
-        gmx_fio_unset_comment(fio);
-    }
 }
 
-static void do_ilist(t_fileio *fio, t_ilist *ilist, gmx_bool bRead, int file_version,
-                     int ftype)
+static void do_ilist(t_fileio *fio, t_ilist *ilist, gmx_bool bRead, int file_version)
 {
     int      i, k, idum;
 
-    if (!bRead)
-    {
-        gmx_fio_set_comment(fio, interaction_function[ftype].name);
-    }
     if (file_version < 44)
     {
         for (i = 0; i < MAXNODES; i++)
@@ -2188,10 +2175,6 @@ static void do_ilist(t_fileio *fio, t_ilist *ilist, gmx_bool bRead, int file_ver
         snew(ilist->iatoms, ilist->nr);
     }
     gmx_fio_ndo_int(fio, ilist->iatoms, ilist->nr);
-    if (!bRead)
-    {
-        gmx_fio_unset_comment(fio);
-    }
 }
 
 static void do_ffparams(t_fileio *fio, gmx_ffparams_t *ffparams,
@@ -2316,7 +2299,7 @@ static void do_ilists(t_fileio *fio, t_ilist *ilist, gmx_bool bRead,
         }
         else
         {
-            do_ilist(fio, &ilist[j], bRead, file_version, j);
+            do_ilist(fio, &ilist[j], bRead, file_version);
             if (file_version < 78 && j == F_SETTLE && ilist[j].nr > 0)
             {
                 add_settle_atoms(&ilist[j]);
index a1d6c8cbd7730ee617dbb51351c39ef689e3b425..f1eadbd5f3811673e013a443661438cf9ff76f49 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
  * Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013,2014, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014,2015, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -144,31 +144,6 @@ static gmx_bool do_trnheader(t_fileio *fio, gmx_bool bRead, t_trnheader *sh, gmx
     return *bOK;
 }
 
-void pr_trnheader(FILE *fp, int indent, char *title, t_trnheader *sh)
-{
-    if (sh)
-    {
-        indent = pr_title(fp, indent, title);
-        (void) pr_indent(fp, indent);
-        (void) fprintf(fp, "box_size    = %d\n", sh->box_size);
-        (void) pr_indent(fp, indent);
-        (void) fprintf(fp, "x_size      = %d\n", sh->x_size);
-        (void) pr_indent(fp, indent);
-        (void) fprintf(fp, "v_size      = %d\n", sh->v_size);
-        (void) pr_indent(fp, indent);
-        (void) fprintf(fp, "f_size      = %d\n", sh->f_size);
-
-        (void) pr_indent(fp, indent);
-        (void) fprintf(fp, "natoms      = %d\n", sh->natoms);
-        (void) pr_indent(fp, indent);
-        (void) fprintf(fp, "step        = %d\n", sh->step);
-        (void) pr_indent(fp, indent);
-        (void) fprintf(fp, "t           = %e\n", sh->t);
-        (void) pr_indent(fp, indent);
-        (void) fprintf(fp, "lambda      = %e\n", sh->lambda);
-    }
-}
-
 static gmx_bool do_htrn(t_fileio *fio, t_trnheader *sh,
                         rvec *box, rvec *x, rvec *v, rvec *f)
 {
index 0dcc1e03993b579fc6bfa0f0f22d62f76baa104d..57fb51bd6f6c849494d8f7a45f5438ac577c1ab0 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
  * Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013,2014, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014,2015, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -97,14 +97,6 @@ void read_trnheader(const char *fn, t_trnheader *header);
 /* Read the header of a trn file from fn, and close the file afterwards.
  */
 
-void pr_trnheader(FILE *fp, int indent, char *title, t_trnheader *sh);
-/* Print the header of a trn file to fp */
-
-gmx_bool is_trn(FILE *fp);
-/* Return true when the file is a trn file. File will be rewound
- * afterwards.
- */
-
 void fwrite_trn(t_fileio *fio, int step, real t, real lambda,
                 rvec *box, int natoms, rvec *x, rvec *v, rvec *f);
 /* Write a trn frame to file fp, box, x, v, f may be NULL */