X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=aft.c;h=0bf38fe691838b78cc35a1a8cde344147b5d4f47;hb=d1f8e90ef5f123b11c58a143e8a786d9623ac4d7;hp=2cdeb20cec5da5e8695d25bfe631a1a3d04c0f99;hpb=eb578d92fd87aeb86c0832689000dc772e689f92;p=paraslash.git diff --git a/aft.c b/aft.c index 2cdeb20c..0bf38fe6 100644 --- a/aft.c +++ b/aft.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Andre Noll + * Copyright (C) 2007-2008 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -804,8 +804,8 @@ static char *make_image_lines(struct afs_info *afsi) static char *make_filename_lines(const char *path, unsigned flags) { - char *basename, *dirname; - char *ret; + char *dirname, *ret; + const char *basename; if (!(flags & LS_FLAG_FULL_PATH)) return make_message("%s: %s\n", @@ -814,9 +814,8 @@ static char *make_filename_lines(const char *path, unsigned flags) dirname = para_dirname(path); ret = make_message("%s: %s\n%s: %s\n%s: %s\n", status_item_list[SI_PATH], path, - status_item_list[SI_DIRECTORY], dirname, - status_item_list[SI_BASENAME], basename); - free(basename); + status_item_list[SI_DIRECTORY], dirname? dirname : "?", + status_item_list[SI_BASENAME], basename? basename : "?"); free(dirname); return ret; } @@ -887,13 +886,15 @@ static int print_list_item(struct ls_data *d, struct ls_options *opts, lyrics_lines = make_lyrics_lines(afsi); image_lines = make_image_lines(afsi); filename_lines = make_filename_lines(d->path, opts->flags); - if (opts->mode == LS_MODE_MBOX) + if (opts->mode == LS_MODE_MBOX) { + const char *bn = para_basename(d->path); para_printf(b, "From foo@localhost %s\n" "Received: from\nTo: bar\nFrom: a\n" "Subject: %s\n\n", last_played_time, - d->path); + bn? bn : "?"); + } para_printf(b, "%s" /* filename stuff */ "%s%s%s%s" /* score */ @@ -1631,7 +1632,7 @@ static int com_add_callback(const struct osl_object *query, afs_event(AUDIO_FILE_ADD, &msg, aft_row); out: if (ret < 0) - para_printf(&msg, "%s\n", PARA_STRERROR(-ret)); + para_printf(&msg, "%s\n", para_strerror(-ret)); if (!msg.buf) return 0; result->data = msg.buf; @@ -1761,7 +1762,7 @@ out_unmap: out_free: if (ret < 0 && send_ret >= 0) send_ret = send_va_buffer(pad->fd, "failed to add %s (%s)\n", path, - PARA_STRERROR(-ret)); + para_strerror(-ret)); free(obj.data); if (afhi_ptr) free(afhi_ptr->chunk_table); @@ -1806,7 +1807,8 @@ int com_add(int fd, int argc, char * const * const argv) char *path; ret = verify_path(argv[i], &path); if (ret < 0) { - ret = send_va_buffer(fd, "%s: %s\n", argv[i], PARA_STRERROR(-ret)); + ret = send_va_buffer(fd, "%s: %s\n", argv[i], + para_strerror(-ret)); if (ret < 0) return ret; continue; @@ -1826,7 +1828,7 @@ int com_add(int fd, int argc, char * const * const argv) else ret = add_one_audio_file(path, &pad); if (ret < 0) { - send_va_buffer(fd, "%s: %s\n", path, PARA_STRERROR(-ret)); + send_va_buffer(fd, "%s: %s\n", path, para_strerror(-ret)); free(path); return ret; } @@ -1882,12 +1884,12 @@ static int touch_audio_file(__a_unused struct osl_table *table, ret = get_afsi_object_of_row(row, &obj); if (ret < 0) { - para_printf(&tad->pb, "%s: %s\n", name, PARA_STRERROR(-ret)); + para_printf(&tad->pb, "%s: %s\n", name, para_strerror(-ret)); return 1; } ret = load_afsi(&old_afsi, &obj); if (ret < 0) { - para_printf(&tad->pb, "%s: %s\n", name, PARA_STRERROR(-ret)); + para_printf(&tad->pb, "%s: %s\n", name, para_strerror(-ret)); return 1; } new_afsi = old_afsi; @@ -1935,7 +1937,7 @@ static int com_touch_callback(const struct osl_object *query, pmd.fnmatch_flags |= FNM_PATHNAME; ret = for_each_matching_row(&pmd); if (ret < 0) - para_printf(&tad.pb, "%s\n", PARA_STRERROR(-ret)); + para_printf(&tad.pb, "%s\n", para_strerror(-ret)); if (tad.pb.buf) { result->data = tad.pb.buf; result->size = tad.pb.size; @@ -2007,7 +2009,7 @@ int com_touch(int fd, int argc, char * const * const argv) send_buffer(fd, (char *)result.data); free(result.data); } else if (ret < 0) - send_va_buffer(fd, "%s\n", PARA_STRERROR(-ret)); + send_va_buffer(fd, "%s\n", para_strerror(-ret)); return ret; } @@ -2042,7 +2044,7 @@ static int remove_audio_file(__a_unused struct osl_table *table, afs_event(AUDIO_FILE_REMOVE, &crd->pb, row); ret = osl_del_row(audio_file_table, row); if (ret < 0) - para_printf(&crd->pb, "%s: %s\n", name, PARA_STRERROR(-ret)); + para_printf(&crd->pb, "%s: %s\n", name, para_strerror(-ret)); else crd->num_removed++; return 1; @@ -2066,7 +2068,7 @@ static int com_rm_callback(const struct osl_object *query, pmd.fnmatch_flags |= FNM_PATHNAME; ret = for_each_matching_row(&pmd); if (ret < 0) - para_printf(&crd.pb, "%s\n", PARA_STRERROR(-ret)); + para_printf(&crd.pb, "%s\n", para_strerror(-ret)); if (!crd.num_removed && !(crd.flags & RM_FLAG_FORCE)) para_printf(&crd.pb, "no matches -- nothing removed\n"); else { @@ -2119,7 +2121,7 @@ int com_rm(int fd, int argc, char * const * const argv) send_buffer(fd, (char *)result.data); free(result.data); } else if (ret < 0) - send_va_buffer(fd, "%s\n", PARA_STRERROR(-ret)); + send_va_buffer(fd, "%s\n", para_strerror(-ret)); return ret; } @@ -2212,7 +2214,7 @@ static int com_cpsi_callback(const struct osl_object *query, ret = for_each_matching_row(&pmd); out: if (ret < 0) - para_printf(&cad.pb, "%s\n", PARA_STRERROR(-ret)); + para_printf(&cad.pb, "%s\n", para_strerror(-ret)); if (cad.flags & CPSI_FLAG_VERBOSE) { if (cad.num_copied) para_printf(&cad.pb, "copied requested afsi from %s " @@ -2280,7 +2282,7 @@ int com_cpsi(int fd, int argc, char * const * const argv) send_buffer(fd, (char *)result.data); free(result.data); } else - send_va_buffer(fd, "%s\n", PARA_STRERROR(-ret)); + send_va_buffer(fd, "%s\n", para_strerror(-ret)); return ret; } @@ -2295,7 +2297,7 @@ static int check_audio_file(struct osl_row *row, void *data) char *blob_name; if (ret < 0) { - para_printf(pb, "%s\n", PARA_STRERROR(-ret)); + para_printf(pb, "%s\n", para_strerror(-ret)); return 1; } if (stat(path, &statbuf) < 0) @@ -2306,17 +2308,17 @@ static int check_audio_file(struct osl_row *row, void *data) } ret = get_afsi_of_row(row, &afsi); if (ret < 0) { - para_printf(pb, "%s: %s\n", path, PARA_STRERROR(-ret)); + para_printf(pb, "%s: %s\n", path, para_strerror(-ret)); return 1; } ret = lyr_get_name_by_id(afsi.lyrics_id, &blob_name); if (ret < 0) para_printf(pb, "%s lyrics id %u: %s\n", path, afsi.lyrics_id, - PARA_STRERROR(-ret)); + para_strerror(-ret)); ret = img_get_name_by_id(afsi.image_id, &blob_name); if (ret < 0) para_printf(pb, "%s image id %u: %s\n", path, afsi.image_id, - PARA_STRERROR(-ret)); + para_strerror(-ret)); return 1; }