PostGIS  2.4.9dev-r@@SVN_REVISION@@

◆ ShpLoaderDestroy()

void ShpLoaderDestroy ( SHPLOADERSTATE state)

Definition at line 1882 of file shp2pgsql-core.c.

References shp_loader_state::col_names, colmap_clean(), shp_loader_state::column_map, DBFClose(), shp_loader_state::field_names, free(), shp_loader_state::hDBFHandle, shp_loader_state::hSHPHandle, shp_loader_state::num_fields, shp_loader_state::pgfieldtypes, shp_loader_state::precisions, SHPClose(), shp_loader_state::types, and shp_loader_state::widths.

Referenced by main(), pgui_action_import(), test_ShpLoaderDestroy(), and validate_remote_loader_columns().

1883 {
1884  /* Destroy a state object created with ShpLoaderOpenShape */
1885  int i;
1886  if (state != NULL)
1887  {
1888  if (state->hSHPHandle)
1889  SHPClose(state->hSHPHandle);
1890  if (state->hDBFHandle)
1891  DBFClose(state->hDBFHandle);
1892  if (state->field_names)
1893  {
1894  for (i = 0; i < state->num_fields; i++)
1895  free(state->field_names[i]);
1896 
1897  free(state->field_names);
1898  }
1899  if (state->pgfieldtypes)
1900  {
1901  for (i = 0; i < state->num_fields; i++)
1902  free(state->pgfieldtypes[i]);
1903 
1904  free(state->pgfieldtypes);
1905  }
1906  if (state->types)
1907  free(state->types);
1908  if (state->widths)
1909  free(state->widths);
1910  if (state->precisions)
1911  free(state->precisions);
1912  if (state->col_names)
1913  free(state->col_names);
1914 
1915  /* Free any column map fieldnames if specified */
1916  colmap_clean(&state->column_map);
1917 
1918  /* Free the state itself */
1919  free(state);
1920  }
1921 }
void colmap_clean(colmap *map)
Definition: shpcommon.c:167
DBFFieldType * types
DBFHandle hDBFHandle
SHPHandle hSHPHandle
void SHPAPI_CALL DBFClose(DBFHandle psDBF)
Definition: dbfopen.c:578
void free(void *)
void SHPAPI_CALL SHPClose(SHPHandle hSHP)
Definition: shpopen.c:759
Here is the call graph for this function:
Here is the caller graph for this function: