2000-10-26 01:08 UTC+0800 Brian Hays <bhays@abacuslaw.com>

This commit is contained in:
Brian Hays
2000-10-26 08:10:26 +00:00
parent 041501bd84
commit 43219cd48e
2 changed files with 61 additions and 39 deletions

View File

@@ -1,4 +1,13 @@
2000-10-25 23:30 UTC+0800 Brian Hays <bhays@abacuslaw.com>
2000-10-26 01:08 UTC+0800 Brian Hays <bhays@abacuslaw.com>
* source/rdd/dbcmd.c
* fixed these functions to accept 0 or NIL to access current order
ordKey
ordFor
ordBagName
ordName
ordNumber
2000-10-25 23:55 UTC+0800 Brian Hays <bhays@abacuslaw.com>
* source/rdd/dbcmd.c
*
* contrib/rdd_ads/ads1.c
@@ -11,12 +20,6 @@
* doc\en\rdddb.txt
* fixed dbCreate() 4th parameter docs
* The <lOpen> parameter specifies if the already created database is
* to be opened, and where. If NIL, the file is not opened. If True,
* it is opened in a New area, and if False it is opened in the current
* area (closing any file already occupying that area).
2000-10-25 15:00 UTC-0400 David G. Holm <dholm@jsd-llc.com>
* source/pp/ppcore.c
! Neither Cygwin nor IBM VAC++ supports sys_errlist.

View File

@@ -2178,13 +2178,21 @@ HB_FUNC( ORDBAGNAME )
if( s_pCurrArea )
{
pOrderInfo.itmOrder = hb_param( 1, HB_IT_STRING );
if( !pOrderInfo.itmOrder )
pOrderInfo.itmOrder = hb_param( 1, HB_IT_NUMERIC );
if( !pOrderInfo.itmOrder )
if ( ISNUM(1) || ISNIL(1) )
{
hb_errRT_DBCMD( EG_ARG, EDBCMD_REL_BADPARAMETER, NULL, "ORDBAGNAME" );
return;
if ( hb_parnl(1) == 0 || ISNIL(1) ) /* if NIL or ask for 0, use current order */
pOrderInfo.itmOrder = NULL;
else
pOrderInfo.itmOrder = hb_param( 1, HB_IT_NUMERIC );
}else
{
pOrderInfo.itmOrder = hb_param( 1, HB_IT_STRING );
if( !pOrderInfo.itmOrder )
{
hb_errRT_DBCMD( EG_ARG, EDBCMD_REL_BADPARAMETER, NULL, "ORDBAGNAME" );
return;
}
}
pOrderInfo.itmResult = hb_itemPutC( NULL, "" );
SELF_ORDINFO( ( AREAP ) s_pCurrArea->pArea, DBOI_BAGNAME, &pOrderInfo );
@@ -2318,15 +2326,24 @@ HB_FUNC( ORDFOR )
if( s_pCurrArea )
{
pOrderInfo.itmOrder = hb_param( 1, HB_IT_STRING );
if( !pOrderInfo.itmOrder )
pOrderInfo.itmOrder = hb_param( 1, HB_IT_NUMERIC );
pOrderInfo.atomBagName = hb_param( 2, HB_IT_STRING );
if( !pOrderInfo.itmOrder )
if ( ISNUM(1) || ISNIL(1) )
{
hb_errRT_DBCMD( EG_ARG, EDBCMD_REL_BADPARAMETER, NULL, "ORDFOR" );
return;
if ( hb_parnl(1) == 0 || ISNIL(1) ) /* if NIL or ask for 0, use current order */
pOrderInfo.itmOrder = NULL;
else
pOrderInfo.itmOrder = hb_param( 1, HB_IT_NUMERIC );
}else
{
pOrderInfo.itmOrder = hb_param( 1, HB_IT_STRING );
if( !pOrderInfo.itmOrder )
{
hb_errRT_DBCMD( EG_ARG, EDBCMD_REL_BADPARAMETER, NULL, "ORDFOR" );
return;
}
}
pOrderInfo.atomBagName = hb_param( 2, HB_IT_STRING );
pOrderInfo.itmResult = hb_itemPutC( NULL, "" );
SELF_ORDINFO( ( AREAP ) s_pCurrArea->pArea, DBOI_CONDITION, &pOrderInfo );
hb_retc( hb_itemGetCPtr( pOrderInfo.itmResult ) );
@@ -2342,29 +2359,24 @@ HB_FUNC( ORDKEY )
if( s_pCurrArea )
{
if ( ISNUM(1) )
if ( ISNUM(1) || ISNIL(1) )
{
if ( hb_parnl(1) == 0 ) /* if ask for 0, get current order */
{
pOrderInfo.itmResult = hb_itemPutNI( NULL, 0 );
pOrderInfo.itmOrder = NULL; /* This is necessary to get the NUMBER back */
SELF_ORDINFO( ( AREAP ) s_pCurrArea->pArea, DBOI_NUMBER, &pOrderInfo );
pOrderInfo.itmOrder = hb_param( 1, HB_IT_NUMERIC );
hb_itemPutNI( pOrderInfo.itmOrder, hb_itemGetNI( pOrderInfo.itmResult ) );
hb_itemRelease( pOrderInfo.itmResult );
}
if ( hb_parnl(1) == 0 || ISNIL(1) ) /* if NIL or ask for 0, use current order */
pOrderInfo.itmOrder = NULL;
else
pOrderInfo.itmOrder = hb_param( 1, HB_IT_NUMERIC );
}else
{
pOrderInfo.itmOrder = hb_param( 1, HB_IT_STRING );
if( !pOrderInfo.itmOrder )
{
hb_errRT_DBCMD( EG_ARG, EDBCMD_REL_BADPARAMETER, NULL, "ORDKEY" );
return;
}
}
pOrderInfo.atomBagName = hb_param( 2, HB_IT_STRING );
if( !pOrderInfo.itmOrder )
{
hb_errRT_DBCMD( EG_ARG, EDBCMD_REL_BADPARAMETER, NULL, "ORDKEY" );
return;
}
pOrderInfo.itmResult = hb_itemPutC( NULL, "" );
SELF_ORDINFO( ( AREAP ) s_pCurrArea->pArea, DBOI_EXPRESSION, &pOrderInfo );
hb_retc( hb_itemGetCPtr( pOrderInfo.itmResult ) );
@@ -2439,13 +2451,20 @@ HB_FUNC( ORDNAME )
if( s_pCurrArea )
{
pOrderInfo.itmOrder = hb_param( 1, HB_IT_NUMERIC );
pOrderInfo.atomBagName = hb_param( 2, HB_IT_STRING );
if( !pOrderInfo.itmOrder )
if ( ISNUM(1) || ISNIL(1) )
{
if ( hb_parnl(1) == 0 || ISNIL(1) ) /* if NIL or ask for 0, use current order */
pOrderInfo.itmOrder = NULL;
else
pOrderInfo.itmOrder = hb_param( 1, HB_IT_NUMERIC );
}else
{
hb_errRT_DBCMD( EG_ARG, EDBCMD_REL_BADPARAMETER, NULL, "ORDNAME" );
return;
}
pOrderInfo.atomBagName = hb_param( 2, HB_IT_STRING );
pOrderInfo.itmResult = hb_itemPutC( NULL, "" );
SELF_ORDINFO( ( AREAP ) s_pCurrArea->pArea, DBOI_NAME, &pOrderInfo );
hb_retc( hb_itemGetCPtr( pOrderInfo.itmResult ) );
@@ -2463,7 +2482,7 @@ HB_FUNC( ORDNUMBER )
{
pOrderInfo.itmOrder = hb_param( 1, HB_IT_STRING );
pOrderInfo.atomBagName = hb_param( 2, HB_IT_STRING );
if( !pOrderInfo.itmOrder )
if( !pOrderInfo.itmOrder && ! ISNIL(1))
{
hb_errRT_DBCMD( EG_ARG, EDBCMD_REL_BADPARAMETER, NULL, "ORDNUMBER" );
return;