From 57326f263dc867233ece3bb6f32dc33f195e7f65 Mon Sep 17 00:00:00 2001 From: hades Date: Fri, 19 May 2000 08:30:56 +0000 Subject: [PATCH] Changed bytesWritten to unsigned long, inserted fileno()-call. evtbuild.c should now use tape.c - functions. --- hadaq/evtbuild.c | 9 +++++++-- hadaq/tape.c | 8 +++++++- hadaq/tape.h | 2 +- hadaq/tapelabel.c | 2 +- hadaq/tapelabel.h | 6 +++--- 5 files changed, 19 insertions(+), 8 deletions(-) diff --git a/hadaq/evtbuild.c b/hadaq/evtbuild.c index c5d128c..736a893 100644 --- a/hadaq/evtbuild.c +++ b/hadaq/evtbuild.c @@ -1,4 +1,4 @@ -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 @@ -368,7 +368,12 @@ int main(int argc, char *argv[]) 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)); } } diff --git a/hadaq/tape.c b/hadaq/tape.c index db9a686..b0a22c3 100644 --- a/hadaq/tape.c +++ b/hadaq/tape.c @@ -97,8 +97,14 @@ static FILE *openTape(const char* filename) { 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"); diff --git a/hadaq/tape.h b/hadaq/tape.h index 8cf0ae6..a5832c4 100644 --- a/hadaq/tape.h +++ b/hadaq/tape.h @@ -3,7 +3,7 @@ static FILE *openTape(const char *); -int closeTape(FILE *, int, int, const char *); +int closeTape(FILE *, unsigned long, const char *); #endif diff --git a/hadaq/tapelabel.c b/hadaq/tapelabel.c index 6300cf5..2445df9 100644 --- a/hadaq/tapelabel.c +++ b/hadaq/tapelabel.c @@ -154,7 +154,7 @@ int writeHeader(int tape, int fileSeqNum, const char *filename) { } -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; diff --git a/hadaq/tapelabel.h b/hadaq/tapelabel.h index 35184d8..9f36d78 100644 --- a/hadaq/tapelabel.h +++ b/hadaq/tapelabel.h @@ -3,12 +3,12 @@ #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 -- 2.43.0