/* Delete a catalog entry (and all of its tracks) */
static void del_cat_entry(const cdc_entry *entry_to_delete) {
    int track_no = 1, delete_ok;
    // don't delete without confirmation
    display_cdc(entry_to_delete);
    if (get_confirm("Delete tracks for this entry? ")) {
        do {
            // remember, del_cdt_entry returns 0 if the track didn't exist
            delete_ok = del_cdt_entry(entry_to_delete->catalog, track_no);
            track_no++;
        } while (delete_ok);
        if (!del_cdc_entry(entry_to_delete->catalog)) {
            fprintf(stderr, "Failed to delete entry\n");
        }
    }
}
Esempio n. 2
0
static void del_cat_entry(const cdc_entry *entry_to_delete) {
  int track_no = 1;
  int delete_ok;

  display_cdc(entry_to_delete);
  if (get_confirm("Delete this entry and all it's tracks?")) {
    do {
      delete_ok = del_cdt_entry(entry_to_delete->catalog, track_no);
      track_no++;
    } while (delete_ok);

    if (!del_cdc_entry(entry_to_delete->catalog)) {
      fprintf(stderr, "Failed to delete entry\n");
    }
  }
}
/* Delete a catalog entry. Delete all of its tracks. */
static void del_cat_entry(const cdc_entry *entry_to_delete)
{
    int track_no = 1;
    int delete_ok;

    display_cdc(entry_to_delete);
    if (get_confirm("Delete this entry and all it's tracks? ")) {

        // loop over all the track entries and delete (we could have called
        // del_track_entries; the reason we don't is b/c that function has
        // it's own confirmation inside of it. Better factoring would have
        // been able to follow DRY better.
        do {
            delete_ok = del_cdt_entry(entry_to_delete->catalog, 
                                      track_no);
            track_no++;
        } while(delete_ok);

        // now delete the catalog entry itself
        if (!del_cdc_entry(entry_to_delete->catalog)) {
            fprintf(stderr, "Failed to delete entry\n");
        }
    }
}