diff --git a/uppdev/FormatUnsafe/FormatUnsafe.cpp b/uppdev/FormatUnsafe/FormatUnsafe.cpp new file mode 100644 index 000000000..5ccc47da2 --- /dev/null +++ b/uppdev/FormatUnsafe/FormatUnsafe.cpp @@ -0,0 +1,45 @@ +#include + +using namespace Upp; + +CONSOLE_APP_MAIN +{ + StdLogSetup(LOG_COUT|LOG_FILE); + String rndset; + rndset << "[]<>;`%%%%"; + rndset << rndset; + rndset << rndset; + rndset << rndset; + for(int i = 32; i < 128; i++) + if(IsAlpha(i) || IsDigit(i)) + rndset.Cat(i); + SeedRandom(); + int time0 = msecs(); + while(msecs(time0) < 150000) { + String fmtstr; + while(Random(20)) + fmtstr << (char)rndset[Random(rndset.GetCount())]; + Vector v; + for(;;) { + int q = Random(5); + if(q == 0) + break; + switch(q) { + case 1: + v.Add((int)Random(100)); + break; + case 2: + v.Add(AsString(Random(100))); + break; + case 3: + v.Add(GetSysDate() + Random(100)); + break; + } + } + DUMP(fmtstr); + DUMP(v); + DUMP(NFormat(fmtstr, v)); + } + + LOG("============ OK"); +} diff --git a/uppdev/FormatUnsafe/FormatUnsafe.upp b/uppdev/FormatUnsafe/FormatUnsafe.upp new file mode 100644 index 000000000..f39bb30c0 --- /dev/null +++ b/uppdev/FormatUnsafe/FormatUnsafe.upp @@ -0,0 +1,9 @@ +uses + Core; + +file + FormatUnsafe.cpp; + +mainconfig + "" = "SSE2"; + diff --git a/uppdev/FormatUnsafe/init b/uppdev/FormatUnsafe/init new file mode 100644 index 000000000..225b8913a --- /dev/null +++ b/uppdev/FormatUnsafe/init @@ -0,0 +1,4 @@ +#ifndef _FormatUnsafe_icpp_init_stub +#define _FormatUnsafe_icpp_init_stub +#include "Core/init" +#endif