{"thread":{"id":"21559","subject":"[PATCH 5/8] teach warn_dangling_symref to take a FILE argument","startedAt":"2009-11-10T08:14:15Z","lastAt":"2009-11-10T08:14:15Z","messageCount":1,"participants":["Björn Gustavsson"],"isPatch":true,"patchVersion":1,"patchTotal":8},"messages":[{"id":"127222","messageId":"4AF920D7.2020208@gmail.com","threadId":"21559","inReplyTo":null,"subject":"[PATCH 5/8] teach warn_dangling_symref to take a FILE argument","fromName":"Björn Gustavsson","fromEmail":"bgustavsson@gmail.com","sentAt":"2009-11-10T08:14:15Z","receivedAt":"2009-11-10T08:14:15Z","isPatch":true,"sender":{"key":"bgustavsson@gmail.com","avatar":"https://avatars.githubusercontent.com/u/74840?v=4"},"body":"From: Jay Soffian <jaysoffian@gmail.com>\n\nDifferent callers of warn_dangling_symref() may want to control whether its\noutput goes to stdout or stderr so let it take a FILE argument.\n\nSigned-off-by: Jay Soffian <jaysoffian@gmail.com>\nSigned-off-by: Björn Gustavsson <bgustavsson@gmail.com>\n---\n builtin-remote.c |    2 +-\n refs.c           |    7 ++++---\n refs.h           |    2 +-\n 3 files changed, 6 insertions(+), 5 deletions(-)\n\ndiff --git a/builtin-remote.c b/builtin-remote.c\nindex b48267b..56cd5af 100644\n--- a/builtin-remote.c\n+++ b/builtin-remote.c\n@@ -1166,7 +1166,7 @@ static int prune_remote(const char *remote, int dry_run)\n \n \t\tprintf(\" * [%s] %s\\n\", dry_run ? \"would prune\" : \"pruned\",\n \t\t       abbrev_ref(refname, \"refs/remotes/\"));\n-\t\twarn_dangling_symref(dangling_msg, refname);\n+\t\twarn_dangling_symref(stdout, dangling_msg, refname);\n \t}\n \n \tfree_remote_ref_states(&states);\ndiff --git a/refs.c b/refs.c\nindex 808f56b..3e73a0a 100644\n--- a/refs.c\n+++ b/refs.c\n@@ -286,6 +286,7 @@ static struct ref_list *get_ref_dir(const char *base, struct ref_list *list)\n }\n \n struct warn_if_dangling_data {\n+\tFILE *fp;\n \tconst char *refname;\n \tconst char *msg_fmt;\n };\n@@ -304,13 +305,13 @@ static int warn_if_dangling_symref(const char *refname, const unsigned char *sha\n \tif (!resolves_to || strcmp(resolves_to, d->refname))\n \t\treturn 0;\n \n-\tprintf(d->msg_fmt, refname);\n+\tfprintf(d->fp, d->msg_fmt, refname);\n \treturn 0;\n }\n \n-void warn_dangling_symref(const char *msg_fmt, const char *refname)\n+void warn_dangling_symref(FILE *fp, const char *msg_fmt, const char *refname)\n {\n-\tstruct warn_if_dangling_data data = { refname, msg_fmt };\n+\tstruct warn_if_dangling_data data = { fp, refname, msg_fmt };\n \tfor_each_rawref(warn_if_dangling_symref, &data);\n }\n \ndiff --git a/refs.h b/refs.h\nindex 777b5b7..e141991 100644\n--- a/refs.h\n+++ b/refs.h\n@@ -29,7 +29,7 @@ extern int for_each_replace_ref(each_ref_fn, void *);\n /* can be used to learn about broken ref and symref */\n extern int for_each_rawref(each_ref_fn, void *);\n \n-extern void warn_dangling_symref(const char *msg_fmt, const char *refname);\n+extern void warn_dangling_symref(FILE *fp, const char *msg_fmt, const char *refname);\n \n /*\n  * Extra refs will be listed by for_each_ref() before any actual refs\n-- \n1.6.5.1.69.g36942\n"}]}