Merge branch 'jk/options-cleanup'
Various clean-ups to the command line option parsing. * jk/options-cleanup: apply, ls-files: simplify "-z" parsing checkout-index: disallow "--no-stage" option checkout-index: handle "--no-index" option checkout-index: handle "--no-prefix" option checkout-index: simplify "-z" option parsing give "nbuf" strbuf a more meaningful name
This commit is contained in:
@ -58,20 +58,21 @@ static void hash_object(const char *path, const char *type, const char *vpath,
|
||||
static void hash_stdin_paths(const char *type, int no_filters, unsigned flags,
|
||||
int literally)
|
||||
{
|
||||
struct strbuf buf = STRBUF_INIT, nbuf = STRBUF_INIT;
|
||||
struct strbuf buf = STRBUF_INIT;
|
||||
struct strbuf unquoted = STRBUF_INIT;
|
||||
|
||||
while (strbuf_getline(&buf, stdin) != EOF) {
|
||||
if (buf.buf[0] == '"') {
|
||||
strbuf_reset(&nbuf);
|
||||
if (unquote_c_style(&nbuf, buf.buf, NULL))
|
||||
strbuf_reset(&unquoted);
|
||||
if (unquote_c_style(&unquoted, buf.buf, NULL))
|
||||
die("line is badly quoted");
|
||||
strbuf_swap(&buf, &nbuf);
|
||||
strbuf_swap(&buf, &unquoted);
|
||||
}
|
||||
hash_object(buf.buf, type, no_filters ? NULL : buf.buf, flags,
|
||||
literally);
|
||||
}
|
||||
strbuf_release(&buf);
|
||||
strbuf_release(&nbuf);
|
||||
strbuf_release(&unquoted);
|
||||
}
|
||||
|
||||
int cmd_hash_object(int argc, const char **argv, const char *prefix)
|
||||
|
||||
Reference in New Issue
Block a user