1818{
1822}
1823
1824
1825
1826
1827
1828
1829
1832{
1833 int nOldRecordLength, nOldHeaderLength;
1834 int nDeletedFieldOffset, nDeletedFieldSize;
1836 char* pszRecord;
1837 int i, iRecord;
1838
1839 if (iField < 0 || iField >= psDBF->
nFields)
1841
1842
1845
1846
1851
1852
1853 for (i = iField + 1; i < psDBF->
nFields; i++)
1854 {
1859 }
1860
1861
1863
1866
1869
1872
1875
1876
1879
1880
1884
1887
1888
1891
1892
1895
1896
1899
1900
1902
1903
1904 for (iRecord = 0; iRecord < psDBF->
nRecords; iRecord++)
1905 {
1906 nRecordOffset =
1908
1909
1911 psDBF->
sHooks.
FRead( pszRecord, nOldRecordLength, 1, psDBF->
fp );
1912
1913 nRecordOffset =
1915
1916
1918 psDBF->
sHooks.
FWrite( pszRecord, nDeletedFieldOffset, 1, psDBF->
fp );
1919 psDBF->
sHooks.
FWrite( pszRecord + nDeletedFieldOffset + nDeletedFieldSize,
1920 nOldRecordLength - nDeletedFieldOffset - nDeletedFieldSize,
1922
1923 }
1924
1926 {
1930
1933 }
1934
1935
1936
1937
1939
1943
1945}
static void * SfRealloc(void *pMem, int nNewSize)
#define STATIC_CAST(type, x)
#define END_OF_FILE_CHARACTER
static int DBFFlushRecord(DBFHandle psDBF)
void SHPAPI_CALL DBFUpdateHeader(DBFHandle psDBF)
int SHPAPI_CALL DBFDeleteField(DBFHandle hDBF, int iField)
int bCurrentRecordModified
SAOffset(* FWrite)(void *p, SAOffset size, SAOffset nmemb, SAFile file)
SAOffset(* FRead)(void *p, SAOffset size, SAOffset nmemb, SAFile file)
SAOffset(* FSeek)(SAFile file, SAOffset offset, int whence)