X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=ETL%2Ftrunk%2FETL%2F_stringf.h;h=120c3269a2e8626a8c6af172d0e13ef61f5d263f;hb=1891afee8b0ad9e67c56b1c262a940a0bb5042cb;hp=aaa87fd2513bf08d8e04ed2df2c7d2b6831055b4;hpb=18baf4d4fe523d84ad741d7fde0f10a58d47587b;p=synfig.git diff --git a/ETL/trunk/ETL/_stringf.h b/ETL/trunk/ETL/_stringf.h index aaa87fd..120c326 100644 --- a/ETL/trunk/ETL/_stringf.h +++ b/ETL/trunk/ETL/_stringf.h @@ -41,8 +41,10 @@ #endif #ifdef WIN32 +#define POPEN_BINARY_READ_TYPE "rb" #define POPEN_BINARY_WRITE_TYPE "wb" #else +#define POPEN_BINARY_READ_TYPE "r" #define POPEN_BINARY_WRITE_TYPE "w" #endif @@ -89,9 +91,12 @@ vstrprintf(const char *format, va_list args) #ifdef HAVE_VASPRINTF // This is the preferred method (and safest) char *buffer; std::string ret; - vasprintf(&buffer,format,args); - ret=buffer; - free(buffer); + int i=vasprintf(&buffer,format,args); + if (i>-1) + { + ret=buffer; + free(buffer); + } return ret; #else #ifdef HAVE_VSNPRINTF // This is the secondary method (Safe, but bulky) @@ -196,10 +201,12 @@ dirname(const std::string &str) break; if(iter==str.begin()) + { if (*iter==ETL_DIRECTORY_SEPARATOR) return "/"; else return "."; + } return std::string(str.begin(),iter); }