Win32: add workaround for lack of vasprintf() and use vsnprintf() on windows on a fixed size buffer

libnfs-4.0.0-vitalif
Ronnie Sahlberg 2011-08-29 18:00:09 +10:00
parent 0ad9a1f134
commit 2606f9bb3d
2 changed files with 18 additions and 11 deletions

View 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);
}

View 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);
}