Win32: add workaround for lack of vasprintf() and use vsnprintf() on windows on a...
authorRonnie Sahlberg <ronniesahlberg@gmail.com>
Mon, 29 Aug 2011 08:00:09 +0000 (18:00 +1000)
committerRonnie Sahlberg <ronniesahlberg@gmail.com>
Mon, 29 Aug 2011 08:00:09 +0000 (18:00 +1000)
lib/init.c
lib/libnfs.c

index 222bee92405009fc3294fb58600ca8627ee82dc3..d9f788f99edca3819688d6c9d9582c8ab6b2fe4a 100644 (file)
@@ -1,10 +1,7 @@
 /*
    Copyright (C) 2010 by Ronnie Sahlberg <ronniesahlberg@gmail.com>
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU Lesser General Public License as published by
-   the Free Software Foundation; either version 2.1 of the License, or
-   (at your option) any later version.
+
 
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -99,8 +96,13 @@ void rpc_set_error(struct rpc_context *rpc, char *error_string, ...)
                free(rpc->error_string);
        }
         va_start(ap, error_string);
-       //      vasprintf(&str, error_string, ap);
-       //      rpc->error_string = str;
+#if defined (WIN32)
+       str = malloc(1024);
+       vsnprintf(str, 1024, error_string, ap);
+#else
+       vasprintf(&str, error_string, ap);
+#endif
+       rpc->error_string = str;
         va_end(ap);
 }
 
index 8a0adba4614ca7df31ca787e9aa254a5b465008e..df273fb3d144894705001bbb48a9ddd6599801f4 100644 (file)
@@ -2899,11 +2899,16 @@ void nfs_set_error(struct nfs_context *nfs, char *error_string, ...)
        char *str = NULL;
 
         va_start(ap, error_string);
-       //      vasprintf(&str, error_string, ap);
-       //      if (nfs->rpc->error_string != NULL) {
-       //      free(nfs->rpc->error_string);
-       //}
-       //nfs->rpc->error_string = str;
+#if defined (WIN32)
+       str = malloc(1024);
+       vsnprintf(str, 1024, error_string, ap);
+#else
+       vasprintf(&str, error_string, ap);
+#endif
+       if (nfs->rpc->error_string != NULL) {
+               free(nfs->rpc->error_string);
+       }
+       fs->rpc->error_string = str;
         va_end(ap);
 }