diff --git a/include/maskfld.cpp b/include/maskfld.cpp index eb11b243b..97b6773e5 100755 --- a/include/maskfld.cpp +++ b/include/maskfld.cpp @@ -1,4 +1,4 @@ -// $Id: maskfld.cpp,v 1.69 1995-01-18 14:40:52 guy Exp $ +// $Id: maskfld.cpp,v 1.70 1995-01-19 13:59:55 guy Exp $ #include #include @@ -806,8 +806,13 @@ bool TMask_field::on_key(KEY key) mk.mkKeylist = 'M'; strcpy(mk.mkKeyphrase, topic); + TFilename hlp("prassi.hlp"); + const TString16 mod(topic.left(2)); + if (mod != "ba") + hlp.insert(mod, 6); + HWND hwnd = (HWND)get_value(TASK_WIN, ATTR_NATIVE_WINDOW); - WinHelp(hwnd, "prassi.hlp", HELP_MULTIKEY, (DWORD)&mk); + WinHelp(hwnd, hlp, HELP_MULTIKEY, (DWORD)&mk); break; } #endif diff --git a/include/prassi.ver b/include/prassi.ver index a7057f176..55db94d3f 100755 --- a/include/prassi.ver +++ b/include/prassi.ver @@ -1 +1 @@ -#define VERSION 1.3 +#define VERSION 1.4 diff --git a/include/real.cpp b/include/real.cpp index 180a63743..30515dc57 100755 --- a/include/real.cpp +++ b/include/real.cpp @@ -384,8 +384,18 @@ char *real ::string (const char *picture) j--; if (z == '~') c = ' '; - else if (c == '@') - c = (z == '@') ? '0' : ' '; + else + { + if (c == '@') + c = (z == '@') ? '0' : ' '; + else + if (c == '-' && f[i+1] == '.') + { + f[i+1] = '-'; + c = ' '; + } + } + z = c; } } diff --git a/include/stdtypes.cpp b/include/stdtypes.cpp index 6f919c781..7236bc6a9 100755 --- a/include/stdtypes.cpp +++ b/include/stdtypes.cpp @@ -85,8 +85,9 @@ void free_global_vars() #include void* operator new(size_t size) -{ - void* mem = (void*)xvt_fmalloc(size); +{ + // void* mem = (void*)xvt_fmalloc(size); + void* mem = (void*)malloc(size); if (mem == NULL) fatal_box("Out of memory: can't allocate %u bytes", size); return mem; @@ -94,8 +95,9 @@ void* operator new(size_t size) void operator delete(void* ptr) { - CHECK(ptr, "Can't delete a NULL pointer!"); - xvt_ffree((char*)ptr); + CHECK(ptr, "Can't delete a NULL pointer"); + // xvt_ffree((char*)ptr); + free(ptr); } #endif // FOXPRO diff --git a/include/utility.cpp b/include/utility.cpp index bbc0a4158..17326b1ed 100755 --- a/include/utility.cpp +++ b/include/utility.cpp @@ -37,18 +37,21 @@ bool fcopy(const char* orig, const char* dest) const word size = 16*1024; TString buffer(size); - - while (TRUE) + + bool ok = TRUE; + while (ok) { const word letti = fread((char*)(const char*)buffer, 1, size, i); - fwrite((char*)(const char*)buffer, 1, letti, o); + ok = fwrite((char*)(const char*)buffer, 1, letti, o) == letti; if (letti < size) break; - } + } + + if (!ok) error_box("Errore di scrittura: probabile disco pieno!"); fclose(o); fclose(i); - return TRUE; + return ok; }