diff --git a/dumpRecords.c b/dumpRecords.c new file mode 100644 index 0000000000000000000000000000000000000000..a043c23239d4ad5d4bf5ba33e68773477e3dd90e --- /dev/null +++ b/dumpRecords.c @@ -0,0 +1,43 @@ +/* dumpRecords is a wrapper function for dbl + it is required because of the changed syntax of dbl in R3.14. + */ + +#include <epicsVersion.h> +#include <stddef.h> + +#ifdef BASE_VERSION +/* This is R3.13 */ +long dbl(char *precordTypename, char *filename, char *fields); + +int dumpRecords(char* file, char* fields) +{ + return dbl(0L, file, fields); +} + +#else +/* This is R3.14 */ +#include <string.h> +#include <dbTest.h> +#include <epicsStdio.h> + +int dumpRecords(char* file, char* fields) +{ + FILE* oldStdout; + FILE* newStdout; + + newStdout = fopen(file, "w"); + if (!newStdout) + { + fprintf (stderr, "Can't open %s for writing: %s\n", + file, strerror(errno)); + return errno; + } + oldStdout = epicsGetThreadStdout(); + epicsSetThreadStdout(newStdout); + dbl(0L, fields); + fclose(newStdout); + epicsSetThreadStdout(oldStdout); + return OK; +} + +#endif