38 lines
864 B
C++
38 lines
864 B
C++
#include "msunix.hpp"
|
|
|
|
int vasprintf( char ** ret, const char * format, va_list ap )
|
|
{
|
|
int len;
|
|
char *buffer;
|
|
|
|
len = _vscprintf(format, ap) + 1;
|
|
buffer = (char *) malloc(len * sizeof(char));
|
|
if (!buffer) return 0;
|
|
vsprintf_s(buffer, len, format, ap);
|
|
*ret = buffer;
|
|
return len -1;
|
|
}
|
|
|
|
/*int snprintf(char * str, size_t size, const char * format, ...)
|
|
{
|
|
va_list args;
|
|
size_t len;
|
|
|
|
va_start(args, format);
|
|
len = _vscprintf(format, args) + 1;
|
|
if (len > size) len = size;
|
|
vsprintf_s(str, len, format, args);
|
|
return len - 1;
|
|
}*/
|
|
|
|
int setenv( const char *name, const char *value, int overwrite )
|
|
{
|
|
int errcode = 0;
|
|
if(!overwrite) {
|
|
size_t envsize = 0;
|
|
errcode = getenv_s(&envsize, NULL, 0, name);
|
|
if(errcode || envsize) return errcode;
|
|
}
|
|
return _putenv_s(name, value);
|
|
}
|