r113: GCC4 warning fixes
[nbd.git] / cliserv.h
index 9743523..569d1ce 100644 (file)
--- a/cliserv.h
+++ b/cliserv.h
@@ -9,10 +9,11 @@
    Send 128 bytes of zeros (reserved for future use)
  */
 
-#include "config.h"
 #include <errno.h>
 #include <string.h>
 #include <netdb.h>
+#include <netinet/tcp.h>
+#include <stdlib.h>
 
 #if SIZEOF_UNSIGNED_SHORT_INT==4
 typedef unsigned short u32;
@@ -34,7 +35,17 @@ typedef unsigned long long u64;
 #error I need at least some 64-bit type
 #endif
 
+#ifdef NBD_H_LOCAL
+#include "nbd.h"
+#endif
+#ifdef NBD_H_LINUX
 #include <linux/nbd.h>
+#endif
+
+#if NBD_LFS==1
+#define _LARGEFILE_SOURCE
+#define _FILE_OFFSET_BITS 64
+#endif
 
 u64 cliserv_magic = 0x00420281861253LL;
 #define INIT_PASSWD "NBDMAGIC"
@@ -64,17 +75,16 @@ void err(const char *s)
 {
        const int maxlen = 150;
        char s1[maxlen], *s2;
-       int n = 0;
 
        strncpy(s1, s, maxlen);
-       if (s2 = strstr(s, "%m")) {
+       if ((s2 = strstr(s, "%m"))) {
                strcpy(s1 + (s2 - s), strerror(errno));
                s2 += 2;
                strcpy(s1 + strlen(s1), s2);
        }
 #ifndef        sun
        /* Solaris doesn't have %h in syslog */
-       else if (s2 = strstr(s, "%h")) {
+       else if ((s2 = strstr(s, "%h"))) {
                strcpy(s1 + (s2 - s), hstrerror(h_errno));
                s2 += 2;
                strcpy(s1 + strlen(s1), s2);
@@ -83,7 +93,7 @@ void err(const char *s)
 
        s1[maxlen-1] = '\0';
 #ifdef ISSERVER
-       syslog(LOG_ERR, s1);
+       syslog(LOG_ERR, "%s", s1);
 #else
        fprintf(stderr, "Error: %s\n", s1);
 #endif