From de8ac68ba250a202efdd86fecf4e4dc862d10ec1 Mon Sep 17 00:00:00 2001 From: Przemyslaw Czerpak Date: Thu, 16 Mar 2006 04:41:27 +0000 Subject: [PATCH] 2006-03-16 05:35 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/lang/Makefile - harbour/source/lang/msgen.c * harbour/source/rtl/langapi.c * moved EN lang definitions to core lang code so we always have at least one lang module defined at sartup. Modified after common group agreement - no one was against, thanks to all for answers. Please update non GNU make files and remove harbour/source/lang/msgen.c file. * harbour/source/rtl/cdpapi.c * replaced CDP startup initialization with simple assignment * harbour/source/rtl/gtpca/gtpca.c * added #include for *nix platforms --- harbour/ChangeLog | 17 +++ harbour/source/lang/Makefile | 1 - harbour/source/lang/msgen.c | 218 ------------------------------- harbour/source/rtl/cdpapi.c | 24 +--- harbour/source/rtl/gtpca/gtpca.c | 1 + harbour/source/rtl/langapi.c | 154 +++++++++++++++++++++- 6 files changed, 173 insertions(+), 242 deletions(-) delete mode 100644 harbour/source/lang/msgen.c diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 1d6d577cf7..328e8d3737 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,23 @@ 2002-12-01 13:30 UTC+0100 Foo Bar */ * harbour/makefile.vc + * harbour/makefile64.nt + * harbour/makefile.bc + * harbour/makefile.vc + - removed references to harbour/source/rtl/gtwin/mouseobj + +2006-03-16 09:00 UTC+0100 Jacek Kubica (kubica/at/wssk.wroc.pl) + * harbour/makefile.bc + * harbour/makefile.nt + * harbour/makefile.vc + * harbour/makefile64.nt + - removed entry for harbour/source/lang/msgen.c file. + +2006-03-16 05:35 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + * harbour/source/lang/Makefile + - harbour/source/lang/msgen.c + * harbour/source/rtl/langapi.c + * moved EN lang definitions to core lang code so we always have at least one lang module defined at sartup. Modified after common group agreement - no one was against, thanks to all for answers. diff --git a/harbour/source/lang/Makefile b/harbour/source/lang/Makefile index 36a7d40e82..adf09b6ec5 100644 --- a/harbour/source/lang/Makefile +++ b/harbour/source/lang/Makefile @@ -17,7 +17,6 @@ C_SOURCES=\ msgdewin.c \ msgel.c \ msgelwin.c \ - msgen.c \ msgeo.c \ msges.c \ msgeswin.c \ diff --git a/harbour/source/lang/msgen.c b/harbour/source/lang/msgen.c deleted file mode 100644 index 45b0cfd050..0000000000 --- a/harbour/source/lang/msgen.c +++ /dev/null @@ -1,218 +0,0 @@ -/* - * $Id$ - */ - -/* - * Harbour Project source code: - * Language Support Module (EN) - * - * Copyright 1999-2001 Viktor Szakats - * www - http://www.harbour-project.org - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this software; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, - * Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/). - * - * As a special exception, the Harbour Project gives permission for - * additional uses of the text contained in its release of Harbour. - * - * The exception is that, if you link the Harbour libraries with other - * files to produce an executable, this does not by itself cause the - * resulting executable to be covered by the GNU General Public License. - * Your use of that executable is in no way restricted on account of - * linking the Harbour library code into it. - * - * This exception does not however invalidate any other reasons why - * the executable file might be covered by the GNU General Public License. - * - * This exception applies only to the code released by the Harbour - * Project under the name Harbour. If you copy code from other - * Harbour Project or Free Software Foundation releases into a copy of - * Harbour, as the General Public License permits, the exception does - * not apply to the code that you add in this way. To avoid misleading - * anyone as to the status of such modified files, you must delete - * this exception notice from them. - * - * If you write modifications of your own for Harbour, it is your choice - * whether to permit this exception to apply to your modifications. - * If you do not wish that, delete this exception notice. - * - */ - -/* Language name: English */ -/* ISO language code (2 chars): EN */ -/* Codepage: ???? */ - -#include "hbapilng.h" - -static HB_LANG s_lang = -{ - { - /* Identification */ - - "EN", /* ID */ - "English", /* Name (in English) */ - "English", /* Name (in native language) */ - "EN", /* RFC ID */ - "437", /* Codepage */ - "$Revision$ $Date$", /* Version */ - - /* Month names */ - - "January", - "February", - "March", - "April", - "May", - "June", - "July", - "August", - "September", - "October", - "November", - "December", - - /* Day names */ - - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday", - - /* CA-Cl*pper compatible natmsg items */ - - "Database Files # Records Last Update Size", - "Do you want more samples?", - "Page No.", - "** Subtotal **", - "* Subsubtotal *", - "*** Total ***", - "Ins", - " ", - "Invalid date", - "Range: ", - " - ", - "Y/N", - "INVALID EXPRESSION", - - /* Error description names */ - - "Unknown error", - "Argument error", - "Bound error", - "String overflow", - "Numeric overflow", - "Zero divisor", - "Numeric error", - "Syntax error", - "Operation too complex", - "", - "", - "Memory low", - "Undefined function", - "No exported method", - "Variable does not exist", - "Alias does not exist", - "No exported variable", - "Illegal characters in alias", - "Alias already in use", - "", - "Create error", - "Open error", - "Close error", - "Read error", - "Write error", - "Print error", - "", - "", - "", - "", - "Operation not supported", - "Limit exceeded", - "Corruption detected", - "Data type error", - "Data width error", - "Workarea not in use", - "Workarea not indexed", - "Exclusive required", - "Lock required", - "Write not allowed", - "Append lock failed", - "Lock Failure", - "", - "", - "", - "", - "array access", - "array assign", - "array dimension", - "not an array", - "conditional", - - /* Internal error names */ - - "Unrecoverable error %lu: ", - "Error recovery failure", - "No ERRORBLOCK() for error", - "Too many recursive error handler calls", - "RDD invalid or failed to load", - "Invalid method type from %s", - "hb_xgrab can't allocate memory", - "hb_xrealloc called with a NULL pointer", - "hb_xrealloc called with an invalid pointer", - "hb_xrealloc can't reallocate memory", - "hb_xfree called with an invalid pointer", - "hb_xfree called with a NULL pointer", - "Can\'t locate the starting procedure: \'%s\'", - "No starting procedure", - "Unsupported VM opcode", - "Symbol item expected from %s", - "Invalid symbol type for self from %s", - "Codeblock expected from %s", - "Incorrect item type on the stack trying to pop from %s", - "Stack underflow", - "An item was going to be copied to itself from %s", - "Invalid symbol item passed as memvar %s", - "Memory buffer overflow", - "hb_xgrab requested to allocate zero bytes", - "hb_xrealloc requested to resize to zero bytes", - "hb_xalloc requested to allocate zero bytes", - - "YYYY/MM/DD", - "Y", - "N" - } -}; - -HB_LANG_ANNOUNCE( EN ); - -HB_CALL_ON_STARTUP_BEGIN( hb_lang_Init_EN ) - hb_langRegister( &s_lang ); -HB_CALL_ON_STARTUP_END( hb_lang_Init_EN ) - -#if defined(HB_PRAGMA_STARTUP) - #pragma startup hb_lang_Init_EN -#elif defined(HB_MSC_STARTUP) - #if _MSC_VER >= 1010 - #pragma data_seg( ".CRT$XIY" ) - #pragma comment( linker, "/Merge:.CRT=.data" ) - #else - #pragma data_seg( "XIY" ) - #endif - static HB_$INITSYM hb_vm_auto_hb_lang_Init_EN = hb_lang_Init_EN; - #pragma data_seg() -#endif diff --git a/harbour/source/rtl/cdpapi.c b/harbour/source/rtl/cdpapi.c index 32b336e039..9c2b169b4c 100644 --- a/harbour/source/rtl/cdpapi.c +++ b/harbour/source/rtl/cdpapi.c @@ -56,8 +56,6 @@ #include "hbapicdp.h" -#define HB_CDP_MAX_ 64 - #define NUMBER_OF_CHARS 256 static USHORT uniCodes[NUMBER_OF_CHARS] = { @@ -98,7 +96,10 @@ static USHORT uniCodes[NUMBER_OF_CHARS] = { HB_UNITABLE hb_uniTbl_437 = { CPID_437, NUMBER_OF_CHARS, FALSE, uniCodes }; static HB_CODEPAGE s_en_codepage = { "EN",CPID_437,UNITB_437,0,NULL,NULL,0,0,0,0,0,NULL,NULL,NULL,NULL,0,NULL }; -static PHB_CODEPAGE s_cdpList[ HB_CDP_MAX_ ]; + +#define HB_CDP_MAX_ 64 + +static PHB_CODEPAGE s_cdpList[ HB_CDP_MAX_ ] = { &s_en_codepage }; PHB_CODEPAGE hb_cdp_page = &s_en_codepage; @@ -836,21 +837,4 @@ HB_FUNC( HB_TRANSLATE ) hb_retc( "" ); } -HB_CALL_ON_STARTUP_BEGIN( hb_codepage_Init_EN ) - hb_cdpRegister( &s_en_codepage ); -HB_CALL_ON_STARTUP_END( hb_codepage_Init_EN ) - -#if defined( HB_PRAGMA_STARTUP ) - #pragma startup hb_codepage_Init_EN -#elif defined(HB_MSC_STARTUP) - #if _MSC_VER >= 1010 - #pragma data_seg( ".CRT$XIY" ) - #pragma comment( linker, "/Merge:.CRT=.data" ) - #else - #pragma data_seg( "XIY" ) - #endif - static HB_$INITSYM hb_vm_auto_hb_codepage_Init_EN = hb_codepage_Init_EN; - #pragma data_seg() -#endif - #endif /* HB_CDP_SUPPORT_OFF */ diff --git a/harbour/source/rtl/gtpca/gtpca.c b/harbour/source/rtl/gtpca/gtpca.c index 7f16113ea9..873c2df914 100644 --- a/harbour/source/rtl/gtpca/gtpca.c +++ b/harbour/source/rtl/gtpca/gtpca.c @@ -76,6 +76,7 @@ #include #include #include + #include #include #include #else diff --git a/harbour/source/rtl/langapi.c b/harbour/source/rtl/langapi.c index f00b6d1c5d..29b56adee6 100644 --- a/harbour/source/rtl/langapi.c +++ b/harbour/source/rtl/langapi.c @@ -53,8 +53,156 @@ #include "hbapi.h" #include "hbapilng.h" +/* Language name: English */ +/* ISO language code (2 chars): EN */ +/* Codepage: 437 */ + +static HB_LANG s_lang_en = +{ + { + /* Identification */ + + "EN", /* ID */ + "English", /* Name (in English) */ + "English", /* Name (in native language) */ + "EN", /* RFC ID */ + "437", /* Codepage */ + "$Revision$ $Date$", /* Version */ + + /* Month names */ + + "January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December", + + /* Day names */ + + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + + /* CA-Cl*pper compatible natmsg items */ + + "Database Files # Records Last Update Size", + "Do you want more samples?", + "Page No.", + "** Subtotal **", + "* Subsubtotal *", + "*** Total ***", + "Ins", + " ", + "Invalid date", + "Range: ", + " - ", + "Y/N", + "INVALID EXPRESSION", + + /* Error description names */ + + "Unknown error", + "Argument error", + "Bound error", + "String overflow", + "Numeric overflow", + "Zero divisor", + "Numeric error", + "Syntax error", + "Operation too complex", + "", + "", + "Memory low", + "Undefined function", + "No exported method", + "Variable does not exist", + "Alias does not exist", + "No exported variable", + "Illegal characters in alias", + "Alias already in use", + "", + "Create error", + "Open error", + "Close error", + "Read error", + "Write error", + "Print error", + "", + "", + "", + "", + "Operation not supported", + "Limit exceeded", + "Corruption detected", + "Data type error", + "Data width error", + "Workarea not in use", + "Workarea not indexed", + "Exclusive required", + "Lock required", + "Write not allowed", + "Append lock failed", + "Lock Failure", + "", + "", + "", + "", + "array access", + "array assign", + "array dimension", + "not an array", + "conditional", + + /* Internal error names */ + + "Unrecoverable error %lu: ", + "Error recovery failure", + "No ERRORBLOCK() for error", + "Too many recursive error handler calls", + "RDD invalid or failed to load", + "Invalid method type from %s", + "hb_xgrab can't allocate memory", + "hb_xrealloc called with a NULL pointer", + "hb_xrealloc called with an invalid pointer", + "hb_xrealloc can't reallocate memory", + "hb_xfree called with an invalid pointer", + "hb_xfree called with a NULL pointer", + "Can\'t locate the starting procedure: \'%s\'", + "No starting procedure", + "Unsupported VM opcode", + "Symbol item expected from %s", + "Invalid symbol type for self from %s", + "Codeblock expected from %s", + "Incorrect item type on the stack trying to pop from %s", + "Stack underflow", + "An item was going to be copied to itself from %s", + "Invalid symbol item passed as memvar %s", + "Memory buffer overflow", + "hb_xgrab requested to allocate zero bytes", + "hb_xrealloc requested to resize to zero bytes", + "hb_xalloc requested to allocate zero bytes", + + "YYYY/MM/DD", + "Y", + "N" + } +}; + +HB_LANG_ANNOUNCE( EN ); + /* Always link in the default language */ -HB_LANG_REQUEST( HB_LANG_DEFAULT ); +/* HB_LANG_REQUEST( HB_LANG_DEFAULT ); */ /* NOTE: This is the maximum number of registered languages, later this can be made dynamic. */ @@ -66,8 +214,8 @@ HB_LANG_REQUEST( HB_LANG_DEFAULT ); #define HB_LANG_ITEM_ID_RFCID 3 #define HB_LANG_ITEM_ID_CODEPAGE 4 -static PHB_LANG s_langList[ HB_LANG_MAX_ ]; -static PHB_LANG s_lang = NULL; +static PHB_LANG s_langList[ HB_LANG_MAX_ ] = { &s_lang_en }; +static PHB_LANG s_lang = &s_lang_en; static int hb_langFindPos( char * pszID ) {