X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Futils_tail.c;h=55a32879f93d4ce0dba34b85ad92f648dd7e5896;hb=7c9d772c992647fcba64a96800c146eb9f1647f8;hp=565a224c920df8f661488f17a8bd96e8cfb2245a;hpb=01761867ced7bc5fe71546baf350be4a3e800600;p=collectd.git diff --git a/src/utils_tail.c b/src/utils_tail.c index 565a224c..55a32879 100644 --- a/src/utils_tail.c +++ b/src/utils_tail.c @@ -43,35 +43,29 @@ struct cu_tail_s { static int cu_tail_reopen(cu_tail_t *obj) { int seek_end = 0; - FILE *fh; struct stat stat_buf = {0}; - int status; - status = stat(obj->file, &stat_buf); + int status = stat(obj->file, &stat_buf); if (status != 0) { - char errbuf[1024]; - ERROR("utils_tail: stat (%s) failed: %s", obj->file, - sstrerror(errno, errbuf, sizeof(errbuf))); - return (-1); + P_ERROR("utils_tail: stat (%s) failed: %s", obj->file, STRERRNO); + return -1; } /* The file is already open.. */ if ((obj->fh != NULL) && (stat_buf.st_ino == obj->stat.st_ino)) { /* Seek to the beginning if file was truncated */ if (stat_buf.st_size < obj->stat.st_size) { - INFO("utils_tail: File `%s' was truncated.", obj->file); + P_INFO("utils_tail: File `%s' was truncated.", obj->file); status = fseek(obj->fh, 0, SEEK_SET); if (status != 0) { - char errbuf[1024]; - ERROR("utils_tail: fseek (%s) failed: %s", obj->file, - sstrerror(errno, errbuf, sizeof(errbuf))); + P_ERROR("utils_tail: fseek (%s) failed: %s", obj->file, STRERRNO); fclose(obj->fh); obj->fh = NULL; - return (-1); + return -1; } } memcpy(&obj->stat, &stat_buf, sizeof(struct stat)); - return (1); + return 1; } /* Seek to the end if we re-open the same file again or the file opened @@ -79,22 +73,18 @@ static int cu_tail_reopen(cu_tail_t *obj) { if ((obj->stat.st_ino == 0) || (obj->stat.st_ino == stat_buf.st_ino)) seek_end = 1; - fh = fopen(obj->file, "r"); + FILE *fh = fopen(obj->file, "r"); if (fh == NULL) { - char errbuf[1024]; - ERROR("utils_tail: fopen (%s) failed: %s", obj->file, - sstrerror(errno, errbuf, sizeof(errbuf))); - return (-1); + P_ERROR("utils_tail: fopen (%s) failed: %s", obj->file, STRERRNO); + return -1; } if (seek_end != 0) { status = fseek(fh, 0, SEEK_END); if (status != 0) { - char errbuf[1024]; - ERROR("utils_tail: fseek (%s) failed: %s", obj->file, - sstrerror(errno, errbuf, sizeof(errbuf))); + P_ERROR("utils_tail: fseek (%s) failed: %s", obj->file, STRERRNO); fclose(fh); - return (-1); + return -1; } } @@ -103,7 +93,7 @@ static int cu_tail_reopen(cu_tail_t *obj) { obj->fh = fh; memcpy(&obj->stat, &stat_buf, sizeof(struct stat)); - return (0); + return 0; } /* int cu_tail_reopen */ cu_tail_t *cu_tail_create(const char *file) { @@ -111,17 +101,17 @@ cu_tail_t *cu_tail_create(const char *file) { obj = calloc(1, sizeof(*obj)); if (obj == NULL) - return (NULL); + return NULL; obj->file = strdup(file); if (obj->file == NULL) { free(obj); - return (NULL); + return NULL; } obj->fh = NULL; - return (obj); + return obj; } /* cu_tail_t *cu_tail_create */ int cu_tail_destroy(cu_tail_t *obj) { @@ -130,7 +120,7 @@ int cu_tail_destroy(cu_tail_t *obj) { free(obj->file); free(obj); - return (0); + return 0; } /* int cu_tail_destroy */ int cu_tail_readline(cu_tail_t *obj, char *buf, int buflen) { @@ -138,13 +128,13 @@ int cu_tail_readline(cu_tail_t *obj, char *buf, int buflen) { if (buflen < 1) { ERROR("utils_tail: cu_tail_readline: buflen too small: %i bytes.", buflen); - return (-1); + return -1; } if (obj->fh == NULL) { status = cu_tail_reopen(obj); if (status < 0) - return (status); + return status; } assert(obj->fh != NULL); @@ -153,7 +143,7 @@ int cu_tail_readline(cu_tail_t *obj, char *buf, int buflen) { clearerr(obj->fh); if (fgets(buf, buflen, obj->fh) != NULL) { buf[buflen - 1] = 0; - return (0); + return 0; } /* Check if we encountered an error */ @@ -168,32 +158,31 @@ int cu_tail_readline(cu_tail_t *obj, char *buf, int buflen) { status = cu_tail_reopen(obj); /* error -> return with error */ if (status < 0) - return (status); + return status; /* file end reached and file not reopened -> nothing more to read */ else if (status > 0) { buf[0] = 0; - return (0); + return 0; } /* If we get here: file was re-opened and there may be more to read.. Let's * try again. */ if (fgets(buf, buflen, obj->fh) != NULL) { buf[buflen - 1] = 0; - return (0); + return 0; } if (ferror(obj->fh) != 0) { - char errbuf[1024]; WARNING("utils_tail: fgets (%s) returned an error: %s", obj->file, - sstrerror(errno, errbuf, sizeof(errbuf))); + STRERRNO); fclose(obj->fh); obj->fh = NULL; - return (-1); + return -1; } /* EOf, well, apparently the new file is empty.. */ buf[0] = 0; - return (0); + return 0; } /* int cu_tail_readline */ int cu_tail_read(cu_tail_t *obj, char *buf, int buflen, tailfunc_t *callback,