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;
#error I need at least some 64-bit type
#endif
-#ifdef HAVE_LINUX_NBD_H
-#include <linux/nbd.h>
-#else
-/* get it from a kernel source somewhere, and dump it in this directory.
- * Required for people trying to compile nbd-server on a non-linux
- * system. */
+#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"
{
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);
s1[maxlen-1] = '\0';
#ifdef ISSERVER
- syslog(LOG_ERR, s1);
+ syslog(LOG_ERR, "%s", s1);
#else
fprintf(stderr, "Error: %s\n", s1);
#endif