Index: libroar/Makefile
===================================================================
--- libroar/Makefile	(revision 5220)
+++ libroar/Makefile	(revision 5270)
@@ -17,5 +17,5 @@
 INCLUDE = -I../include -I../include/libroar
 CFLAGS += -g -Wall $(OPTI_O) $(DEFINES) $(INCLUDE) $(INCPATH) $(SHARED_CF) $(fPIC)
-LDFLAGS+= -g $(SHARED) $(LDPATH)
+LDFLAGS+= -g -Wall $(SHARED) $(LDPATH)
 LIBS    = $(LIBROAR_NS)
 
Index: libroar/acl.c
===================================================================
--- libroar/acl.c	(revision 4708)
+++ libroar/acl.c	(revision 5270)
@@ -44,5 +44,5 @@
   return 0;
 
- if ( rule->addr && !addr )
+ if ( rule->addr && addr != NULL )
   return 0;
 
Index: libroar/authfile.c
===================================================================
--- libroar/authfile.c	(revision 4973)
+++ libroar/authfile.c	(revision 5270)
@@ -223,5 +223,5 @@
     if ( roar_vio_lseek(&(authfile->vio), 0, SEEK_SET) != 0 )
      return -1;
-    if ( roar_vio_write(&(authfile->vio), key->data, key->len) != key->len )
+    if ( roar_vio_write(&(authfile->vio), key->data, key->len) != (ssize_t)key->len )
      return -1;
     if ( roar_authfile_unlock(authfile) == -1 )
Index: libroar/config.c
===================================================================
--- libroar/config.c	(revision 5202)
+++ libroar/config.c	(revision 5270)
@@ -37,5 +37,5 @@
 
 static struct roar_libroar_config_codec *
-           roar_libroar_config_codec_get_conf(int codec, int create, struct roar_libroar_config * config);
+           roar_libroar_config_codec_get_conf(uint32_t codec, int create, struct roar_libroar_config * config);
 
 
@@ -318,6 +318,6 @@
 
 static struct roar_libroar_config_codec *
-           roar_libroar_config_codec_get_conf(int codec, int create, struct roar_libroar_config * config) {
- int i;
+           roar_libroar_config_codec_get_conf(uint32_t codec, int create, struct roar_libroar_config * config) {
+ size_t i;
  int need_new = 1;
 
@@ -337,5 +337,5 @@
    if ( config->codecs.codec[i].codec == codec )
     return &(config->codecs.codec[i]);
-   if ( config->codecs.codec[i].codec == -1 )
+   if ( config->codecs.codec[i].codec == (uint32_t)-1 )
     need_new = 0;
   }
@@ -349,5 +349,5 @@
  if ( !need_new ) {
   for (i = 0; i < config->codecs.num; i++) {
-   if ( config->codecs.codec[i].codec == -1 ) {
+   if ( config->codecs.codec[i].codec == (uint32_t)-1 ) {
     memset(&(config->codecs.codec[i]), 0, sizeof(struct roar_libroar_config_codec));
     config->codecs.codec[i].codec = codec;
@@ -368,5 +368,5 @@
  memset(&(config->codecs.codec[config->codecs.num]), 0, 16);
  for (i = config->codecs.num; i < (config->codecs.num+16); i++) {
-  config->codecs.codec[i].codec = -1;
+  config->codecs.codec[i].codec = (uint32_t)-1;
  }
 
Index: libroar/debug.c
===================================================================
--- libroar/debug.c	(revision 5201)
+++ libroar/debug.c	(revision 5270)
@@ -184,5 +184,5 @@
  ret = snprintf(buf, sizeof(buf), "(%s: %s:%lu): %s: ", prefix, file, line, typename);
 
- if ( ret > 0 && ret < sizeof(buf) ) {
+ if ( ret > 0 && ret < (int)sizeof(buf) ) {
   bufp += ret;
  } else {
Index: libroar/enumdev.c
===================================================================
--- libroar/enumdev.c	(revision 5238)
+++ libroar/enumdev.c	(revision 5270)
@@ -101,4 +101,6 @@
  int i;
 #endif
+
+ (void)flags, (void)dir, (void)socktype;
 
  if ( maxlen < 10 )
@@ -207,4 +209,6 @@
  };
 
+ (void)flags, (void)dir, (void)socktype;
+
  for (f = &(files[0]); f->file != NULL; f++) {
   if ( (inp = fopen(f->file, "r")) == NULL )
Index: libroar/env.c
===================================================================
--- libroar/env.c	(revision 5008)
+++ libroar/env.c	(revision 5270)
@@ -60,4 +60,6 @@
 const char * roar_env_get_home(int level) {
  const char * home = getenv("HOME");
+
+ (void)level;
 
  return home;
Index: libroar/error.c
===================================================================
--- libroar/error.c	(revision 5252)
+++ libroar/error.c	(revision 5270)
@@ -918,5 +918,5 @@
  static char buf[1024] = "";
  int num[8];
- int i;
+ size_t i;
  int _ra_err = roar_error;
  int _sys_err = errno;
Index: libroar/hash.c
===================================================================
--- libroar/hash.c	(revision 5188)
+++ libroar/hash.c	(revision 5270)
@@ -146,5 +146,5 @@
  int i;
 
- for (i = 0; _libroar_hashes[i].id != -1; i++)
+ for (i = 0; _libroar_hashes[i].id != (uint_least32_t)-1; i++)
   if ( _libroar_hashes[i].id == ht )
    return _libroar_hashes[i].name;
@@ -157,5 +157,5 @@
  int i;
 
- for (i = 0; _libroar_hashes[i].id != -1; i++)
+ for (i = 0; _libroar_hashes[i].id != (uint_least32_t)-1; i++)
   if ( !strcasecmp(_libroar_hashes[i].name, ht) )
    return _libroar_hashes[i].id;
@@ -168,5 +168,5 @@
  int i;
 
- for (i = 0; _libroar_hashes[i].id != -1; i++)
+ for (i = 0; _libroar_hashes[i].id != (uint_least32_t)-1; i++)
   if ( _libroar_hashes[i].id == ht )
    return _libroar_hashes[i].dlen;
Index: libroar/hash_tiger.c
===================================================================
--- libroar/hash_tiger.c	(revision 4721)
+++ libroar/hash_tiger.c	(revision 5270)
@@ -580,4 +580,5 @@
 
 int roar_hash_tiger_uninit(struct roar_hash_tiger * state) {
+ (void)state;
  return 0;
 }
@@ -667,4 +668,5 @@
 
 ssize_t roar_hash_tiger_statelen(struct roar_hash_tiger * state) {
+ (void)state;
  return PSTATE_LEN;
 }
@@ -827,4 +829,5 @@
 
 ssize_t roar_hash_tiger_blocklen(struct roar_hash_tiger * state) {
+ (void)state;
  return BLOCK_LEN;
 }
Index: libroar/libroar.c
===================================================================
--- libroar/libroar.c	(revision 5020)
+++ libroar/libroar.c	(revision 5270)
@@ -216,4 +216,7 @@
 //#define ROAR_ERR(format, args...)  roar_debug_msg(ROAR_DEBUG_TYPE_ERROR, __LINE__, __FILE__, ROAR_DBG_PREFIX, format, ## args)
 
+ // we do not support info-text at the moment.
+ (void)info;
+
  if ( func == NULL )
   func = "<unknown>";
Index: libroar/ltm.c
===================================================================
--- libroar/ltm.c	(revision 5145)
+++ libroar/ltm.c	(revision 5270)
@@ -175,5 +175,5 @@
  char * buf = NULL;
  int    ret;
- int    i;
+ size_t i;
 
  if ( con == NULL ) {
@@ -260,8 +260,8 @@
 }
 
-static int64_t * roar_ltm_get_streamptr(struct roar_ltm_result * res, int streamidx) {
+static int64_t * roar_ltm_get_streamptr(struct roar_ltm_result * res, size_t streamidx) {
  int64_t * ptr;
  int numchans;
- int i;
+ size_t i;
 
  ROAR_DBG("roar_ltm_get_streamptr(res=%p, streamidx=%i) = ?", res, streamidx);
@@ -289,5 +289,5 @@
 }
 
-int roar_ltm_get_numchans(struct roar_ltm_result * res, int streamidx) {
+int roar_ltm_get_numchans(struct roar_ltm_result * res, size_t streamidx) {
  int64_t * ptr = roar_ltm_get_streamptr(res, streamidx);
 
@@ -298,5 +298,5 @@
 }
 
-int64_t roar_ltm_extract(struct roar_ltm_result * res, int mt, int streamidx, int channel) {
+int64_t roar_ltm_extract(struct roar_ltm_result * res, int mt, size_t streamidx, int channel) {
  int64_t * ptr = roar_ltm_get_streamptr(res, streamidx);
  int numchans;
Index: libroar/memmgr.c
===================================================================
--- libroar/memmgr.c	(revision 5010)
+++ libroar/memmgr.c	(revision 5270)
@@ -366,5 +366,5 @@
   memcpy(dst+dlen, src, slen);
   dst[dlen+slen] = 0;
- } else if ( dlen != size ) {
+ } else if ( dlen != (ssize_t)size ) {
   memcpy(dst+dlen, src, size-dlen-1);
   dst[size-1] = 0;
Index: libroar/meta.c
===================================================================
--- libroar/meta.c	(revision 5054)
+++ libroar/meta.c	(revision 5270)
@@ -520,5 +520,5 @@
 
 int roar_stream_meta_list (struct roar_connection * con, struct roar_stream * s, int * types, size_t len) {
- int i;
+ size_t i;
  struct roar_message m;
 
Index: libroar/pinentry.c
===================================================================
--- libroar/pinentry.c	(revision 5016)
+++ libroar/pinentry.c	(revision 5270)
@@ -177,5 +177,5 @@
  len = strlen(cmd);
 
- if ( write(pe->out, cmd, len) != len )
+ if ( write(pe->out, cmd, len) != (ssize_t)len )
   return -1;
 
@@ -186,5 +186,5 @@
   len = strlen(args);
 
-  if ( write(pe->out, args, len) != len )
+  if ( write(pe->out, args, len) != (ssize_t)len )
    return -1;
  }
Index: libroar/proto.c
===================================================================
--- libroar/proto.c	(revision 5216)
+++ libroar/proto.c	(revision 5270)
@@ -111,10 +111,10 @@
  }
 
- if ( roar_vio_write(vio, buf, headerlen) != headerlen ) {
+ if ( roar_vio_write(vio, buf, headerlen) != (ssize_t)headerlen ) {
   return -1;
  }
 
  if ( mes->datalen != 0 ) {
-  if ( roar_vio_write(vio, data == NULL ? mes->data : data, mes->datalen) != mes->datalen ) {
+  if ( roar_vio_write(vio, data == NULL ? mes->data : data, mes->datalen) != (ssize_t)mes->datalen ) {
    return -1;
   }
@@ -122,5 +122,5 @@
 
  if ( crclen != 0 ) {
-  if ( roar_vio_write(vio, crc, crclen) != crclen ) {
+  if ( roar_vio_write(vio, crc, crclen) != (ssize_t)crclen ) {
    return -1;
   }
@@ -253,5 +253,5 @@
 
  if ( mes->datalen <= LIBROAR_BUFFER_MSGDATA ) {
-  if ( roar_vio_read(vio, mes->data, mes->datalen) == mes->datalen ) {
+  if ( roar_vio_read(vio, mes->data, mes->datalen) == (ssize_t)mes->datalen ) {
    ROAR_DBG("roar_vrecv_message2(*): Got data!");
    roar_err_clear();
@@ -285,5 +285,5 @@
   }
 
-  if ( roar_vio_read(vio, *data, mes->datalen) == mes->datalen ) {
+  if ( roar_vio_read(vio, *data, mes->datalen) == (ssize_t)mes->datalen ) {
    ROAR_DBG("roar_vrecv_message2(*): Got data!");
 
Index: libroar/roardl.c
===================================================================
--- libroar/roardl.c	(revision 5008)
+++ libroar/roardl.c	(revision 5270)
@@ -119,4 +119,6 @@
  void * ret = dlsym(_roardl2ldl(lhandle), sym);
 
+ (void)type;
+
  ROAR_DBG("roar_dl_getsym(lhandle=%p, sym='%s', type=%i) = %p", lhandle, sym, type, ret);
 
@@ -181,4 +183,5 @@
 char *                   roar_dl_errstr(struct roar_dl_lhandle * lhandle) {
 #if defined(ROAR_HAVE_LIBDL)
+ (void)lhandle;
  return dlerror();
 #else
Index: libroar/serverinfo.c
===================================================================
--- libroar/serverinfo.c	(revision 4708)
+++ libroar/serverinfo.c	(revision 5270)
@@ -155,6 +155,6 @@
  struct roar_server_info * ret = NULL;
  uint16_t * d16, * dptr;
- int idx;
- int i;
+ size_t idx;
+ size_t i;
  size_t needlen = 4;
  char * textpart;
Index: libroar/slp.c
===================================================================
--- libroar/slp.c	(revision 4805)
+++ libroar/slp.c	(revision 5270)
@@ -48,4 +48,6 @@
  struct roar_slp_cookie * self = cookie;
 
+ (void)hslp;
+
  ROAR_DBG("roar_slp_url_callback(*) = ?");
 
Index: libroar/socket.c
===================================================================
--- libroar/socket.c	(revision 5261)
+++ libroar/socket.c	(revision 5270)
@@ -1088,5 +1088,5 @@
 
  if ( app_len > 0 )
-  if ( write(fh, app, app_len) != app_len )
+  if ( write(fh, app, app_len) != (ssize_t)app_len )
    return -1;
 
Index: libroar/stream.c
===================================================================
--- libroar/stream.c	(revision 5240)
+++ libroar/stream.c	(revision 5270)
@@ -510,5 +510,5 @@
  }
 
- if ( data[1] != ROAR_STREAM_PARA_NAME ) {
+ if ( data[1] != (uint16_t)ROAR_STREAM_PARA_NAME ) {
   roar_err_set(ROAR_ERROR_TYPEMM);
   return -1;
@@ -815,5 +815,5 @@
 */
 
-static struct {
+static const struct {
  int    dir;
  const char * name;
@@ -870,8 +870,8 @@
 */
 
-static struct {
- int    codec;
- const char * name;
- const char * mime;
+static const struct {
+ const uint32_t codec;
+ const char   * name;
+ const char   * mime;
 } _libroar_codec[] = {
  // PCM:
@@ -975,6 +975,6 @@
 };
 
-int roar_str2codec(const char * codec) {
- int i;
+int32_t roar_str2codec(const char * codec) {
+ size_t i;
  int guess;
 
@@ -985,5 +985,5 @@
   return guess;
 
- for (i = 0; _libroar_codec[i].codec != -1; i++)
+ for (i = 0; _libroar_codec[i].codec != (uint32_t)-1; i++)
   if ( strcasecmp(_libroar_codec[i].name, codec) == 0 )
    return _libroar_codec[i].codec;
@@ -994,8 +994,8 @@
 
 
-const char * roar_codec2str (const int codec) {
+const char * roar_codec2str (const uint32_t codec) {
  int i;
 
- for (i = 0; _libroar_codec[i].codec != -1; i++)
+ for (i = 0; _libroar_codec[i].codec != (uint32_t)-1; i++)
   if ( _libroar_codec[i].codec == codec )
    return _libroar_codec[i].name;
@@ -1004,6 +1004,6 @@
 }
 
-int    roar_mime2codec (const char * mime) {
- int i;
+int32_t  roar_mime2codec (const char * mime) {
+ size_t i;
 
  if ( mime == NULL ) {
@@ -1017,5 +1017,5 @@
  }
 
- for (i = 0; _libroar_codec[i].codec != -1; i++)
+ for (i = 0; _libroar_codec[i].codec != (uint32_t)-1; i++)
   if ( _libroar_codec[i].mime != NULL )
    if ( strcasecmp(_libroar_codec[i].mime, mime) == 0 )
@@ -1026,8 +1026,8 @@
 }
 
-const char * roar_codec2mime (const int    codec) {
- int i;
-
- for (i = 0; _libroar_codec[i].codec != -1; i++)
+const char * roar_codec2mime (const uint32_t   codec) {
+ size_t i;
+
+ for (i = 0; _libroar_codec[i].codec != (uint32_t)-1; i++)
   if ( _libroar_codec[i].codec == codec )
    return _libroar_codec[i].mime;
@@ -1110,5 +1110,5 @@
 }
 
-static struct {
+static const struct {
  int    role;
  const char * name;
@@ -1209,5 +1209,5 @@
 }
 
-static struct {
+static const struct {
  const char * name;
  struct roar_audio_info info;
Index: libroar/trap.c
===================================================================
--- libroar/trap.c	(revision 4784)
+++ libroar/trap.c	(revision 5270)
@@ -54,5 +54,7 @@
  size_t i;
 
- for (i = 0; i < (sizeof(_libroar_trap_groups)/sizeof(*_libroar_trap_groups)) && _libroar_trap_groups[i].id != -1; i++);
+ for (i = 0;
+      i < (sizeof(_libroar_trap_groups)/sizeof(*_libroar_trap_groups)) && _libroar_trap_groups[i].id != (unsigned int)-1;
+      i++);
  if ( i == (sizeof(_libroar_trap_groups)/sizeof(*_libroar_trap_groups)) )
   return -1;
@@ -68,5 +70,7 @@
  size_t i;
 
- for (i = 0; i < (sizeof(_libroar_trap_groups)/sizeof(*_libroar_trap_groups)) && _libroar_trap_groups[i].id != -1; i++) {
+ for (i = 0;
+      i < (sizeof(_libroar_trap_groups)/sizeof(*_libroar_trap_groups)) && _libroar_trap_groups[i].id != (unsigned int)-1;
+      i++) {
   if ( _libroar_trap_groups[i].id == group )
    return _libroar_trap_groups[i].name;
@@ -79,5 +83,7 @@
  size_t i;
 
- for (i = 0; i < (sizeof(_libroar_trap_groups)/sizeof(*_libroar_trap_groups)) && _libroar_trap_groups[i].id != -1; i++) {
+ for (i = 0;
+      i < (sizeof(_libroar_trap_groups)/sizeof(*_libroar_trap_groups)) && _libroar_trap_groups[i].id != (unsigned int)-1;
+      i++) {
   if ( !strcasecmp(_libroar_trap_groups[i].name, name) )
    return _libroar_trap_groups[i].id;
@@ -128,4 +134,5 @@
  }
 #else
+ (void)group, (void)name, (void)line, (void)file, (void)prefix;
  return;
 #endif
Index: libroar/vio.c
===================================================================
--- libroar/vio.c	(revision 5260)
+++ libroar/vio.c	(revision 5270)
@@ -686,4 +686,6 @@
 // null
 ssize_t roar_vio_null_rw    (struct roar_vio_calls * vio, void *buf, size_t count) {
+ (void)count;
+
  if ( vio == NULL || buf == NULL ) {
   roar_err_set(ROAR_ERROR_FAULT);
@@ -695,4 +697,5 @@
 
 int     roar_vio_null_sync    (struct roar_vio_calls * vio) {
+ (void)vio;
  return 0;
 }
Index: libroar/vio_dstr.c
===================================================================
--- libroar/vio_dstr.c	(revision 5257)
+++ libroar/vio_dstr.c	(revision 5270)
@@ -37,5 +37,5 @@
 
 #ifndef ROAR_WITHOUT_VIO_DSTR
-struct _roar_vio_dstr_type {
+static struct _roar_vio_dstr_type {
  const int    id;
  const char * name;
Index: libroar/vio_jumbo.c
===================================================================
--- libroar/vio_jumbo.c	(revision 4708)
+++ libroar/vio_jumbo.c	(revision 5270)
@@ -147,5 +147,5 @@
 
  // TODO: do this a bit more intelergent (RE?)
- if ( roar_vio_write(self->backend, data, self->pos) != self->pos )
+ if ( roar_vio_write(self->backend, data, self->pos) != (ssize_t)self->pos )
   return -1;
 
Index: libroar/vio_misc.c
===================================================================
--- libroar/vio_misc.c	(revision 4876)
+++ libroar/vio_misc.c	(revision 5270)
@@ -55,4 +55,5 @@
 
 static off_t   roar_vio_misc_lseek   (struct roar_vio_calls * vio, off_t offset, int whence) {
+ (void)vio, (void)offset, (void)whence;
  return 0;
 }
@@ -71,4 +72,5 @@
 
 static int     roar_vio_misc_sync    (struct roar_vio_calls * vio) {
+ (void)vio;
  return 0;
 }
@@ -98,4 +100,5 @@
 
 static int     roar_vio_misc_close   (struct roar_vio_calls * vio) {
+ (void)vio;
  return 0;
 }
@@ -119,12 +122,15 @@
 
 static ssize_t roar_vio_misc_op_return_len (void * buf, size_t len, struct roar_vio_calls * vio, struct roar_vio_misc * callbacks) {
+ (void)buf, (void)vio, (void)callbacks;
  return len;
 }
 
 static ssize_t roar_vio_misc_op_return_zero(void * buf, size_t len, struct roar_vio_calls * vio, struct roar_vio_misc * callbacks) {
+ (void)buf, (void)len, (void)vio, (void)callbacks;
  return 0;
 }
 
 static ssize_t roar_vio_misc_op_zero(void * buf, size_t len, struct roar_vio_calls * vio, struct roar_vio_misc * callbacks) {
+ (void)vio, (void)callbacks;
  memset(buf, 0, len);
  return len;
@@ -133,4 +139,5 @@
 static ssize_t roar_vio_misc_op_full(void * buf, size_t len, struct roar_vio_calls * vio, struct roar_vio_misc * callbacks)
 {
+ (void)buf, (void)len, (void)vio, (void)callbacks;
  roar_err_set(ROAR_ERROR_NOSPC);
  return -1;
@@ -138,4 +145,6 @@
 
 static ssize_t roar_vio_misc_op_random_nonce(void * buf, size_t len, struct roar_vio_calls * vio, struct roar_vio_misc * callbacks) {
+ (void)vio, (void)callbacks;
+
  if ( roar_random_gen_nonce(buf, len) == -1 )
   return -1;
@@ -145,4 +154,6 @@
 
 static ssize_t roar_vio_misc_op_random_salt_nonce(void * buf, size_t len, struct roar_vio_calls * vio, struct roar_vio_misc * callbacks) {
+ (void)vio, (void)callbacks;
+
  if ( roar_random_salt_nonce(buf, len) == -1 )
   return -1;
Index: libroar/vio_pipe.c
===================================================================
--- libroar/vio_pipe.c	(revision 4708)
+++ libroar/vio_pipe.c	(revision 5270)
@@ -215,4 +215,5 @@
  // we may add fdatasync() calls here depending on the type
  // but in general they should not be needed on pipes.
+ (void)vio;
  return 0;
 }
Index: libroar/vio_stdio.c
===================================================================
--- libroar/vio_stdio.c	(revision 5088)
+++ libroar/vio_stdio.c	(revision 5270)
@@ -62,8 +62,13 @@
 #endif
 
+ // (void)flags is the the individual sections because later added APIs
+ // may require those flags.
+
  if ( calls == NULL )
   return NULL;
 
 #if defined(ROAR_HAVE_FOPENCOOKIE)
+ (void)flags;
+
  memset(&foc_funcs, 0, sizeof(cookie_io_functions_t));
 
@@ -74,4 +79,6 @@
  return fopencookie((void*) calls, "rw", foc_funcs);
 #elif defined(ROAR_HAVE_FUNOPEN)
+ (void)flags;
+
  return funopen((void*) calls, roar_vio_to_stdio_read,  roar_vio_to_stdio_write,
                                roar_vio_to_stdio_lseek, roar_vio_to_stdio_close);
Index: libroar/vio_tantalos.c
===================================================================
--- libroar/vio_tantalos.c	(revision 5028)
+++ libroar/vio_tantalos.c	(revision 5270)
@@ -62,4 +62,6 @@
  time_t now = time(NULL);
 
+ (void)dst;
+
  if ( (cookie = roar_vio_open_get_cookie(0)) == NULL )
   return -1;
Index: libroar/vio_zlib.c
===================================================================
--- libroar/vio_zlib.c	(revision 4956)
+++ libroar/vio_zlib.c	(revision 5270)
@@ -51,8 +51,10 @@
 
 static void * _zalloc(voidpf opaque, uInt items, uInt size) {
+ (void)opaque;
  return roar_mm_calloc(items, size);
 }
 
 static void _zfree(voidpf opaque, voidpf address) {
+ (void)opaque;
  roar_mm_free(address);
 }
@@ -220,5 +222,5 @@
   count -= len;
 
-  if ( len == buflen ) {
+  if ( len == (ssize_t)buflen ) {
    ret = roar_buffer_next(&(self->inbuf));
   } else {
@@ -342,5 +344,5 @@
   if ( len == -1 ) {
    return -1;
-  } else if ( len == buflen ) {
+  } else if ( len == (ssize_t)buflen ) {
    if ( roar_buffer_next(&(self->outbuf)) == -1 ) {
     roar_err_set((self->compressor_error = ROAR_ERROR_LOSTSYNC));
@@ -389,5 +391,5 @@
    len = roar_vio_write(self->next, outbuf, outlen);
 
-   if ( len < outlen ) {
+   if ( len < (ssize_t)outlen ) {
     if ( roar_buffer_new_data(&leftbuf, outlen - len, &leftbufdata) == -1 ) {
      roar_err_set((self->compressor_error = ROAR_ERROR_LOSTSYNC));
@@ -428,4 +430,5 @@
 
 static off_t   roar_vio_zlib_lseek   (struct roar_vio_calls * vio, off_t offset, int whence) {
+ (void)vio, (void)offset, (void)whence;
  roar_err_set(ROAR_ERROR_NOSYS);
  return (off_t)-1;
Index: libroar/vs.c
===================================================================
--- libroar/vs.c	(revision 5262)
+++ libroar/vs.c	(revision 5270)
@@ -160,5 +160,5 @@
  ssize_t offset;
  int cmd, subcmd;
- int i;
+ size_t i;
 
  if ( roar_recv_message(vss->con, &mes, &data) == -1 ) {
@@ -1154,5 +1154,5 @@
  }
 
- if ( channels != oldchannels )
+ if ( channels != (size_t)oldchannels )
   mode = ROAR_SET_VOL_UNMAPPED;
 
