* the research papers on the package. Check out http://www.gromacs.org.
*/
/* This file is completely threadsafe - keep it that way! */
+#include "gmxpre.h"
+
#include "cstringutil.h"
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
+#include "config.h"
#include <assert.h>
#include <ctype.h>
#include <time.h>
#include <sys/types.h>
+
#ifdef HAVE_SYS_TIME_H
#include <sys/time.h>
#endif
* or because of n being too small.
* Since both cases occur very infrequently, we can check for EOF.
*/
- if (!gmx_eof(stream))
+ if (!feof(stream))
{
gmx_fatal(FARGS, "An input file contains a line longer than %d characters, while the buffer passed to fgets2 has size %d. The line starts with: '%20.20s'", n, n, line);
}
char *
gmx_ctime_r(const time_t *clock, char *buf, int n)
{
- char tmpbuf[STRLEN];
-
-#ifdef GMX_NATIVE_WINDOWS
+#ifdef _MSC_VER
/* Windows */
- ctime_s( tmpbuf, STRLEN, clock );
+ ctime_s( buf, n, clock );
+#elif defined(GMX_NATIVE_WINDOWS)
+ char *tmpbuf = ctime( clock );
+ strncpy(buf, tmpbuf, n-1);
+ buf[n-1] = '\0';
#elif (defined(__sun))
/*Solaris*/
- ctime_r(clock, tmpbuf, n);
+ ctime_r(clock, buf, n);
#else
+ char tmpbuf[STRLEN];
ctime_r(clock, tmpbuf);
-#endif
strncpy(buf, tmpbuf, n-1);
buf[n-1] = '\0';
-
+#endif
return buf;
}
{
const char *unk = "onbekend";
time_t clock;
- const char *user = unk;
+ const char *user;
int gh;
#ifdef HAVE_PWD_H
uid_t uid;
/* pw returns null on error (e.g. compute nodes lack /etc/passwd) */
user = pw ? pw->pw_name : unk;
#else
- uid = 0;
- gh = -1;
+ uid = 0;
+ gh = -1;
+ user = unk;
#endif
gmx_ctime_r(&clock, timebuf, STRLEN);
#endif
}
+char *gmx_step_str(gmx_int64_t i, char *buf)
+{
+ sprintf(buf, "%"GMX_PRId64, i);
+ return buf;
+}
+
void parse_digits_from_plain_string(const char *digitstring, int *ndigits, int **digitlist)
{
int i;