format::~format() { a_delete separation; ad_delete(ncolumns) width; a_delete equal; for (int i = 0; i < nrows; i++) { a_delete vline[i]; ad_delete(ncolumns) entry[i]; } a_delete vline; a_delete entry; }
void reference::insert_field(unsigned char c, string &s) { assert(s.length() > 0); if (field_index[c] != NULL_FIELD_INDEX) { field[field_index[c]].move(s); return; } assert(field_index[c] == NULL_FIELD_INDEX); string *old_field = field; field = new string[nfields + 1]; int pos = 0; int i; for (i = 0; i < int(c); i++) if (field_index[i] != NULL_FIELD_INDEX) pos++; for (i = 0; i < pos; i++) field[i].move(old_field[i]); field[pos].move(s); for (i = pos; i < nfields; i++) field[i + 1].move(old_field[i]); if (nfields > 0) ad_delete(nfields) old_field; nfields++; field_index[c] = pos; for (i = c + 1; i < 256; i++) if (field_index[i] != NULL_FIELD_INDEX) field_index[i] += 1; }
void reference::merge(reference &ref) { int i; for (i = 0; i < 256; i++) if (field_index[i] != NULL_FIELD_INDEX) temp_fields[i].move(field[field_index[i]]); for (i = 0; i < 256; i++) if (ref.field_index[i] != NULL_FIELD_INDEX) temp_fields[i].move(ref.field[ref.field_index[i]]); for (i = 0; i < 256; i++) field_index[i] = NULL_FIELD_INDEX; int old_nfields = nfields; nfields = 0; for (i = 0; i < 256; i++) if (temp_fields[i].length() > 0) nfields++; if (nfields != old_nfields) { if (old_nfields > 0) ad_delete(old_nfields) field; field = new string[nfields]; } int j = 0; for (i = 0; i < 256; i++) if (temp_fields[i].length() > 0) { field[j].move(temp_fields[i]); field_index[i] = j; j++; } merged = 1; }
int racinix_exit() { race_delete(race); bitmap_delete(bitmap_background); bitmap_delete(bitmap_mouse_cursor); bitmap_delete(bitmap_red_car); bitmap_delete(bitmap_blue_car); bitmap_delete(bitmap_speedometer); bitmap_delete(bitmap_credits); font_delete(font_impact); ad_delete(ad); return vg_exit(); }
void reference::delete_field(unsigned char c) { if (field_index[c] == NULL_FIELD_INDEX) return; string *old_field = field; field = new string[nfields - 1]; int i; for (i = 0; i < int(field_index[c]); i++) field[i].move(old_field[i]); for (i = field_index[c]; i < nfields - 1; i++) field[i].move(old_field[i + 1]); if (nfields > 0) ad_delete(nfields) old_field; nfields--; field_index[c] = NULL_FIELD_INDEX; for (i = c + 1; i < 256; i++) if (field_index[i] != NULL_FIELD_INDEX) field_index[i] -= 1; }
reference::~reference() { if (nfields > 0) ad_delete(nfields) field; }
graphic_object::~graphic_object() { if (text) ad_delete(ntext) text; }