Changeset 84d6f13ffc15b3f1bb50df2ac835b56f70179b3e for src/utils
- Timestamp:
- 02/03/09 01:29:49 (4 years ago)
- git-parent:
- Files:
-
- src/utils/noit_log.c (modified) (5 diffs)
- src/utils/noit_log.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
src/utils/noit_log.c
rc8af4b3 r84d6f13 61 61 return close(fd); 62 62 } 63 static size_t 64 posix_logio_size(noit_log_stream_t ls) { 65 int fd; 66 struct stat sb; 67 fd = (int)ls->op_ctx; 68 if(fstat(fd, &sb) == 0) { 69 return (size_t)sb.st_size; 70 } 71 return -1; 72 } 63 73 static logops_t posix_logio_ops = { 64 74 posix_logio_open, … … 66 76 posix_logio_write, 67 77 posix_logio_close, 78 posix_logio_size 68 79 }; 69 80 … … 135 146 return 0; 136 147 } 148 static size_t 149 jlog_logio_size(noit_log_stream_t ls) { 150 if(!ls->op_ctx) return -1; 151 return jlog_raw_size((jlog_ctx *)ls->op_ctx); 152 } 137 153 static logops_t jlog_logio_ops = { 138 154 jlog_logio_open, … … 140 156 jlog_logio_write, 141 157 jlog_logio_close, 158 jlog_logio_size 142 159 }; 143 160 … … 297 314 noit_log_stream_close(noit_log_stream_t ls) { 298 315 if(ls->ops) ls->ops->closeop(ls); 316 } 317 318 size_t 319 noit_log_stream_size(noit_log_stream_t ls) { 320 if(ls->ops && ls->ops->sizeop) return ls->ops->sizeop(ls); 321 return -1; 299 322 } 300 323 src/utils/noit_log.h
rc8af4b3 r84d6f13 22 22 int (*writeop)(struct _noit_log_stream *, const void *, size_t); 23 23 int (*closeop)(struct _noit_log_stream *); 24 size_t (*sizeop)(struct _noit_log_stream *); 24 25 } logops_t; 25 26 … … 58 59 API_EXPORT(void) noit_log_stream_reopen(noit_log_stream_t ls); 59 60 API_EXPORT(void) noit_log_stream_close(noit_log_stream_t ls); 61 API_EXPORT(size_t) noit_log_stream_size(noit_log_stream_t ls); 60 62 API_EXPORT(void) noit_log_stream_free(noit_log_stream_t ls); 61 63 API_EXPORT(int) noit_vlog(noit_log_stream_t ls, struct timeval *,
