2008-03-25 12:26 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/common.mak
* harbour/source/lang/Makefile
+ harbour/source/lang/msgskiso.c
+ harbour/source/lang/msgskwin.c
+ harbour/source/lang/msgskkam.c
+ harbour/source/lang/msgsk852.c
+ added Slovak national messages by Gyula Bartal - many thanks
* harbour/include/hbapi.h
* harbour/source/vm/arrays.c
! Guarded hb_arraySetNLL() declaration with #ifndef HB_LONG_LONG_OFF.
! Fixed trace in hb_arraySetNInt().
By Phil Krylov borrowed from xHarbour
* harbour/include/hbgtcore.h
! added missing HB_EXTERN_BEGIN / HB_EXTERN_END
By Ron Pinkas borrowed from xHarbour
* harbour/source/rtl/gtos2/gtos2.c
% updated for much faster screen updating in OS2 console - many
thanks for Maurilio Longo for tests and code.
* harbour/source/rtl/cdpapi.c
! fixed CP string translation for CPs with accented equal characters
+ added HB_UTF8CHR( <nUniVal> ) -> <cUtf8Char>
It's compatible with the function HB_UTF8CHR() by Phil Krylov in
xHarbour
* harbour/source/rtl/gtsln/gtsln.h
* removed repeated #include <unistd.h>
* harbour/contrib/hbct/files.c
! fixed FILESEEK() called with 3-rd parameter set to .T. (exact
attribute match)
* harbour/config/os2/global.cf
! added fixes by David Arturo Macias Corona
+ harbour/make_os2_gcc.cmd
+ added build file for GCC OS2 users with minimal environment settings
This commit is contained in:
@@ -8,6 +8,48 @@
|
||||
2002-12-01 13:30 UTC+0100 Foo Bar <foo.bar@foobar.org>
|
||||
*/
|
||||
|
||||
2008-03-25 12:26 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
||||
* harbour/common.mak
|
||||
* harbour/source/lang/Makefile
|
||||
+ harbour/source/lang/msgskiso.c
|
||||
+ harbour/source/lang/msgskwin.c
|
||||
+ harbour/source/lang/msgskkam.c
|
||||
+ harbour/source/lang/msgsk852.c
|
||||
+ added Slovak national messages by Gyula Bartal - many thanks
|
||||
|
||||
* harbour/include/hbapi.h
|
||||
* harbour/source/vm/arrays.c
|
||||
! Guarded hb_arraySetNLL() declaration with #ifndef HB_LONG_LONG_OFF.
|
||||
! Fixed trace in hb_arraySetNInt().
|
||||
By Phil Krylov borrowed from xHarbour
|
||||
|
||||
* harbour/include/hbgtcore.h
|
||||
! added missing HB_EXTERN_BEGIN / HB_EXTERN_END
|
||||
By Ron Pinkas borrowed from xHarbour
|
||||
|
||||
* harbour/source/rtl/gtos2/gtos2.c
|
||||
% updated for much faster screen updating in OS2 console - many
|
||||
thanks for Maurilio Longo for tests and code.
|
||||
|
||||
* harbour/source/rtl/cdpapi.c
|
||||
! fixed CP string translation for CPs with accented equal characters
|
||||
+ added HB_UTF8CHR( <nUniVal> ) -> <cUtf8Char>
|
||||
It's compatible with the function HB_UTF8CHR() by Phil Krylov in
|
||||
xHarbour
|
||||
|
||||
* harbour/source/rtl/gtsln/gtsln.h
|
||||
* removed repeated #include <unistd.h>
|
||||
|
||||
* harbour/contrib/hbct/files.c
|
||||
! fixed FILESEEK() called with 3-rd parameter set to .T. (exact
|
||||
attribute match)
|
||||
|
||||
* harbour/config/os2/global.cf
|
||||
! added fixes by David Arturo Macias Corona
|
||||
|
||||
+ harbour/make_os2_gcc.cmd
|
||||
+ added build file for GCC OS2 users with minimal environment settings
|
||||
|
||||
2008-03-15 16:58 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
||||
* harbour/contrib/hbzlib/zip.c
|
||||
! fixed to not ignore errors in zipFlushWriteBuffer()
|
||||
|
||||
@@ -722,6 +722,10 @@ LANG_LIB_OBJS = \
|
||||
$(OBJ_DIR)\msgru866$(OBJEXT) \
|
||||
$(OBJ_DIR)\msgrukoi$(OBJEXT) \
|
||||
$(OBJ_DIR)\msgruwin$(OBJEXT) \
|
||||
$(OBJ_DIR)\msgskiso$(OBJEXT) \
|
||||
$(OBJ_DIR)\msgskwin$(OBJEXT) \
|
||||
$(OBJ_DIR)\msgskkam$(OBJEXT) \
|
||||
$(OBJ_DIR)\msgsk852$(OBJEXT) \
|
||||
$(OBJ_DIR)\msgsl437$(OBJEXT) \
|
||||
$(OBJ_DIR)\msgsl852$(OBJEXT) \
|
||||
$(OBJ_DIR)\msgsliso$(OBJEXT) \
|
||||
|
||||
@@ -22,9 +22,9 @@ endif
|
||||
ifeq ($(SHLVL),) # An OS/2 command shell
|
||||
|
||||
ARCH_DIR = $(HB_ARCH)
|
||||
OS2_ARCH_DIR = $(subst /,\\,$(HB_ARCH))
|
||||
OS2_LIB_DIR = $(subst /,\\,$(LIB_DIR))
|
||||
OS2_LIB_PATH = $(subst /,\\,$(LIB_PATH))
|
||||
OS2_ARCH_DIR = $(subst /,\,$(HB_ARCH))
|
||||
OS2_LIB_DIR = $(subst /,\,$(LIB_DIR))
|
||||
OS2_LIB_PATH = $(subst /,\,$(LIB_PATH))
|
||||
OS2_LIB_ARCH = $(subst /,\\,$(LIB_ARCH))
|
||||
DIRSEP = $(subst /,\,\)
|
||||
|
||||
@@ -48,7 +48,7 @@ dirbase::
|
||||
-CMD.EXE /C FOR %d IN ($(HB_ARCHITECTURE) $(OS2_ARCH_DIR)) DO IF NOT EXIST %d $(MD) %d
|
||||
|
||||
clean::
|
||||
-CMD.EXE /C FOR %f IN ($(OS2_ARCH_DIR)\*.*) DO $(RM) %f
|
||||
-CMD.EXE /C IF EXIST $(OS2_ARCH_DIR)\*.* $(RM) $(OS2_ARCH_DIR)\\*.*
|
||||
-CMD.EXE /C FOR %d IN ($(OS2_ARCH_DIR) $(HB_ARCHITECTURE)) DO IF EXIST %d $(RD) %d
|
||||
|
||||
else
|
||||
@@ -57,7 +57,7 @@ dirbase::
|
||||
-CMD.EXE /C FOR %d IN ($(HB_ARCHITECTURE) $(OS2_ARCH_DIR) $(OS2_LIB_PATH) $(OS2_LIB_DIR)) DO IF NOT EXIST %d $(MD) %d
|
||||
|
||||
clean::
|
||||
-CMD.EXE /C FOR %f IN ($(OS2_ARCH_DIR)\*.*) DO $(RM) %f
|
||||
-CMD.EXE /C IF EXIST $(OS2_ARCH_DIR)\*.* $(RM) $(OS2_ARCH_DIR)\\*.*
|
||||
-CMD.EXE /C FOR %d IN ($(OS2_ARCH_DIR) $(HB_ARCHITECTURE)) DO IF EXIST %d $(RD) %d
|
||||
-CMD.EXE /C IF EXIST $(OS2_LIB_ARCH) $(RM) $(OS2_LIB_ARCH)
|
||||
|
||||
|
||||
@@ -94,6 +94,7 @@
|
||||
#endif
|
||||
|
||||
static PHB_FFIND s_ffind = NULL;
|
||||
static USHORT s_uiAttr = 0;
|
||||
static BOOL s_fInit = FALSE;
|
||||
|
||||
static void _hb_fileClose( void * cargo )
|
||||
@@ -129,14 +130,34 @@ static PHB_FFIND _hb_fileStart( BOOL fNext, USHORT uiAttr )
|
||||
}
|
||||
szFile = ( char * ) hb_fsNameConv( ( BYTE * ) szFile, &fFree );
|
||||
if( ISNUM( 2 ) )
|
||||
uiAttr = hb_parni( 2 );
|
||||
uiAttr = ( USHORT ) hb_parni( 2 );
|
||||
s_uiAttr = ISLOG( 3 ) && hb_parl( 3 ) ? uiAttr : 0;
|
||||
s_ffind = hb_fsFindFirst( szFile, uiAttr );
|
||||
if( fFree )
|
||||
hb_xfree( szFile );
|
||||
while( s_ffind && s_uiAttr && s_ffind->attr != s_uiAttr )
|
||||
{
|
||||
if( !hb_fsFindNext( s_ffind ) )
|
||||
{
|
||||
hb_fsFindClose( s_ffind );
|
||||
s_ffind = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if( fNext && s_ffind )
|
||||
hb_fsFindNext( s_ffind );
|
||||
{
|
||||
do
|
||||
{
|
||||
if( !hb_fsFindNext( s_ffind ) )
|
||||
{
|
||||
hb_fsFindClose( s_ffind );
|
||||
s_ffind = NULL;
|
||||
break;
|
||||
}
|
||||
}
|
||||
while( s_uiAttr && s_ffind->attr != s_uiAttr );
|
||||
}
|
||||
|
||||
return s_ffind;
|
||||
}
|
||||
|
||||
@@ -719,7 +719,9 @@ extern HB_EXPORT BOOL hb_arraySetDL( PHB_ITEM pArray, ULONG ulIndex, LONG l
|
||||
extern HB_EXPORT BOOL hb_arraySetL( PHB_ITEM pArray, ULONG ulIndex, BOOL fValue );
|
||||
extern HB_EXPORT BOOL hb_arraySetNI( PHB_ITEM pArray, ULONG ulIndex, int iNumber );
|
||||
extern HB_EXPORT BOOL hb_arraySetNL( PHB_ITEM pArray, ULONG ulIndex, LONG lNumber );
|
||||
#ifndef HB_LONG_LONG_OFF
|
||||
extern HB_EXPORT BOOL hb_arraySetNLL( PHB_ITEM pArray, ULONG ulIndex, LONGLONG llNumber );
|
||||
#endif
|
||||
extern HB_EXPORT BOOL hb_arraySetNInt( PHB_ITEM pArray, ULONG ulIndex, HB_LONG lNumber );
|
||||
extern HB_EXPORT BOOL hb_arraySetND( PHB_ITEM pArray, ULONG ulIndex, double dNumber );
|
||||
extern HB_EXPORT BOOL hb_arraySetC( PHB_ITEM pArray, ULONG ulIndex, const char * szText );
|
||||
|
||||
@@ -61,6 +61,8 @@
|
||||
#include "hbapigt.h"
|
||||
#include "hbapicdp.h"
|
||||
|
||||
HB_EXTERN_BEGIN
|
||||
|
||||
/* extended attributes used by core screen buffer */
|
||||
#define HB_GT_ATTR_BOX 0x01
|
||||
#define HB_GT_ATTR_SHADOW 0x02
|
||||
@@ -603,4 +605,6 @@ extern void hb_gt_w32_tone( double dFrequency, double dDuration );
|
||||
int hb_gt_dos_keyCodeTranslate( int iKey );
|
||||
#endif /* HB_OS_DOS || HB_OS_WIN_32 || HB_OS_OS2 */
|
||||
|
||||
HB_EXTERN_END
|
||||
|
||||
#endif /* HB_GTCORE_H_ */
|
||||
|
||||
15
harbour/make_os2_gcc.cmd
Normal file
15
harbour/make_os2_gcc.cmd
Normal file
@@ -0,0 +1,15 @@
|
||||
@echo off
|
||||
|
||||
rem
|
||||
rem $Id$
|
||||
rem
|
||||
|
||||
rem Minimal initialization of environment variables for OS2 GCC build
|
||||
rem for further information about see make_gnu.bat
|
||||
|
||||
|
||||
if "%HB_ARCHITECTURE%" == "" set HB_ARCHITECTURE=os2
|
||||
if "%HB_COMPILER%" == "" set HB_COMPILER=gcc
|
||||
if "%HB_GT_LIB%" == "" set HB_GT_LIB=
|
||||
|
||||
make -r %1 %2 %3 %4 %5 %6 %7 %8 %9 > make_gnu.log
|
||||
@@ -51,6 +51,10 @@ C_SOURCES=\
|
||||
msgru866.c \
|
||||
msgrukoi.c \
|
||||
msgruwin.c \
|
||||
msgskiso.c \
|
||||
msgskwin.c \
|
||||
msgskkam.c \
|
||||
msgsk852.c \
|
||||
msgsl437.c \
|
||||
msgsl852.c \
|
||||
msgsliso.c \
|
||||
|
||||
219
harbour/source/lang/msgsk852.c
Normal file
219
harbour/source/lang/msgsk852.c
Normal file
@@ -0,0 +1,219 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
* Language Support Module (SK852) SK852
|
||||
*
|
||||
* Copyright 2008 Gyula Bartal <bartal@tauris-danubius.sk> (from msgskwin.c)
|
||||
* 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: Slovak */
|
||||
/* ISO language code (2 chars): SK */
|
||||
/* Codepage: 852 */
|
||||
|
||||
#include "hbapilng.h"
|
||||
|
||||
static HB_LANG s_lang =
|
||||
{
|
||||
{
|
||||
/* Identification */
|
||||
|
||||
"SK852", /* ID */
|
||||
"Slovak", /* Name (in English) */
|
||||
"Slovensky", /* Name (in native language) */
|
||||
"SK", /* RFC ID */
|
||||
"852", /* Codepage */
|
||||
"$Revision$ $Date$", /* Version */
|
||||
|
||||
/* Month names */
|
||||
|
||||
"janu r",
|
||||
"febru r",
|
||||
"marec",
|
||||
"apr¡l",
|
||||
"m j",
|
||||
"j£n",
|
||||
"j£l",
|
||||
"august",
|
||||
"september",
|
||||
"okt¢ber",
|
||||
"november",
|
||||
"december",
|
||||
|
||||
/* Day names */
|
||||
|
||||
"nede–a",
|
||||
"pondelok",
|
||||
"utorok",
|
||||
"streda",
|
||||
"çtvrtok",
|
||||
"piatok",
|
||||
"sobota",
|
||||
|
||||
/* CA-Cl*pper compatible natmsg items */
|
||||
|
||||
"D tab ze # Vety Aktualiz cia Ve–kosœ",
|
||||
"Chcete viac pr¡kladov?",
|
||||
"Strana",
|
||||
"** Medzis£Ÿet **",
|
||||
"* Medzimedzis£Ÿet *",
|
||||
"*** S£Ÿet ***",
|
||||
"Ins",
|
||||
" ",
|
||||
"Chybnì d tum",
|
||||
"Rozsah: ",
|
||||
" - ",
|
||||
"A/N",
|
||||
"CHYBNí VíRAZ",
|
||||
|
||||
/* Error description names */
|
||||
|
||||
"Nezn m chyba",
|
||||
"Chyba argumentu",
|
||||
"Chyba medz¡",
|
||||
"Preplnenie reœazca",
|
||||
"Preplnenie Ÿ¡sla",
|
||||
"Delenie nulou",
|
||||
"Numerick chyba",
|
||||
"Chyba syntaxe",
|
||||
"Oper cia pr¡liç komplexn ",
|
||||
"",
|
||||
"",
|
||||
"Nedostatok pam„te",
|
||||
"Nedefinovan funkcia",
|
||||
"Nezn ma met¢da",
|
||||
"Premenn neexistuje",
|
||||
"Oblasœ neexistuje",
|
||||
"Nezn ma premenn ",
|
||||
"Nepovolen‚ znaky v oblasti",
|
||||
"Oblasœ u§ pou§it ",
|
||||
"",
|
||||
"Chyba vytvorenia",
|
||||
"Chyba otvorenia",
|
||||
"Chyba zatvorenia",
|
||||
"Chyba Ÿ¡tania",
|
||||
"Chyba z pisu",
|
||||
"Chyba tlaŸe",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"Nepodporov na oper cia",
|
||||
"PrekroŸenì limit",
|
||||
"Index poçkodenì",
|
||||
"Chyba typu d t",
|
||||
"Chyba d’§ky d t",
|
||||
"Nepou§it pracovn oblasœ ",
|
||||
"Nezoraden pracovn oblasœ",
|
||||
"Nutnì vìhradnì pr¡stup",
|
||||
"Uzamknutie nutn‚",
|
||||
"Zlyhanie z mka pri prid v nie",
|
||||
"Zlyhanie z mka",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"pr¡stup k polom",
|
||||
"priradenie k pole",
|
||||
"zmena dimenze pole",
|
||||
"nie je polom",
|
||||
"podmienka",
|
||||
|
||||
/* 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",
|
||||
|
||||
/* Texts */
|
||||
|
||||
"DD.MM.YYYY",
|
||||
"A",
|
||||
"N"
|
||||
}
|
||||
};
|
||||
|
||||
HB_LANG_ANNOUNCE( SK852 );
|
||||
|
||||
HB_CALL_ON_STARTUP_BEGIN( hb_lang_Init_SK852 )
|
||||
hb_langRegister( &s_lang );
|
||||
HB_CALL_ON_STARTUP_END( hb_lang_Init_SK852 )
|
||||
|
||||
#if defined(HB_PRAGMA_STARTUP)
|
||||
#pragma startup hb_lang_Init_SK852
|
||||
#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_SK852 = hb_lang_Init_SK852;
|
||||
#pragma data_seg()
|
||||
#endif
|
||||
219
harbour/source/lang/msgskiso.c
Normal file
219
harbour/source/lang/msgskiso.c
Normal file
@@ -0,0 +1,219 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
* Language Support Module (SK ISO-8859-2)
|
||||
*
|
||||
* Copyright 2008 Gyula Bartal <bartal@tauris-danubius.sk> (from msgskwin.c)
|
||||
* 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: Slovak */
|
||||
/* ISO language code (2 chars): SK */
|
||||
/* Codepage: ISO-8859-2 */
|
||||
|
||||
#include "hbapilng.h"
|
||||
|
||||
static HB_LANG s_lang =
|
||||
{
|
||||
{
|
||||
/* Identification */
|
||||
|
||||
"SKISO", /* ID */
|
||||
"Slovak", /* Name (in English) */
|
||||
"Slovensky", /* Name (in native language) */
|
||||
"SK", /* RFC ID */
|
||||
"ISO-8859-2", /* Codepage */
|
||||
"$Revision$ $Date$", /* Version */
|
||||
|
||||
/* Month names */
|
||||
|
||||
"január",
|
||||
"február",
|
||||
"marec",
|
||||
"apríl",
|
||||
"máj",
|
||||
"jún",
|
||||
"júl",
|
||||
"august",
|
||||
"september",
|
||||
"október",
|
||||
"november",
|
||||
"december",
|
||||
|
||||
/* Day names */
|
||||
|
||||
"nedeµa",
|
||||
"pondelok",
|
||||
"utorok",
|
||||
"streda",
|
||||
"¹tvrtok",
|
||||
"piatok",
|
||||
"sobota",
|
||||
|
||||
/* CA-Cl*pper compatible natmsg items */
|
||||
|
||||
"Dátabáze # Vety Aktualizácia Veµkos»",
|
||||
"Chcete viac príkladov?",
|
||||
"Strana",
|
||||
"** Medzisúèet **",
|
||||
"* Medzimedzisúèet *",
|
||||
"*** Súèet ***",
|
||||
"Ins",
|
||||
" ",
|
||||
"Chybný dátum",
|
||||
"Rozsah: ",
|
||||
" - ",
|
||||
"A/N",
|
||||
"CHYBNÝ VÝRAZ",
|
||||
|
||||
/* Error description names */
|
||||
|
||||
"Neznámá chyba",
|
||||
"Chyba argumentu",
|
||||
"Chyba medzí",
|
||||
"Preplnenie re»azca",
|
||||
"Preplnenie èísla",
|
||||
"Delenie nulou",
|
||||
"Numerická chyba",
|
||||
"Chyba syntaxe",
|
||||
"Operácia príli¹ komplexná",
|
||||
"",
|
||||
"",
|
||||
"Nedostatok pamäte",
|
||||
"Nedefinovaná funkcia",
|
||||
"Neznámá metóda",
|
||||
"Premenná neexistuje",
|
||||
"Oblas» neexistuje",
|
||||
"Neznáma premenná",
|
||||
"Nepovolené znaky v oblasti",
|
||||
"Oblas» u¾ pou¾itá",
|
||||
"",
|
||||
"Chyba vytvorenia",
|
||||
"Chyba otvorenia",
|
||||
"Chyba zatvorenia",
|
||||
"Chyba èítania",
|
||||
"Chyba zápisu",
|
||||
"Chyba tlaèe",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"Nepodporována operácia",
|
||||
"Prekroèený limit",
|
||||
"Index po¹kodený",
|
||||
"Chyba typu dát",
|
||||
"Chyba då¾ky dát",
|
||||
"Nepou¾itá pracovná oblas» ",
|
||||
"Nezoradená pracovná oblas»",
|
||||
"Nutný výhradný prístup",
|
||||
"Uzamknutie nutné",
|
||||
"Zlyhanie zámka pri pridávánie",
|
||||
"Zlyhanie zámka",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"prístup k polom",
|
||||
"priradenie k pole",
|
||||
"zmena dimenze pole",
|
||||
"nie je polom",
|
||||
"podmienka",
|
||||
|
||||
/* 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",
|
||||
|
||||
/* Texts */
|
||||
|
||||
"DD.MM.YYYY",
|
||||
"A",
|
||||
"N"
|
||||
}
|
||||
};
|
||||
|
||||
HB_LANG_ANNOUNCE( SKISO );
|
||||
|
||||
HB_CALL_ON_STARTUP_BEGIN( hb_lang_Init_SKISO )
|
||||
hb_langRegister( &s_lang );
|
||||
HB_CALL_ON_STARTUP_END( hb_lang_Init_SKISO )
|
||||
|
||||
#if defined(HB_PRAGMA_STARTUP)
|
||||
#pragma startup hb_lang_Init_SKISO
|
||||
#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_SKISO = hb_lang_Init_SKISO;
|
||||
#pragma data_seg()
|
||||
#endif
|
||||
219
harbour/source/lang/msgskkam.c
Normal file
219
harbour/source/lang/msgskkam.c
Normal file
@@ -0,0 +1,219 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
* Language Support Module (SK Kamenicky ["895"])
|
||||
*
|
||||
* Copyright 2008 Gyula Bartal <bartal@tauris-danubius.sk> (from msgskwin.c)
|
||||
* 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: Slovak */
|
||||
/* ISO language code (2 chars): SK */
|
||||
/* Codepage: Kamenicky ("895") */
|
||||
|
||||
#include "hbapilng.h"
|
||||
|
||||
static HB_LANG s_lang =
|
||||
{
|
||||
{
|
||||
/* Identification */
|
||||
|
||||
"SKKAM", /* ID */
|
||||
"Slovak", /* Name (in English) */
|
||||
"Slovensky", /* Name (in native language) */
|
||||
"SK", /* RFC ID */
|
||||
"kamenicky", /* Codepage */
|
||||
"$Revision$ $Date$", /* Version */
|
||||
|
||||
/* Month names */
|
||||
|
||||
"janu r",
|
||||
"febru r",
|
||||
"marec",
|
||||
"apr¡l",
|
||||
"m j",
|
||||
"j£n",
|
||||
"j£l",
|
||||
"august",
|
||||
"september",
|
||||
"okt¢ber",
|
||||
"november",
|
||||
"december",
|
||||
|
||||
/* Day names */
|
||||
|
||||
"nedeŒa",
|
||||
"pondelok",
|
||||
"utorok",
|
||||
"streda",
|
||||
"¨tvrtok",
|
||||
"piatok",
|
||||
"sobota",
|
||||
|
||||
/* CA-Cl*pper compatible natmsg items */
|
||||
|
||||
"D tab ze # Vety Aktualiz cia VeŒkosŸ",
|
||||
"Chcete viac pr¡kladov?",
|
||||
"Strana",
|
||||
"** Medzis£‡et **",
|
||||
"* Medzimedzis£‡et *",
|
||||
"*** S£‡et ***",
|
||||
"Ins",
|
||||
" ",
|
||||
"Chybn˜ d tum",
|
||||
"Rozsah: ",
|
||||
" - ",
|
||||
"A/N",
|
||||
"CHYBN<EFBFBD> V<>RAZ",
|
||||
|
||||
/* Error description names */
|
||||
|
||||
"Nezn m chyba",
|
||||
"Chyba argumentu",
|
||||
"Chyba medz¡",
|
||||
"Preplnenie reŸazca",
|
||||
"Preplnenie ‡¡sla",
|
||||
"Delenie nulou",
|
||||
"Numerick chyba",
|
||||
"Chyba syntaxe",
|
||||
"Oper cia pr¡li¨ komplexn ",
|
||||
"",
|
||||
"",
|
||||
"Nedostatok pam„te",
|
||||
"Nedefinovan funkcia",
|
||||
"Nezn m met¢da",
|
||||
"Premenn neexistuje",
|
||||
"OblasŸ neexistuje",
|
||||
"Nezn ma premenn ",
|
||||
"Nepovolen‚ znaky v oblasti",
|
||||
"OblasŸ u‘ pou‘it ",
|
||||
"",
|
||||
"Chyba vytvorenia",
|
||||
"Chyba otvorenia",
|
||||
"Chyba zatvorenia",
|
||||
"Chyba ‡¡tania",
|
||||
"Chyba z pisu",
|
||||
"Chyba tla‡e",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"Nepodporov na oper cia",
|
||||
"Prekro‡en˜ limit",
|
||||
"Index po¨koden˜",
|
||||
"Chyba typu d t",
|
||||
"Chyba d<>‘ky d t",
|
||||
"Nepou‘it pracovn oblasŸ ",
|
||||
"Nezoraden pracovn oblasŸ",
|
||||
"Nutn˜ v˜hradn˜ pr¡stup",
|
||||
"Uzamknutie nutn‚",
|
||||
"Zlyhanie z mka pri prid v nie",
|
||||
"Zlyhanie z mka",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"pr¡stup k polom",
|
||||
"priradenie k pole",
|
||||
"zmena dimenze pole",
|
||||
"nie je polom",
|
||||
"podmienka",
|
||||
|
||||
/* 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",
|
||||
|
||||
/* Texts */
|
||||
|
||||
"DD.MM.YYYY",
|
||||
"A",
|
||||
"N"
|
||||
}
|
||||
};
|
||||
|
||||
HB_LANG_ANNOUNCE( SKKAM );
|
||||
|
||||
HB_CALL_ON_STARTUP_BEGIN( hb_lang_Init_SKKAM )
|
||||
hb_langRegister( &s_lang );
|
||||
HB_CALL_ON_STARTUP_END( hb_lang_Init_SKKAM )
|
||||
|
||||
#if defined(HB_PRAGMA_STARTUP)
|
||||
#pragma startup hb_lang_Init_SKKAM
|
||||
#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_SKKAM = hb_lang_Init_SKKAM;
|
||||
#pragma data_seg()
|
||||
#endif
|
||||
219
harbour/source/lang/msgskwin.c
Normal file
219
harbour/source/lang/msgskwin.c
Normal file
@@ -0,0 +1,219 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
* Language Support Module (SKWIN) WIN1250
|
||||
*
|
||||
* Copyright 2008 Gyula Bartal <bartal@tauris-danubius.sk> (from msgcswin.c)
|
||||
* 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: Slovak */
|
||||
/* ISO language code (2 chars): SK */
|
||||
/* Codepage: 1250 */
|
||||
|
||||
#include "hbapilng.h"
|
||||
|
||||
static HB_LANG s_lang =
|
||||
{
|
||||
{
|
||||
/* Identification */
|
||||
|
||||
"SKWIN", /* ID */
|
||||
"Slovak", /* Name (in English) */
|
||||
"Slovensky", /* Name (in native language) */
|
||||
"SK", /* RFC ID */
|
||||
"1250", /* Codepage */
|
||||
"$Revision$ $Date$", /* Version */
|
||||
|
||||
/* Month names */
|
||||
|
||||
"január",
|
||||
"február",
|
||||
"marec",
|
||||
"apríl",
|
||||
"máj",
|
||||
"jún",
|
||||
"júl",
|
||||
"august",
|
||||
"september",
|
||||
"október",
|
||||
"november",
|
||||
"december",
|
||||
|
||||
/* Day names */
|
||||
|
||||
"nede¾a",
|
||||
"pondelok",
|
||||
"utorok",
|
||||
"streda",
|
||||
"štvrtok",
|
||||
"piatok",
|
||||
"sobota",
|
||||
|
||||
/* CA-Cl*pper compatible natmsg items */
|
||||
|
||||
"Dátabáze # Vety Aktualizácia Ve¾kos<6F>",
|
||||
"Chcete viac príkladov?",
|
||||
"Strana",
|
||||
"** Medzisúèet **",
|
||||
"* Medzimedzisúèet *",
|
||||
"*** Súèet ***",
|
||||
"Ins",
|
||||
" ",
|
||||
"Chybný dátum",
|
||||
"Rozsah: ",
|
||||
" - ",
|
||||
"A/N",
|
||||
"CHYBNÝ VÝRAZ",
|
||||
|
||||
/* Error description names */
|
||||
|
||||
"Neznámá chyba",
|
||||
"Chyba argumentu",
|
||||
"Chyba medzí",
|
||||
"Preplnenie re<72>azca",
|
||||
"Preplnenie èísla",
|
||||
"Delenie nulou",
|
||||
"Numerická chyba",
|
||||
"Chyba syntaxe",
|
||||
"Operácia príliš komplexná",
|
||||
"",
|
||||
"",
|
||||
"Nedostatok pamäte",
|
||||
"Nedefinovaná funkcia",
|
||||
"Neznámá metóda",
|
||||
"Premenná neexistuje",
|
||||
"Oblas<EFBFBD> neexistuje",
|
||||
"Neznáma premenná",
|
||||
"Nepovolené znaky v oblasti",
|
||||
"Oblas<EFBFBD> už použitá",
|
||||
"",
|
||||
"Chyba vytvorenia",
|
||||
"Chyba otvorenia",
|
||||
"Chyba zatvorenia",
|
||||
"Chyba èítania",
|
||||
"Chyba zápisu",
|
||||
"Chyba tlaèe",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"Nepodporována operácia",
|
||||
"Prekroèený limit",
|
||||
"Index poškodený",
|
||||
"Chyba typu dát",
|
||||
"Chyba dåžky dát",
|
||||
"Nepoužitá pracovná oblas<61> ",
|
||||
"Nezoradená pracovná oblas<61>",
|
||||
"Nutný výhradný prístup",
|
||||
"Uzamknutie nutné",
|
||||
"Zlyhanie zámka pri pridávánie",
|
||||
"Zlyhanie zámka",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"prístup k polom",
|
||||
"priradenie k pole",
|
||||
"zmena dimenze pole",
|
||||
"nie je polom",
|
||||
"podmienka",
|
||||
|
||||
/* 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",
|
||||
|
||||
/* Texts */
|
||||
|
||||
"DD.MM.YYYY",
|
||||
"A",
|
||||
"N"
|
||||
}
|
||||
};
|
||||
|
||||
HB_LANG_ANNOUNCE( SKWIN );
|
||||
|
||||
HB_CALL_ON_STARTUP_BEGIN( hb_lang_Init_SKWIN )
|
||||
hb_langRegister( &s_lang );
|
||||
HB_CALL_ON_STARTUP_END( hb_lang_Init_SKWIN )
|
||||
|
||||
#if defined(HB_PRAGMA_STARTUP)
|
||||
#pragma startup hb_lang_Init_SKWIN
|
||||
#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_SKWIN = hb_lang_Init_SKWIN;
|
||||
#pragma data_seg()
|
||||
#endif
|
||||
@@ -58,6 +58,15 @@
|
||||
# include "hbapicdp.h"
|
||||
# include "hbapierr.h"
|
||||
|
||||
/* Now we are using only 16bit Unicode values so the maximum size
|
||||
* of single character encoded in UTF8 is 3 though ISO 10646 Universal
|
||||
* Character Set (UCS) occupies even a 31-bit code space and to encode
|
||||
* all UCS values we will need 6 bytes. Now in practice no one uses
|
||||
* Unicode character over 0xFFFF but it may change in the future so
|
||||
* it's safer to use macro for maximum UTF8 character size. [druzus]
|
||||
*/
|
||||
# define HB_MAX_UTF8 3
|
||||
|
||||
# define NUMBER_OF_CHARS 256
|
||||
|
||||
static USHORT s_uniCodes[NUMBER_OF_CHARS] = {
|
||||
@@ -98,8 +107,7 @@ static USHORT s_uniCodes[NUMBER_OF_CHARS] = {
|
||||
HB_UNITABLE hb_uniTbl_437 = { HB_CPID_437, NUMBER_OF_CHARS, FALSE, s_uniCodes };
|
||||
|
||||
static HB_CODEPAGE s_en_codepage =
|
||||
{ "EN", HB_CPID_437, HB_UNITB_437, 0, NULL, NULL, 0, 0, 0, 0, 0, NULL, NULL, NULL, NULL, 0,
|
||||
NULL };
|
||||
{ "EN", HB_CPID_437, HB_UNITB_437, 0, NULL, NULL, 0, 0, 0, 0, 0, NULL, NULL, NULL, NULL, 0, NULL };
|
||||
|
||||
# define HB_CDP_MAX_ 64
|
||||
|
||||
@@ -476,19 +484,39 @@ HB_EXPORT void hb_cdpTranslate( char *psz, PHB_CODEPAGE cdpIn, PHB_CODEPAGE cdpO
|
||||
{
|
||||
if( cdpIn != cdpOut && cdpIn->nChars == cdpOut->nChars )
|
||||
{
|
||||
int nAddLower = ( cdpIn->lLatin ) ? 6 : 0;
|
||||
|
||||
for( ; *psz; psz++ )
|
||||
if( cdpIn->lAccEqual )
|
||||
{
|
||||
int n = ( int ) cdpIn->s_chars[( UCHAR ) * psz];
|
||||
|
||||
if( n != 0 &&
|
||||
( n <= cdpOut->nChars || ( n > ( cdpOut->nChars + nAddLower ) &&
|
||||
n <= ( cdpOut->nChars * 2 + nAddLower ) ) ) )
|
||||
for( ; *psz; psz++ )
|
||||
{
|
||||
n--;
|
||||
*psz = ( n >= ( cdpOut->nChars + nAddLower ) ) ?
|
||||
cdpOut->CharsLower[n - cdpOut->nChars - nAddLower] : cdpOut->CharsUpper[n];
|
||||
char * ptr;
|
||||
|
||||
ptr = strchr( cdpIn->CharsUpper, *psz );
|
||||
if( ptr )
|
||||
*psz = cdpOut->CharsUpper[ ptr - cdpIn->CharsUpper ];
|
||||
else
|
||||
{
|
||||
ptr = strchr( cdpIn->CharsLower, *psz );
|
||||
if( ptr )
|
||||
*psz = cdpOut->CharsLower[ ptr - cdpIn->CharsLower ];
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
int nAddLower = ( cdpIn->lLatin ) ? 6 : 0;
|
||||
|
||||
for( ; *psz; psz++ )
|
||||
{
|
||||
int n = ( int ) cdpIn->s_chars[( UCHAR ) * psz];
|
||||
|
||||
if( n != 0 &&
|
||||
( n <= cdpOut->nChars || ( n > ( cdpOut->nChars + nAddLower ) &&
|
||||
n <= ( cdpOut->nChars * 2 + nAddLower ) ) ) )
|
||||
{
|
||||
n--;
|
||||
*psz = ( n >= ( cdpOut->nChars + nAddLower ) ) ?
|
||||
cdpOut->CharsLower[n - cdpOut->nChars - nAddLower] : cdpOut->CharsUpper[n];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -498,19 +526,39 @@ HB_EXPORT void hb_cdpnTranslate( char *psz, PHB_CODEPAGE cdpIn, PHB_CODEPAGE cdp
|
||||
{
|
||||
if( cdpIn != cdpOut && cdpIn->nChars == cdpOut->nChars )
|
||||
{
|
||||
int nAddLower = ( cdpIn->lLatin ) ? 6 : 0;
|
||||
|
||||
for( ; nChars--; psz++ )
|
||||
if( cdpIn->lAccEqual )
|
||||
{
|
||||
int n = ( int ) cdpIn->s_chars[( UCHAR ) * psz];
|
||||
|
||||
if( n != 0 &&
|
||||
( n <= cdpOut->nChars || ( n > ( cdpOut->nChars + nAddLower ) &&
|
||||
n <= ( cdpOut->nChars * 2 + nAddLower ) ) ) )
|
||||
for( ; nChars--; psz++ )
|
||||
{
|
||||
n--;
|
||||
*psz = ( n >= ( cdpOut->nChars + nAddLower ) ) ?
|
||||
cdpOut->CharsLower[n - cdpOut->nChars - nAddLower] : cdpOut->CharsUpper[n];
|
||||
char * ptr;
|
||||
|
||||
ptr = strchr( cdpIn->CharsUpper, *psz );
|
||||
if( ptr )
|
||||
*psz = cdpOut->CharsUpper[ ptr - cdpIn->CharsUpper ];
|
||||
else
|
||||
{
|
||||
ptr = strchr( cdpIn->CharsLower, *psz );
|
||||
if( ptr )
|
||||
*psz = cdpOut->CharsLower[ ptr - cdpIn->CharsLower ];
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
int nAddLower = ( cdpIn->lLatin ) ? 6 : 0;
|
||||
|
||||
for( ; nChars--; psz++ )
|
||||
{
|
||||
int n = ( int ) cdpIn->s_chars[( UCHAR ) * psz];
|
||||
|
||||
if( n != 0 &&
|
||||
( n <= cdpOut->nChars || ( n > ( cdpOut->nChars + nAddLower ) &&
|
||||
n <= ( cdpOut->nChars * 2 + nAddLower ) ) ) )
|
||||
{
|
||||
n--;
|
||||
*psz = ( n >= ( cdpOut->nChars + nAddLower ) ) ?
|
||||
cdpOut->CharsLower[n - cdpOut->nChars - nAddLower] : cdpOut->CharsUpper[n];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1196,37 +1244,61 @@ HB_FUNC( HB_STRTOUTF8 )
|
||||
hb_retc( NULL );
|
||||
}
|
||||
|
||||
HB_FUNC( HB_UTF8CHR )
|
||||
{
|
||||
if( ISNUM( 1 ) )
|
||||
{
|
||||
char utf8Char[ HB_MAX_UTF8 ];
|
||||
int iLen;
|
||||
|
||||
iLen = u16toutf8( ( BYTE * ) utf8Char, ( USHORT ) hb_parni( 1 ) );
|
||||
hb_retclen( utf8Char, iLen );
|
||||
}
|
||||
else
|
||||
{
|
||||
hb_errRT_BASE_SubstR( EG_ARG, 3012, NULL, &hb_errFuncName, HB_ERR_ARGS_BASEPARAMS );
|
||||
}
|
||||
}
|
||||
|
||||
HB_FUNC( HB_UTF8TOSTR )
|
||||
{
|
||||
ULONG ulLen = hb_parclen( 1 ), ulDest = 0;
|
||||
char *szString, *szDest = NULL;
|
||||
char *szString = hb_parc( 1 );
|
||||
|
||||
if( ulLen )
|
||||
if( szString )
|
||||
{
|
||||
PHB_CODEPAGE cdp = ISCHAR( 2 ) ? hb_cdpFind( hb_parc( 2 ) ) : hb_cdp_page;
|
||||
ULONG ulLen = hb_parclen( 1 ), ulDest = 0;
|
||||
char *szDest = NULL;
|
||||
|
||||
if( cdp )
|
||||
if( ulLen )
|
||||
{
|
||||
szString = hb_parc( 1 );
|
||||
ulDest = hb_cdpUTF8StringLength( ( BYTE * ) szString, ulLen );
|
||||
szDest = ( char * ) hb_xgrab( ulDest + 1 );
|
||||
hb_cdpUTF8ToStrn( cdp, FALSE, ( BYTE * ) szString, ulLen, ( BYTE * ) szDest, ulDest );
|
||||
}
|
||||
}
|
||||
PHB_CODEPAGE cdp = ISCHAR( 2 ) ? hb_cdpFind( hb_parc( 2 ) ) : hb_cdp_page;
|
||||
|
||||
if( szDest )
|
||||
hb_retclen_buffer( szDest, ulDest );
|
||||
if( cdp )
|
||||
{
|
||||
szString = hb_parc( 1 );
|
||||
ulDest = hb_cdpUTF8StringLength( ( BYTE * ) szString, ulLen );
|
||||
szDest = ( char * ) hb_xgrab( ulDest + 1 );
|
||||
hb_cdpUTF8ToStrn( cdp, FALSE, ( BYTE * ) szString, ulLen, ( BYTE * ) szDest, ulDest );
|
||||
}
|
||||
}
|
||||
|
||||
if( szDest )
|
||||
hb_retclen_buffer( szDest, ulDest );
|
||||
else
|
||||
hb_retc( NULL );
|
||||
}
|
||||
else
|
||||
hb_retc( NULL );
|
||||
hb_errRT_BASE_SubstR( EG_ARG, 3012, NULL, &hb_errFuncName, HB_ERR_ARGS_BASEPARAMS );
|
||||
}
|
||||
|
||||
HB_FUNC( HB_UTF8SUBSTR )
|
||||
{
|
||||
char *szString = hb_parc( 1 );
|
||||
int iPCount = hb_pcount();
|
||||
|
||||
if( ISCHAR( 1 ) && ( iPCount < 2 || ( ISNUM( 2 ) && ( iPCount < 3 || ISNUM( 3 ) ) ) ) )
|
||||
if( szString && ( iPCount < 2 || ( ISNUM( 2 ) && ( iPCount < 3 || ISNUM( 3 ) ) ) ) )
|
||||
{
|
||||
char *szString = hb_parc( 1 ), *szDest = NULL;
|
||||
char *szDest = NULL;
|
||||
ULONG ulLen = hb_parclen( 1 ), ulDest = 0;
|
||||
LONG lFrom = hb_parnl( 2 );
|
||||
LONG lCount = iPCount < 3 ? ( LONG ) ulLen : hb_parnl( 3 );
|
||||
@@ -1436,6 +1508,7 @@ HB_FUNC_EXTERN( STRTRAN );
|
||||
|
||||
HB_FUNC( HB_UTF8STRTRAN )
|
||||
{
|
||||
HB_FUNC_EXEC( STRTRAN )}
|
||||
HB_FUNC_EXEC( STRTRAN )
|
||||
}
|
||||
|
||||
#endif /* HB_CDP_SUPPORT_OFF */
|
||||
|
||||
@@ -134,6 +134,10 @@ static int s_iCurRow;
|
||||
static int s_iCurCol;
|
||||
static int s_iCursorStyle;
|
||||
|
||||
/* buffer for single screen line */
|
||||
static int s_iLineBufSize = 0;
|
||||
static USHORT * s_sLineBuf;
|
||||
|
||||
/* pointer to offscreen video buffer */
|
||||
static ULONG s_ulLVBptr;
|
||||
/* length of video buffer */
|
||||
@@ -517,7 +521,7 @@ static PVOID hb_gt_os2_allocMem( int iSize )
|
||||
|
||||
rc = DosAllocMem( &pMem, iSize, PAG_COMMIT | OBJ_TILE | PAG_WRITE );
|
||||
if( rc != NO_ERROR )
|
||||
hb_errInternal( HB_EI_XGRABALLOC, "hb_gt_os2_ReadKey() memory allocation failure.", NULL, NULL );
|
||||
hb_errInternal( HB_EI_XGRABALLOC, "hb_gt_os2_allocMem() memory allocation failure.", NULL, NULL );
|
||||
|
||||
return pMem;
|
||||
}
|
||||
@@ -591,6 +595,12 @@ static void hb_gt_os2_Exit( PHB_GT pGT )
|
||||
|
||||
HB_GTSUPER_EXIT( pGT );
|
||||
|
||||
if( s_iLineBufSize > 0 )
|
||||
{
|
||||
DosFreeMem( ( PVOID ) s_sLineBuf );
|
||||
s_iLineBufSize = 0;
|
||||
}
|
||||
|
||||
DosFreeMem( s_key );
|
||||
DosFreeMem( s_hk );
|
||||
VioSetCp( 0, s_usOldCodePage, 0 );
|
||||
@@ -712,6 +722,27 @@ static char * hb_gt_os2_Version( PHB_GT pGT, int iType )
|
||||
return "Harbour Terminal: OS/2 console";
|
||||
}
|
||||
|
||||
static BOOL hb_gt_os2_Resize( PHB_GT pGT, int iRows, int iCols )
|
||||
{
|
||||
HB_TRACE(HB_TR_DEBUG, ("hb_gt_os2_Resize(%p,%d,%d)", pGT, iRows, iCols));
|
||||
|
||||
if( HB_GTSUPER_RESIZE( pGT, iRows, iCols ) )
|
||||
{
|
||||
HB_GTSELF_GETSIZE( pGT, &iRows, &iCols );
|
||||
iRows <<= 1;
|
||||
if( s_iLineBufSize != iRows )
|
||||
{
|
||||
if( s_iLineBufSize != 0 )
|
||||
DosFreeMem( ( PVOID ) s_sLineBuf );
|
||||
if( iRows )
|
||||
s_sLineBuf = ( USHORT * ) hb_gt_os2_allocMem( iRows );
|
||||
s_iLineBufSize = iRows;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static BOOL hb_gt_os2_SetMode( PHB_GT pGT, int iRows, int iCols )
|
||||
{
|
||||
BOOL fResult;
|
||||
@@ -772,7 +803,7 @@ static BOOL hb_gt_os2_Resume( PHB_GT pGT )
|
||||
static void hb_gt_os2_Redraw( PHB_GT pGT, int iRow, int iCol, int iSize )
|
||||
{
|
||||
BYTE bColor, bAttr;
|
||||
USHORT usChar, usCell;
|
||||
USHORT usChar;
|
||||
int iLen = 0;
|
||||
|
||||
HB_TRACE( HB_TR_DEBUG, ( "hb_gt_os2_Redraw(%p,%d,%d,%d)", pGT, iRow, iCol, iSize ) );
|
||||
@@ -782,17 +813,10 @@ static void hb_gt_os2_Redraw( PHB_GT pGT, int iRow, int iCol, int iSize )
|
||||
if( !HB_GTSELF_GETSCRCHAR( pGT, iRow, iCol + iLen, &bColor, &bAttr, &usChar ) )
|
||||
break;
|
||||
|
||||
/*
|
||||
* TODO: it can be very slow (I haven't tested it) because it
|
||||
* update screen with single characters so if necessary optimize
|
||||
* it by grouping cells for the whole line or characters with
|
||||
* the same color. [druzus]
|
||||
*/
|
||||
usCell = ( bColor << 8 ) + ( usChar & 0xff );
|
||||
VioWrtNCell( ( PBYTE ) &usCell, 1, iRow, iCol + iLen, 0 );
|
||||
|
||||
iLen++;
|
||||
s_sLineBuf[ iLen++ ] = ( bColor << 8 ) + ( usChar & 0xff );
|
||||
}
|
||||
|
||||
VioWrtCellStr( ( PCH ) s_sLineBuf, iSize << 1, iRow, iCol, 0 );
|
||||
}
|
||||
|
||||
static void hb_gt_os2_Refresh( PHB_GT pGT )
|
||||
@@ -842,6 +866,7 @@ static BOOL hb_gt_FuncInit( PHB_GT_FUNCS pFuncTable )
|
||||
pFuncTable->Init = hb_gt_os2_Init;
|
||||
pFuncTable->Exit = hb_gt_os2_Exit;
|
||||
pFuncTable->IsColor = hb_gt_os2_IsColor;
|
||||
pFuncTable->Resize = hb_gt_os2_Resize;
|
||||
pFuncTable->SetMode = hb_gt_os2_SetMode;
|
||||
pFuncTable->Redraw = hb_gt_os2_Redraw;
|
||||
pFuncTable->Refresh = hb_gt_os2_Refresh;
|
||||
|
||||
@@ -72,7 +72,6 @@
|
||||
#include <sys/time.h>
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
#include <unistd.h>
|
||||
#include <signal.h>
|
||||
|
||||
#ifndef HB_OS_DARWIN
|
||||
|
||||
@@ -691,7 +691,7 @@ HB_EXPORT BOOL hb_arraySetNLL( PHB_ITEM pArray, ULONG ulIndex, LONGLONG llNumber
|
||||
|
||||
HB_EXPORT BOOL hb_arraySetNInt( PHB_ITEM pArray, ULONG ulIndex, HB_LONG lNumber )
|
||||
{
|
||||
HB_TRACE(HB_TR_DEBUG, ("hb_arraySetNLL(%p, %lu, %" PFHL "d)", pArray, ulIndex, lNumber));
|
||||
HB_TRACE(HB_TR_DEBUG, ("hb_arraySetNInt(%p, %lu, %" PFHL "d)", pArray, ulIndex, lNumber));
|
||||
|
||||
if( HB_IS_ARRAY( pArray ) && ulIndex > 0 && ulIndex <= pArray->item.asArray.value->ulLen )
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user