Thread (1 message) 1 message, 1 author, 2016-06-15

Re: [PATCH 1/2] help: add help_unknown_ref

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:57:06

Vikrant Varma [off-list ref] writes:
On 02-05-2013 02:02, Ramkumar Ramachandra wrote:
quoted
quoted
ref_cb.similar_refs has already been defined. The compiler won't let me
assign to it unless I cast first. However, I think compound literals are a
C99/gcc feature. Is this better?

         struct similar_ref_cb ref_cb = {ref, STRING_LIST_INIT_NODUP};
As Johannes pointed out, ref is a variable and that is problematic.
Leave the cast on: I didn't notice the compiler warning in my head.
Is it okay to use a compound literal? It's not supported in C89.
Building on top of what was suggested in the other message, the
helper could be made more reusable by doing something like this:

	int suggest_misspelt_ref(const char *ref, struct string_list *suggested);

and the caller can do

	if (!commit) {
		struct string_list suggested = STRING_LIST_INIT;
                if (suggest_misspelt_ref(argv[1], &suggested)) {
                	... Did you mean one of these??? ...
			string_list_clear(&suggested);
		}
                die(_("'%s' is not something we can merge'), argv[1]);
	}

So I think this point is moot.  Of course, similar_ref_cb needs to
be updated to keep a pointer to an existing string_list, not an
instance of its own string_list.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help