2007-12-06 11:35 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)

* harbour/source/lang/msgltwin.c
    * more changes from LT to LTWIN
  * harbour/common.mak
    * restored missing msgltwin.c 
  * harbour/include/hbapi.h
  * harbour/source/vm/hashes.c
    + added hash key support for pointer type
This commit is contained in:
Mindaugas Kavaliauskas
2007-12-06 09:34:22 +00:00
parent 115d9d2bda
commit 1e7aadcf86
5 changed files with 27 additions and 7 deletions

View File

@@ -8,6 +8,15 @@
2002-12-01 13:30 UTC+0100 Foo Bar <foo.bar@foobar.org>
*/
2007-12-06 11:35 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
* harbour/source/lang/msgltwin.c
* more changes from LT to LTWIN
* harbour/common.mak
* restored missing msgltwin.c
* harbour/include/hbapi.h
* harbour/source/vm/hashes.c
+ added hash key support for pointer type
2007-12-06 00:20 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com)
* harbour/contrib/gtwvg/gtwvt.c
! Small addition in PaintText() wrongly omitted while cleaning.

View File

@@ -705,6 +705,7 @@ LANG_LIB_OBJS = \
$(OBJ_DIR)\msgis850$(OBJEXT) \
$(OBJ_DIR)\msgit$(OBJEXT) \
$(OBJ_DIR)\msgko$(OBJEXT) \
$(OBJ_DIR)\msgltwin$(OBJEXT) \
$(OBJ_DIR)\msgnl$(OBJEXT) \
$(OBJ_DIR)\msgpl852$(OBJEXT) \
$(OBJ_DIR)\msgpliso$(OBJEXT) \

View File

@@ -98,7 +98,7 @@ HB_EXTERN_BEGIN
#define HB_IT_ANY ( ( HB_TYPE ) 0xFFFFFFFF )
#define HB_IT_COMPLEX ( ( HB_TYPE ) ( HB_IT_BLOCK | HB_IT_ARRAY | HB_IT_HASH | HB_IT_POINTER | /* HB_IT_MEMVAR | HB_IT_ENUM | HB_IT_EXTREF |*/ HB_IT_BYREF | HB_IT_STRING ) )
#define HB_IT_GCITEM ( ( HB_TYPE ) ( HB_IT_BLOCK | HB_IT_ARRAY | HB_IT_HASH | HB_IT_POINTER | HB_IT_BYREF ) )
#define HB_IT_HASHKEY ( ( HB_TYPE ) ( HB_IT_INTEGER | HB_IT_LONG | HB_IT_DOUBLE | HB_IT_DATE | HB_IT_STRING ) )
#define HB_IT_HASHKEY ( ( HB_TYPE ) ( HB_IT_INTEGER | HB_IT_LONG | HB_IT_DOUBLE | HB_IT_DATE | HB_IT_STRING | HB_IT_POINTER ) )
#if 0

View File

@@ -4,7 +4,7 @@
/*
* Harbour Project source code:
* Language Support Module ( LT )
* Language Support Module ( LTWIN )
*
* Copyright 2003 Mindaugas Kavaliauskas <dbtopas@dbtopas.lt>
* www - http://www.harbour-project.org
@@ -200,14 +200,14 @@ static HB_LANG s_lang =
}
};
HB_LANG_ANNOUNCE( LT );
HB_LANG_ANNOUNCE( LTWIN );
HB_CALL_ON_STARTUP_BEGIN( hb_lang_Init_LT )
HB_CALL_ON_STARTUP_BEGIN( hb_lang_Init_LTWIN )
hb_langRegister( &s_lang );
HB_CALL_ON_STARTUP_END( hb_lang_Init_LT )
HB_CALL_ON_STARTUP_END( hb_lang_Init_LTWIN )
#if defined(HB_PRAGMA_STARTUP)
#pragma startup hb_lang_Init_LT
#pragma startup hb_lang_Init_LTWIN
#elif defined(HB_MSC_STARTUP)
#if _MSC_VER >= 1010
#pragma data_seg( ".CRT$XIY" )
@@ -215,6 +215,6 @@ HB_CALL_ON_STARTUP_END( hb_lang_Init_LT )
#else
#pragma data_seg( "XIY" )
#endif
static HB_$INITSYM hb_vm_auto_hb_lang_Init_LT = hb_lang_Init_LT;
static HB_$INITSYM hb_vm_auto_hb_lang_Init_LTWIN = hb_lang_Init_LTWIN;
#pragma data_seg()
#endif

View File

@@ -160,6 +160,16 @@ static int hb_hashItemCmp( PHB_ITEM pKey1, PHB_ITEM pKey2, BOOL fIgnoreCase )
else
return 1;
}
else if( HB_IS_POINTER( pKey1 ) )
{
if( HB_IS_POINTER( pKey2 ) )
return pKey1->item.asPointer.value < pKey2->item.asPointer.value ? -1 :
( pKey1->item.asPointer.value > pKey2->item.asPointer.value ? 1 : 0 );
else if( HB_IS_STRING( pKey2 ) || HB_IS_DATE( pKey2 ) )
return -1;
else
return 1;
}
else if( HB_IS_NUMINT( pKey1 ) && HB_IS_NUMINT( pKey2 ) )
{
HB_LONG l1 = HB_ITEM_GET_NUMINTRAW( pKey1 ),