diff options
author | Simon Rettberg | 2017-10-24 11:27:44 +0200 |
---|---|---|
committer | Simon Rettberg | 2017-10-24 11:27:44 +0200 |
commit | a0fbfe1c6d6f42b4c2704c882beda1c4cafe5016 (patch) | |
tree | 1a962a61adec6f3068cdba1e31129e14b5fada51 /src/shared/log.c | |
parent | cmake: Move sample config to /etc/dnbd3-server aswell (diff) | |
download | dnbd3-a0fbfe1c6d6f42b4c2704c882beda1c4cafe5016.tar.gz dnbd3-a0fbfe1c6d6f42b4c2704c882beda1c4cafe5016.tar.xz dnbd3-a0fbfe1c6d6f42b4c2704c882beda1c4cafe5016.zip |
[SERVER] Fix types or add explicit casts everywhere we might have type conversion problems
Diffstat (limited to 'src/shared/log.c')
-rw-r--r-- | src/shared/log.c | 20 |
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 ); |