1225 if( iField < 0 || iField >= psDBF->nFields )
1226 return( FTInvalid );
1228 if( pnWidth != NULL )
1229 *pnWidth = psDBF->panFieldSize[iField];
1231 if( pnDecimals != NULL )
1232 *pnDecimals = psDBF->panFieldDecimals[iField];
1234 if( pszFieldName != NULL )
1238 strncpy( pszFieldName, (
char *) psDBF->pszHeader+iField*32, 11 );
1239 pszFieldName[11] =
'\0';
1240 for( i = 10; i > 0 && pszFieldName[i] ==
' '; i-- )
1241 pszFieldName[i] =
'\0';
1244 if ( psDBF->pachFieldType[iField] ==
'L' )
1247 else if ( psDBF->pachFieldType[iField] ==
'D' )
1250 else if( psDBF->pachFieldType[iField] ==
'N'
1251 || psDBF->pachFieldType[iField] ==
'F' )
1253 if( psDBF->panFieldDecimals[iField] > 0
1254 || psDBF->panFieldSize[iField] > 10 )
1257 return( FTInteger );