summaryrefslogtreecommitdiffstats
path: root/src/shared/log.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared/log.c')
-rw-r--r--src/shared/log.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/shared/log.c b/src/shared/log.c
index afafc6f..0b385c5 100644
--- a/src/shared/log.c
+++ b/src/shared/log.c
@@ -89,26 +89,26 @@ void logadd(const logmask_t mask, const char *fmt, ...)
ret = vsnprintf( buffer + offset, LINE_LEN - offset, fmt, ap );
va_end( ap );
if ( ret < 0 ) return;
- ret += offset;
- if ( ret + 1 >= LINE_LEN ) {
+ offset += ret;
+ if ( offset + 1 >= LINE_LEN ) {
buffer[LINE_LEN-2] = '\0';
- ret = LINE_LEN - 2;
+ offset = LINE_LEN - 2;
}
- if ( ret > 0 && buffer[ret-1] != '\n' ) {
- buffer[ret++] = '\n';
- buffer[ret] = '\0';
+ if ( buffer[offset-1] != '\n' ) {
+ buffer[offset++] = '\n';
+ buffer[offset] = '\0';
}
if ( maskFile & mask ) {
pthread_mutex_lock( &logLock );
if ( logFd >= 0 ) {
- int done = 0;
- while (done < ret ) {
- const int wr = write( logFd, buffer + done, ret - done );
+ size_t done = 0;
+ while (done < offset ) {
+ const ssize_t wr = write( logFd, buffer + done, ret - done );
if ( wr < 0 ) {
printf( "Logging to file failed! (errno=%d)\n", errno );
break;
}
- done += wr;
+ done += (size_t)wr;
}
}
pthread_mutex_unlock( &logLock );