Import Geant4 9.6.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 17:01:34 +02:00
parent b1eb5424d2
commit e2d2f9810a
10384 changed files with 698580 additions and 628834 deletions
+24 -7
View File
@@ -5,11 +5,32 @@
#define tools_sprintf
#include <string>
#include <cstdarg>
#include <cstdio>
#include "snpf"
namespace tools {
inline bool vsprintf(std::string& a_string,int a_length,const char* a_format,va_list a_args){
a_string.clear();
if(a_length<0) return false;
if(!a_format) return false;
char* s = new char[a_length+1];
if(!s) return false;
s[a_length] = '\0';
int n = vsnpf(s,a_length+1,a_format,a_args);
if(n>a_length) {
delete [] s;
return false;
}
if(s[a_length]!='\0') {
delete [] s;
return false;
}
a_string = s;
delete [] s;
return true;
}
inline bool sprintf(std::string& a_string,int a_length,const char* a_format,...){
a_string.clear();
if(a_length<0) return false;
@@ -19,11 +40,7 @@ inline bool sprintf(std::string& a_string,int a_length,const char* a_format,...)
s[a_length] = '\0';
va_list args;
va_start(args,a_format);
#ifdef WIN32
int n = _vsnprintf(s,a_length+1,a_format,args);
#else
int n = ::vsnprintf(s,a_length+1,a_format,args);
#endif
int n = vsnpf(s,a_length+1,a_format,args);
va_end(args);
if(n>a_length) {
delete [] s;