diff options
Diffstat (limited to 'pikul.c')
| -rw-r--r-- | pikul.c | 20 | 
1 files changed, 20 insertions, 0 deletions
| @@ -225,6 +225,26 @@ struct pikul_place **pikul_destinations(enum pikul_company company)  	return (struct pikul_place **)shipping->data;  } +static inline void free_place(struct pikul_place *place) +{ +	if (place->province) +		free(place->province); +	if (place->city) +		free(place->city); +	if (place->district) +		free(place->district); +	free(place->code); +	free(place); +} + +void pikul_free_places(struct pikul_place **places) +{ +	size_t i = 0; +	while (places[i]) +		free_place(places[i++]); +	free(places); +} +  struct pikul_service **pikul_services(enum pikul_company company,  		const char *origin, const char *destination, double weight)  { |