-static char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/evtbuild.c,v 6.11 2000-04-18 11:44:06 muench Stab $";
+static char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/evtbuild.c,v 6.12 2000-05-19 08:30:56 hades Exp $";
#define _XOPEN_SOURCE
#include <unistd.h>
free(slowCtrlFiles);
if (outFile != NULL) {
- if (-1 == fclose(outFile)) {
+ if (strcmp(outDev, "tape") == 0) {
+ if (-1 == closeTape(outFile, *bytesWritten, outPath)) {
+ msglog(LOG_ERR, "%s, %d: %s\n", __FILE__, __LINE__, strerror(errno));
+ exit(EXIT_FAILURE);
+ }
+ } else if (-1 == fclose(outFile) {
msglog(LOG_NOTICE, "%s, line %d:\n", __FILE__, __LINE__, strerror(errno));
}
}
setvbuf(outFile, 0, _IOFBF, BLOCKSIZE);
}
-int closeTape(FILE *openTape, int tape, int numBytes, const char *filename) {
+int closeTape(FILE *openTape, unsigned long numBytes, const char *filename) {
int stat;
+ int tape;
+ tape = fileno(openTape);
+ if (tape == -1) {
+ msglog(LOG_ERR, "Could not get file file descriptor of file opened on tape!\n");
+ exit(-2);
+ }
stat = fclose(openTape);
if (stat == -1) {
msglog(LOG_ERR, "Could not close file on tape!\n");
static FILE *openTape(const char *);
-int closeTape(FILE *, int, int, const char *);
+int closeTape(FILE *, unsigned long, const char *);
#endif
}
-int writeTrailer(int tape, int fileSeqNum, int numBytes, const char *filename) {
+int writeTrailer(int tape, int fileSeqNum, unsigned long numBytes, const char *filename) {
int stat;
int i;
int blockSize = BLOCKSIZE;
#define BLOCKSIZE 8192
-int writeHeader(int, int, const char *);
-int writeTrailer(int, int, int, const char *);
-
char *readVolumeLabel(int);
int writeVolumeLabel(const char *, int);
int writeNewVolumeLabel(const char *, const char *, int);
+int writeHeader(int, int, const char *);
+int writeTrailer(int, int, unsigned long, const char *);
+
#endif