2007-09-13 19:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/rdd_ads/ads1.c
* harbour/source/rdd/dbf1.c
* variable name clean-up
This commit is contained in:
@@ -8,6 +8,11 @@
|
||||
2002-12-01 13:30 UTC+0100 Foo Bar <foo.bar@foobar.org>
|
||||
*/
|
||||
|
||||
2007-09-13 19:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
||||
* harbour/contrib/rdd_ads/ads1.c
|
||||
* harbour/source/rdd/dbf1.c
|
||||
* variable name clean-up
|
||||
|
||||
2007-09-13 16:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
||||
* harbour/include/Makefile
|
||||
+ harbour/include/hbsxdef.ch
|
||||
|
||||
@@ -1347,7 +1347,7 @@ static ERRCODE adsAppend( ADSAREAP pArea, BOOL fUnLockAll )
|
||||
static ERRCODE adsCreateFields( ADSAREAP pArea, PHB_ITEM pStruct )
|
||||
{
|
||||
USHORT uiItems, uiCount, uiLen, uiDec;
|
||||
DBFIELDINFO pFieldInfo;
|
||||
DBFIELDINFO dbFieldInfo;
|
||||
PHB_ITEM pFieldDesc;
|
||||
char *szFieldType;
|
||||
int iData;
|
||||
@@ -1357,20 +1357,22 @@ static ERRCODE adsCreateFields( ADSAREAP pArea, PHB_ITEM pStruct )
|
||||
uiItems = ( USHORT ) hb_arrayLen( pStruct );
|
||||
SELF_SETFIELDEXTENT( ( AREAP ) pArea, uiItems );
|
||||
|
||||
memset( &dbFieldInfo, 0, sizeof( dbFieldInfo ) );
|
||||
|
||||
for( uiCount = 0; uiCount < uiItems; uiCount++ )
|
||||
{
|
||||
pFieldInfo.uiTypeExtended = 0;
|
||||
dbFieldInfo.uiTypeExtended = 0;
|
||||
pFieldDesc = hb_arrayGetItemPtr( pStruct, uiCount + 1 );
|
||||
pFieldInfo.atomName = ( BYTE * ) hb_arrayGetCPtr( pFieldDesc, 1 );
|
||||
dbFieldInfo.atomName = ( BYTE * ) hb_arrayGetCPtr( pFieldDesc, 1 );
|
||||
iData = hb_arrayGetNI( pFieldDesc, 3 );
|
||||
if( iData < 0 )
|
||||
iData = 0;
|
||||
uiLen = pFieldInfo.uiLen = ( USHORT ) iData;
|
||||
uiLen = dbFieldInfo.uiLen = ( USHORT ) iData;
|
||||
iData = hb_arrayGetNI( pFieldDesc, 4 );
|
||||
if( iData < 0 )
|
||||
iData = 0;
|
||||
uiDec = ( USHORT ) iData;
|
||||
pFieldInfo.uiDec = 0;
|
||||
dbFieldInfo.uiDec = 0;
|
||||
szFieldType = hb_arrayGetCPtr( pFieldDesc, 2 );
|
||||
iData = toupper( szFieldType[ 0 ] );
|
||||
switch( iData )
|
||||
@@ -1378,15 +1380,15 @@ static ERRCODE adsCreateFields( ADSAREAP pArea, PHB_ITEM pStruct )
|
||||
case 'C':
|
||||
if( strlen( szFieldType ) == 1 || ! hb_stricmp( szFieldType, "char" ) )
|
||||
{
|
||||
pFieldInfo.uiType = HB_IT_STRING;
|
||||
pFieldInfo.uiLen = uiLen + uiDec * 256;
|
||||
dbFieldInfo.uiType = HB_IT_STRING;
|
||||
dbFieldInfo.uiLen = uiLen + uiDec * 256;
|
||||
}
|
||||
else if( ! hb_stricmp( szFieldType, "curdouble" ) && pArea->iFileType == ADS_ADT )
|
||||
{
|
||||
pFieldInfo.uiType = HB_IT_LONG;
|
||||
pFieldInfo.uiTypeExtended = ADS_CURDOUBLE;
|
||||
pFieldInfo.uiLen = 8;
|
||||
pFieldInfo.uiDec = uiDec;
|
||||
dbFieldInfo.uiType = HB_IT_LONG;
|
||||
dbFieldInfo.uiTypeExtended = ADS_CURDOUBLE;
|
||||
dbFieldInfo.uiLen = 8;
|
||||
dbFieldInfo.uiDec = uiDec;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1395,27 +1397,27 @@ static ERRCODE adsCreateFields( ADSAREAP pArea, PHB_ITEM pStruct )
|
||||
break;
|
||||
|
||||
case 'L':
|
||||
pFieldInfo.uiType = HB_IT_LOGICAL;
|
||||
pFieldInfo.uiLen = 1;
|
||||
dbFieldInfo.uiType = HB_IT_LOGICAL;
|
||||
dbFieldInfo.uiLen = 1;
|
||||
break;
|
||||
|
||||
case 'M':
|
||||
pFieldInfo.uiType = HB_IT_MEMO;
|
||||
pFieldInfo.uiLen = ( pArea->iFileType == ADS_ADT ) ? 9 : 10;
|
||||
dbFieldInfo.uiType = HB_IT_MEMO;
|
||||
dbFieldInfo.uiLen = ( pArea->iFileType == ADS_ADT ) ? 9 : 10;
|
||||
break;
|
||||
|
||||
case 'D':
|
||||
if( strlen( szFieldType ) == 1 || ! hb_stricmp( szFieldType, "date" ) )
|
||||
{
|
||||
pFieldInfo.uiType = HB_IT_DATE;
|
||||
pFieldInfo.uiLen = ( pArea->iFileType == ADS_ADT ) ? 4 : 8;
|
||||
dbFieldInfo.uiType = HB_IT_DATE;
|
||||
dbFieldInfo.uiLen = ( pArea->iFileType == ADS_ADT ) ? 4 : 8;
|
||||
}
|
||||
else if( ! hb_stricmp( szFieldType, "double" ) )
|
||||
{
|
||||
pFieldInfo.uiType = HB_IT_LONG;
|
||||
pFieldInfo.uiTypeExtended = ADS_DOUBLE;
|
||||
pFieldInfo.uiLen = 8;
|
||||
pFieldInfo.uiDec = uiDec;
|
||||
dbFieldInfo.uiType = HB_IT_LONG;
|
||||
dbFieldInfo.uiTypeExtended = ADS_DOUBLE;
|
||||
dbFieldInfo.uiLen = 8;
|
||||
dbFieldInfo.uiDec = uiDec;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1424,7 +1426,7 @@ static ERRCODE adsCreateFields( ADSAREAP pArea, PHB_ITEM pStruct )
|
||||
break;
|
||||
|
||||
case 'N':
|
||||
pFieldInfo.uiType = HB_IT_LONG;
|
||||
dbFieldInfo.uiType = HB_IT_LONG;
|
||||
|
||||
if( uiLen > 32 )
|
||||
{
|
||||
@@ -1432,15 +1434,15 @@ static ERRCODE adsCreateFields( ADSAREAP pArea, PHB_ITEM pStruct )
|
||||
}
|
||||
else
|
||||
{
|
||||
pFieldInfo.uiDec = uiDec;
|
||||
dbFieldInfo.uiDec = uiDec;
|
||||
}
|
||||
break;
|
||||
|
||||
case 'A':
|
||||
if( pArea->iFileType == ADS_ADT )
|
||||
{
|
||||
pFieldInfo.uiType = HB_IT_LONG;
|
||||
pFieldInfo.uiTypeExtended = ADS_AUTOINC;
|
||||
dbFieldInfo.uiType = HB_IT_LONG;
|
||||
dbFieldInfo.uiTypeExtended = ADS_AUTOINC;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1449,21 +1451,21 @@ static ERRCODE adsCreateFields( ADSAREAP pArea, PHB_ITEM pStruct )
|
||||
break;
|
||||
|
||||
case 'B':
|
||||
pFieldInfo.uiType = HB_IT_MEMO;
|
||||
pFieldInfo.uiTypeExtended = ADS_BINARY;
|
||||
pFieldInfo.uiLen = ( pArea->iFileType == ADS_ADT ) ? 9 : 10;
|
||||
dbFieldInfo.uiType = HB_IT_MEMO;
|
||||
dbFieldInfo.uiTypeExtended = ADS_BINARY;
|
||||
dbFieldInfo.uiLen = ( pArea->iFileType == ADS_ADT ) ? 9 : 10;
|
||||
break;
|
||||
|
||||
case 'V':
|
||||
pFieldInfo.uiType = HB_IT_MEMO;
|
||||
pFieldInfo.uiTypeExtended = ADS_VARCHAR;
|
||||
dbFieldInfo.uiType = HB_IT_MEMO;
|
||||
dbFieldInfo.uiTypeExtended = ADS_VARCHAR;
|
||||
break;
|
||||
|
||||
case 'R':
|
||||
if( pArea->iFileType == ADS_ADT )
|
||||
{
|
||||
pFieldInfo.uiType = HB_IT_STRING;
|
||||
pFieldInfo.uiTypeExtended = ADS_RAW;
|
||||
dbFieldInfo.uiType = HB_IT_STRING;
|
||||
dbFieldInfo.uiTypeExtended = ADS_RAW;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1474,15 +1476,15 @@ static ERRCODE adsCreateFields( ADSAREAP pArea, PHB_ITEM pStruct )
|
||||
case 'S':
|
||||
if( !hb_stricmp( szFieldType, "shortdate" ) )
|
||||
{
|
||||
pFieldInfo.uiType = HB_IT_DATE;
|
||||
pFieldInfo.uiTypeExtended = ADS_COMPACTDATE;
|
||||
pFieldInfo.uiLen = 4;
|
||||
dbFieldInfo.uiType = HB_IT_DATE;
|
||||
dbFieldInfo.uiTypeExtended = ADS_COMPACTDATE;
|
||||
dbFieldInfo.uiLen = 4;
|
||||
}
|
||||
else if( !hb_stricmp( szFieldType, "shortint" ) && pArea->iFileType == ADS_ADT )
|
||||
{
|
||||
pFieldInfo.uiType = HB_IT_LONG;
|
||||
pFieldInfo.uiTypeExtended = ADS_SHORTINT;
|
||||
pFieldInfo.uiLen = 2;
|
||||
dbFieldInfo.uiType = HB_IT_LONG;
|
||||
dbFieldInfo.uiTypeExtended = ADS_SHORTINT;
|
||||
dbFieldInfo.uiLen = 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1493,15 +1495,15 @@ static ERRCODE adsCreateFields( ADSAREAP pArea, PHB_ITEM pStruct )
|
||||
case 'T':
|
||||
if( ! hb_stricmp( szFieldType, "timestamp" ) && pArea->iFileType == ADS_ADT )
|
||||
{
|
||||
pFieldInfo.uiType = HB_IT_LONG;
|
||||
pFieldInfo.uiTypeExtended = ADS_TIMESTAMP;
|
||||
pFieldInfo.uiLen = 8;
|
||||
dbFieldInfo.uiType = HB_IT_LONG;
|
||||
dbFieldInfo.uiTypeExtended = ADS_TIMESTAMP;
|
||||
dbFieldInfo.uiLen = 8;
|
||||
}
|
||||
else if( !hb_stricmp( szFieldType, "time" ) && pArea->iFileType == ADS_ADT )
|
||||
{
|
||||
pFieldInfo.uiType = HB_IT_LONG;
|
||||
pFieldInfo.uiTypeExtended = ADS_TIME;
|
||||
pFieldInfo.uiLen = 4;
|
||||
dbFieldInfo.uiType = HB_IT_LONG;
|
||||
dbFieldInfo.uiTypeExtended = ADS_TIME;
|
||||
dbFieldInfo.uiLen = 4;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1512,15 +1514,15 @@ static ERRCODE adsCreateFields( ADSAREAP pArea, PHB_ITEM pStruct )
|
||||
case 'I':
|
||||
if( !hb_stricmp( szFieldType, "integer" ) )
|
||||
{
|
||||
pFieldInfo.uiType = HB_IT_LONG;
|
||||
pFieldInfo.uiTypeExtended = ADS_INTEGER;
|
||||
pFieldInfo.uiLen = 4;
|
||||
dbFieldInfo.uiType = HB_IT_LONG;
|
||||
dbFieldInfo.uiTypeExtended = ADS_INTEGER;
|
||||
dbFieldInfo.uiLen = 4;
|
||||
}
|
||||
else if( !hb_stricmp( szFieldType, "image" ) )
|
||||
{
|
||||
pFieldInfo.uiType = HB_IT_MEMO;
|
||||
pFieldInfo.uiTypeExtended = ADS_IMAGE;
|
||||
pFieldInfo.uiLen = ( pArea->iFileType == ADS_ADT ) ? 9 : 10;
|
||||
dbFieldInfo.uiType = HB_IT_MEMO;
|
||||
dbFieldInfo.uiTypeExtended = ADS_IMAGE;
|
||||
dbFieldInfo.uiLen = ( pArea->iFileType == ADS_ADT ) ? 9 : 10;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1534,7 +1536,7 @@ static ERRCODE adsCreateFields( ADSAREAP pArea, PHB_ITEM pStruct )
|
||||
}
|
||||
}
|
||||
/* Add field */
|
||||
if( SELF_ADDFIELD( (AREAP)pArea, &pFieldInfo ) == FAILURE )
|
||||
if( SELF_ADDFIELD( (AREAP)pArea, &dbFieldInfo ) == FAILURE )
|
||||
{
|
||||
return FAILURE;
|
||||
}
|
||||
@@ -2866,6 +2868,7 @@ static ERRCODE adsOpen( ADSAREAP pArea, LPDBOPENINFO pOpenInfo )
|
||||
|
||||
SELF_SETFIELDEXTENT( ( AREAP ) pArea, uiFields );
|
||||
|
||||
memset( &dbFieldInfo, 0, sizeof( dbFieldInfo ) );
|
||||
pArea->maxFieldLen = 0;
|
||||
|
||||
for( uiCount = 1; uiCount <= uiFields; uiCount++ )
|
||||
|
||||
@@ -3146,7 +3146,7 @@ static ERRCODE hb_dbfOpen( DBFAREAP pArea, LPDBOPENINFO pOpenInfo )
|
||||
PHB_FNAME pFileName;
|
||||
BYTE * pBuffer;
|
||||
LPDBFFIELD pField;
|
||||
DBFIELDINFO pFieldInfo;
|
||||
DBFIELDINFO dbFieldInfo;
|
||||
BYTE szFileName[ _POSIX_PATH_MAX + 1 ];
|
||||
char szAlias[ HARBOUR_MAX_RDD_ALIAS_LENGTH + 1 ];
|
||||
|
||||
@@ -3406,38 +3406,41 @@ static ERRCODE hb_dbfOpen( DBFAREAP pArea, LPDBOPENINFO pOpenInfo )
|
||||
}
|
||||
}
|
||||
|
||||
/* Clear dbFieldInfo structure */
|
||||
memset( &dbFieldInfo, 0, sizeof( dbFieldInfo ) );
|
||||
|
||||
/* Size for deleted flag */
|
||||
pArea->uiRecordLen = 1;
|
||||
|
||||
for( uiCount = 0; uiCount < uiFields + uiSkip; uiCount++ )
|
||||
{
|
||||
pField = ( LPDBFFIELD ) ( pBuffer + uiCount * sizeof( DBFFIELD ) );
|
||||
pFieldInfo.atomName = pField->bName;
|
||||
pFieldInfo.atomName[10] = '\0';
|
||||
/* hb_strUpper( (char *) pFieldInfo.atomName, 11 ); */
|
||||
pFieldInfo.uiLen = pField->bLen;
|
||||
pFieldInfo.uiDec = 0;
|
||||
pFieldInfo.uiTypeExtended = 0;
|
||||
dbFieldInfo.atomName = pField->bName;
|
||||
dbFieldInfo.atomName[10] = '\0';
|
||||
/* hb_strUpper( (char *) dbFieldInfo.atomName, 11 ); */
|
||||
dbFieldInfo.uiLen = pField->bLen;
|
||||
dbFieldInfo.uiDec = 0;
|
||||
dbFieldInfo.uiTypeExtended = 0;
|
||||
switch( pField->bType )
|
||||
{
|
||||
case 'C':
|
||||
pFieldInfo.uiType = HB_IT_STRING;
|
||||
pFieldInfo.uiLen = pField->bLen + pField->bDec * 256;
|
||||
dbFieldInfo.uiType = HB_IT_STRING;
|
||||
dbFieldInfo.uiLen = pField->bLen + pField->bDec * 256;
|
||||
break;
|
||||
|
||||
case 'L':
|
||||
pFieldInfo.uiType = HB_IT_LOGICAL;
|
||||
pFieldInfo.uiLen = 1;
|
||||
dbFieldInfo.uiType = HB_IT_LOGICAL;
|
||||
dbFieldInfo.uiLen = 1;
|
||||
break;
|
||||
|
||||
case 'M':
|
||||
pFieldInfo.uiType = HB_IT_MEMO;
|
||||
dbFieldInfo.uiType = HB_IT_MEMO;
|
||||
pArea->fHasMemo = TRUE;
|
||||
break;
|
||||
|
||||
case 'V':
|
||||
pFieldInfo.uiType = HB_IT_ANY;
|
||||
if( pFieldInfo.uiLen >= 6 )
|
||||
dbFieldInfo.uiType = HB_IT_ANY;
|
||||
if( dbFieldInfo.uiLen >= 6 )
|
||||
{
|
||||
pArea->uiMemoVersion = DB_MEMOVER_SIX;
|
||||
pArea->fHasMemo = TRUE;
|
||||
@@ -3445,29 +3448,29 @@ static ERRCODE hb_dbfOpen( DBFAREAP pArea, LPDBOPENINFO pOpenInfo )
|
||||
break;
|
||||
|
||||
case 'D':
|
||||
pFieldInfo.uiType = HB_IT_DATE;
|
||||
if( pFieldInfo.uiLen != 3 && pFieldInfo.uiLen != 4 )
|
||||
pFieldInfo.uiLen = 8;
|
||||
dbFieldInfo.uiType = HB_IT_DATE;
|
||||
if( dbFieldInfo.uiLen != 3 && dbFieldInfo.uiLen != 4 )
|
||||
dbFieldInfo.uiLen = 8;
|
||||
break;
|
||||
|
||||
case 'I':
|
||||
case 'Y':
|
||||
pFieldInfo.uiType = HB_IT_INTEGER;
|
||||
if( ( pFieldInfo.uiLen > 4 && pFieldInfo.uiLen != 8 ) ||
|
||||
pFieldInfo.uiLen == 0 )
|
||||
pFieldInfo.uiLen = 4;
|
||||
pFieldInfo.uiDec = pField->bDec;
|
||||
dbFieldInfo.uiType = HB_IT_INTEGER;
|
||||
if( ( dbFieldInfo.uiLen > 4 && dbFieldInfo.uiLen != 8 ) ||
|
||||
dbFieldInfo.uiLen == 0 )
|
||||
dbFieldInfo.uiLen = 4;
|
||||
dbFieldInfo.uiDec = pField->bDec;
|
||||
break;
|
||||
|
||||
case '2':
|
||||
case '4':
|
||||
pFieldInfo.uiType = HB_IT_INTEGER;
|
||||
pFieldInfo.uiLen = pField->bType - '0';
|
||||
dbFieldInfo.uiType = HB_IT_INTEGER;
|
||||
dbFieldInfo.uiLen = pField->bType - '0';
|
||||
break;
|
||||
|
||||
case 'N':
|
||||
case 'F':
|
||||
pFieldInfo.uiType = HB_IT_LONG;
|
||||
dbFieldInfo.uiType = HB_IT_LONG;
|
||||
/* DBASE documentation defines maximum numeric field size as 20
|
||||
* but Clipper allows to create longer fields so I removed this
|
||||
* limit, Druzus
|
||||
@@ -3477,30 +3480,30 @@ static ERRCODE hb_dbfOpen( DBFAREAP pArea, LPDBOPENINFO pOpenInfo )
|
||||
errCode = FAILURE;
|
||||
else
|
||||
*/
|
||||
pFieldInfo.uiDec = pField->bDec;
|
||||
dbFieldInfo.uiDec = pField->bDec;
|
||||
break;
|
||||
|
||||
case '8':
|
||||
case 'B':
|
||||
pFieldInfo.uiType = HB_IT_DOUBLE;
|
||||
pFieldInfo.uiLen = 8;
|
||||
pFieldInfo.uiDec = pField->bDec;
|
||||
dbFieldInfo.uiType = HB_IT_DOUBLE;
|
||||
dbFieldInfo.uiLen = 8;
|
||||
dbFieldInfo.uiDec = pField->bDec;
|
||||
break;
|
||||
|
||||
/* types which are not supported by VM - mapped to different ones */
|
||||
case 'T':
|
||||
case '@':
|
||||
pFieldInfo.uiType = HB_IT_INTEGER;
|
||||
dbFieldInfo.uiType = HB_IT_INTEGER;
|
||||
break;
|
||||
|
||||
default:
|
||||
if( pArea->bTableType == DB_DBF_VFP && pField->bFieldFlags & 0x01 )
|
||||
{
|
||||
if( memcmp( pFieldInfo.atomName, "_NullFlags", 10 ) == 0 )
|
||||
if( memcmp( dbFieldInfo.atomName, "_NullFlags", 10 ) == 0 )
|
||||
{
|
||||
/* TODO: NULLABLE and VARLENGTH support */
|
||||
}
|
||||
pArea->uiRecordLen += pFieldInfo.uiLen;
|
||||
pArea->uiRecordLen += dbFieldInfo.uiLen;
|
||||
continue;
|
||||
}
|
||||
errCode = FAILURE;
|
||||
@@ -3509,7 +3512,7 @@ static ERRCODE hb_dbfOpen( DBFAREAP pArea, LPDBOPENINFO pOpenInfo )
|
||||
|
||||
/* Add field */
|
||||
if( errCode == SUCCESS )
|
||||
errCode = SELF_ADDFIELD( ( AREAP ) pArea, &pFieldInfo );
|
||||
errCode = SELF_ADDFIELD( ( AREAP ) pArea, &dbFieldInfo );
|
||||
|
||||
/* Exit if error */
|
||||
if( errCode != SUCCESS )
|
||||
|
||||
Reference in New Issue
Block a user