void save_city (char *cname) { char *s, *s2, *s3, *s4; int l; if ((l = strlen (cname)) < 2) return; if ((s = (char *) malloc (lc_save_dir_len + l + 16)) == 0) malloc_failure (); if ((s2 = (char *) malloc (lc_save_dir_len + l + 32)) == 0) malloc_failure (); if ((s3 = (char *) malloc ((lc_save_dir_len + l) * 2 + 32)) == 0) malloc_failure (); if ((s4 = (char *) malloc ((lc_save_dir_len + l) * 2 + 32)) == 0) malloc_failure (); sprintf (s, "%s%c%s", lc_save_dir, PATH_SLASH, cname); sprintf (s2, "%s%c%s", lc_save_dir, PATH_SLASH, "tmp-save"); sprintf (s3, "gzip -f %s", s2); sprintf (s4, "mv %s.gz %s", s2, s); save_city_raw (s2); if (system (s3) != 0) do_error ("gzip failed while in save_city"); if (system (s4) != 0) do_error ("mv failed while in save_city"); free (s); free (s2); free (s3); free (s4); }
void save_city (char *cname) { char *s; int l; if ((l = strlen (cname)) < 2) return; if ((s = (char *) malloc (lc_save_dir_len + l + 16)) == 0) malloc_failure (); sprintf (s, "%s%c%s", lc_save_dir, PATH_SLASH, cname); save_city_raw (s); free (s); }