Jeff King <peff@xxxxxxxx> writes: > I would think the extra memory allocation would dwarf it, anyway. >> ... >> and a new caller can do something like >> >> agent = server_supports("agent"); >> if (!agent || !agent[5]) >> ... no agent ... >> else { >> int span = strcspn(agent + 6, " \t\n"); >> printf("I found agent=<%.*s>!\n", span, agent + 6); >> } >> >> which doesn't look too bad. I forgot to mention it, but the above was done also to make it "possible but not mandatory" to pay extra allocation penalty. The caller can choose to parse the string into an int, for example, without extra allocation. Only the ones that want a string value and keep a copy around do have to do xmemdupz(). > Anyway, do you think this is even worth doing at this point? I'm > lukewarm on the final two patches due to the existence of > GIT_TRACE_PACKET, which is much more likely to be useful. In the longer term, I think giving callers access to the parameter value given to a capability is necessary. If we had this facility in the old days, we wouldn't have done side-band-64k but spelled it as side-band=64k. For the agent=<foo>, certainly we don't need it. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html