1809{
1813}
1814
1815
1816
1817
1818
1819
1820
1823{
1824 int nOldRecordLength, nOldHeaderLength;
1825 int nDeletedFieldOffset, nDeletedFieldSize;
1827 char* pszRecord;
1828 int i, iRecord;
1829
1830 if (iField < 0 || iField >= psDBF->
nFields)
1832
1833
1836
1837
1842
1843
1844 for (i = iField + 1; i < psDBF->
nFields; i++)
1845 {
1850 }
1851
1852
1854
1857
1860
1863
1866
1867
1870
1871
1875
1878
1879
1882
1883
1886
1887
1890
1891
1893
1894
1895 for (iRecord = 0; iRecord < psDBF->
nRecords; iRecord++)
1896 {
1897 nRecordOffset =
1899
1900
1902 psDBF->
sHooks.
FRead( pszRecord, nOldRecordLength, 1, psDBF->
fp );
1903
1904 nRecordOffset =
1906
1907
1909 psDBF->
sHooks.
FWrite( pszRecord, nDeletedFieldOffset, 1, psDBF->
fp );
1910 psDBF->
sHooks.
FWrite( pszRecord + nDeletedFieldOffset + nDeletedFieldSize,
1911 nOldRecordLength - nDeletedFieldOffset - nDeletedFieldSize,
1913
1914 }
1915
1917 {
1921
1924 }
1925
1926
1927
1928
1930
1934
1936}
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)