* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
+#include "gmxpre.h"
-#include <math.h>
-#include "sysstuff.h"
-#include "typedefs.h"
-#include "gromacs/utility/smalloc.h"
-#include "sysstuff.h"
-#include <errno.h>
-#include "macros.h"
-#include "gromacs/utility/cstringutil.h"
#include "confio.h"
-#include "vec.h"
-#include "symtab.h"
-#include "futil.h"
+
+#include <errno.h>
+#include <math.h>
+#include <stdio.h>
+
+#include "gromacs/legacyheaders/typedefs.h"
+#include "gromacs/legacyheaders/macros.h"
+#include "gromacs/utility/futil.h"
#include "xdrf.h"
#include "filenm.h"
#include "pdbio.h"
#include "tpxio.h"
#include "trxio.h"
-#include "gmx_fatal.h"
-#include "copyrite.h"
-#include "pbc.h"
-#include "mtop_util.h"
+#include "gromacs/legacyheaders/copyrite.h"
+#include "gromacs/topology/mtop_util.h"
#include "gmxfio.h"
+#include "gromacs/fileio/trx.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/topology/symtab.h"
+#include "gromacs/topology/topology.h"
+#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
+
#define CHAR_SHIFT 24
static int read_g96_pos(char line[], t_symtab *symtab,
if (fr->title == NULL)
{
fgets2(line, STRLEN, fp);
- fr->title = strdup(line);
+ fr->title = gmx_strdup(line);
}
bEnd = FALSE;
while (!bEnd && fgets2(line, STRLEN, fp))
gmx_fio_fclose(in);
}
+static gmx_bool gmx_one_before_eof(FILE *fp)
+{
+ char data[4];
+ gmx_bool beof;
+
+ if ((beof = fread(data, 1, 1, fp)) == 1)
+ {
+ gmx_fseek(fp, -1, SEEK_CUR);
+ }
+ return !beof;
+}
+
gmx_bool gro_next_x_or_v(FILE *status, t_trxframe *fr)
{
t_atoms atoms;
double tt;
int ndec = 0, i;
- if (gmx_eof(status))
+ if (gmx_one_before_eof(status))
{
return FALSE;
}
gmx_fio_fclose(out);
break;
case efTPR:
- case efTPB:
- case efTPA:
gmx_fatal(FARGS, "Sorry, can not write a topology to %s", outfile);
break;
default:
gmx_fio_fclose(out);
break;
case efTPR:
- case efTPB:
- case efTPA:
gmx_fatal(FARGS, "Sorry, can not write a topology to %s", outfile);
break;
default:
case efESP:
*natoms = get_espresso_coordnum(infile);
break;
- case efTPA:
- case efTPB:
case efTPR:
{
t_tpxheader tpx;
read_espresso_conf(infile, atoms, x, v, box);
break;
case efTPR:
- case efTPB:
- case efTPA:
snew(mtop, 1);
i = read_tpx(infile, NULL, box, &natoms, x, v, NULL, mtop);
if (ePBC)