From: Christian Couder <chriscool@tuxfamily.org>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org, Avery Pennarun <apenwarr@gmail.com>,
Johannes Schindelin <Johannes.Schindelin@gmx.de>,
Jonathan Nieder <jrnieder@gmail.com>, Jeff King <peff@peff.net>,
Max Horn <max@quendi.de>
Subject: [PATCH 03/86] fast-import: replace prefixcmd() with has_prefix()
Date: Sat, 09 Nov 2013 08:05:56 +0100 [thread overview]
Message-ID: <20131109070720.18178.66984.chriscool@tuxfamily.org> (raw)
In-Reply-To: <20131109070358.18178.40248.chriscool@tuxfamily.org>
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
---
fast-import.c | 80 +++++++++++++++++++++++++++++------------------------------
1 file changed, 40 insertions(+), 40 deletions(-)
diff --git a/fast-import.c b/fast-import.c
index f4d9969..14f69a1 100644
--- a/fast-import.c
+++ b/fast-import.c
@@ -1877,8 +1877,8 @@ static int read_next_command(void)
return EOF;
if (!seen_data_command
- && prefixcmp(command_buf.buf, "feature ")
- && prefixcmp(command_buf.buf, "option ")) {
+ && !has_prefix(command_buf.buf, "feature ")
+ && !has_prefix(command_buf.buf, "option ")) {
parse_argv();
}
@@ -1898,7 +1898,7 @@ static int read_next_command(void)
rc->prev->next = rc;
cmd_tail = rc;
}
- if (!prefixcmp(command_buf.buf, "cat-blob ")) {
+ if (has_prefix(command_buf.buf, "cat-blob ")) {
parse_cat_blob();
continue;
}
@@ -1917,7 +1917,7 @@ static void skip_optional_lf(void)
static void parse_mark(void)
{
- if (!prefixcmp(command_buf.buf, "mark :")) {
+ if (has_prefix(command_buf.buf, "mark :")) {
next_mark = strtoumax(command_buf.buf + 6, NULL, 10);
read_next_command();
}
@@ -1929,10 +1929,10 @@ static int parse_data(struct strbuf *sb, uintmax_t limit, uintmax_t *len_res)
{
strbuf_reset(sb);
- if (prefixcmp(command_buf.buf, "data "))
+ if (!has_prefix(command_buf.buf, "data "))
die("Expected 'data n' command, found: %s", command_buf.buf);
- if (!prefixcmp(command_buf.buf + 5, "<<")) {
+ if (has_prefix(command_buf.buf + 5, "<<")) {
char *term = xstrdup(command_buf.buf + 5 + 2);
size_t term_len = command_buf.len - 5 - 2;
@@ -2306,7 +2306,7 @@ static void file_change_m(struct branch *b)
if (*p == ':') {
oe = find_mark(parse_mark_ref_space(&p));
hashcpy(sha1, oe->idx.sha1);
- } else if (!prefixcmp(p, "inline ")) {
+ } else if (has_prefix(p, "inline ")) {
inline_data = 1;
oe = NULL; /* not used with inline_data, but makes gcc happy */
p += strlen("inline"); /* advance to space */
@@ -2479,7 +2479,7 @@ static void note_change_n(struct branch *b, unsigned char *old_fanout)
if (*p == ':') {
oe = find_mark(parse_mark_ref_space(&p));
hashcpy(sha1, oe->idx.sha1);
- } else if (!prefixcmp(p, "inline ")) {
+ } else if (has_prefix(p, "inline ")) {
inline_data = 1;
oe = NULL; /* not used with inline_data, but makes gcc happy */
p += strlen("inline"); /* advance to space */
@@ -2590,7 +2590,7 @@ static int parse_from(struct branch *b)
const char *from;
struct branch *s;
- if (prefixcmp(command_buf.buf, "from "))
+ if (!has_prefix(command_buf.buf, "from "))
return 0;
if (b->branch_tree.tree) {
@@ -2636,7 +2636,7 @@ static struct hash_list *parse_merge(unsigned int *count)
struct branch *s;
*count = 0;
- while (!prefixcmp(command_buf.buf, "merge ")) {
+ while (has_prefix(command_buf.buf, "merge ")) {
from = strchr(command_buf.buf, ' ') + 1;
n = xmalloc(sizeof(*n));
s = lookup_branch(from);
@@ -2687,11 +2687,11 @@ static void parse_new_commit(void)
read_next_command();
parse_mark();
- if (!prefixcmp(command_buf.buf, "author ")) {
+ if (has_prefix(command_buf.buf, "author ")) {
author = parse_ident(command_buf.buf + 7);
read_next_command();
}
- if (!prefixcmp(command_buf.buf, "committer ")) {
+ if (has_prefix(command_buf.buf, "committer ")) {
committer = parse_ident(command_buf.buf + 10);
read_next_command();
}
@@ -2712,19 +2712,19 @@ static void parse_new_commit(void)
/* file_change* */
while (command_buf.len > 0) {
- if (!prefixcmp(command_buf.buf, "M "))
+ if (has_prefix(command_buf.buf, "M "))
file_change_m(b);
- else if (!prefixcmp(command_buf.buf, "D "))
+ else if (has_prefix(command_buf.buf, "D "))
file_change_d(b);
- else if (!prefixcmp(command_buf.buf, "R "))
+ else if (has_prefix(command_buf.buf, "R "))
file_change_cr(b, 1);
- else if (!prefixcmp(command_buf.buf, "C "))
+ else if (has_prefix(command_buf.buf, "C "))
file_change_cr(b, 0);
- else if (!prefixcmp(command_buf.buf, "N "))
+ else if (has_prefix(command_buf.buf, "N "))
note_change_n(b, &prev_fanout);
else if (!strcmp("deleteall", command_buf.buf))
file_change_deleteall(b);
- else if (!prefixcmp(command_buf.buf, "ls "))
+ else if (has_prefix(command_buf.buf, "ls "))
parse_ls(b);
else {
unread_command_buf = 1;
@@ -2793,7 +2793,7 @@ static void parse_new_tag(void)
read_next_command();
/* from ... */
- if (prefixcmp(command_buf.buf, "from "))
+ if (!has_prefix(command_buf.buf, "from "))
die("Expected from command, got %s", command_buf.buf);
from = strchr(command_buf.buf, ' ') + 1;
s = lookup_branch(from);
@@ -2821,7 +2821,7 @@ static void parse_new_tag(void)
read_next_command();
/* tagger ... */
- if (!prefixcmp(command_buf.buf, "tagger ")) {
+ if (has_prefix(command_buf.buf, "tagger ")) {
tagger = parse_ident(command_buf.buf + 7);
read_next_command();
} else
@@ -3209,7 +3209,7 @@ static void option_export_pack_edges(const char *edges)
static int parse_one_option(const char *option)
{
- if (!prefixcmp(option, "max-pack-size=")) {
+ if (has_prefix(option, "max-pack-size=")) {
unsigned long v;
if (!git_parse_ulong(option + 14, &v))
return 0;
@@ -3221,20 +3221,20 @@ static int parse_one_option(const char *option)
v = 1024 * 1024;
}
max_packsize = v;
- } else if (!prefixcmp(option, "big-file-threshold=")) {
+ } else if (has_prefix(option, "big-file-threshold=")) {
unsigned long v;
if (!git_parse_ulong(option + 19, &v))
return 0;
big_file_threshold = v;
- } else if (!prefixcmp(option, "depth=")) {
+ } else if (has_prefix(option, "depth=")) {
option_depth(option + 6);
- } else if (!prefixcmp(option, "active-branches=")) {
+ } else if (has_prefix(option, "active-branches=")) {
option_active_branches(option + 16);
- } else if (!prefixcmp(option, "export-pack-edges=")) {
+ } else if (has_prefix(option, "export-pack-edges=")) {
option_export_pack_edges(option + 18);
- } else if (!prefixcmp(option, "quiet")) {
+ } else if (has_prefix(option, "quiet")) {
show_stats = 0;
- } else if (!prefixcmp(option, "stats")) {
+ } else if (has_prefix(option, "stats")) {
show_stats = 1;
} else {
return 0;
@@ -3245,14 +3245,14 @@ static int parse_one_option(const char *option)
static int parse_one_feature(const char *feature, int from_stream)
{
- if (!prefixcmp(feature, "date-format=")) {
+ if (has_prefix(feature, "date-format=")) {
option_date_format(feature + 12);
- } else if (!prefixcmp(feature, "import-marks=")) {
+ } else if (has_prefix(feature, "import-marks=")) {
option_import_marks(feature + 13, from_stream, 0);
- } else if (!prefixcmp(feature, "import-marks-if-exists=")) {
+ } else if (has_prefix(feature, "import-marks-if-exists=")) {
option_import_marks(feature + strlen("import-marks-if-exists="),
from_stream, 1);
- } else if (!prefixcmp(feature, "export-marks=")) {
+ } else if (has_prefix(feature, "export-marks=")) {
option_export_marks(feature + 13);
} else if (!strcmp(feature, "cat-blob")) {
; /* Don't die - this feature is supported */
@@ -3350,7 +3350,7 @@ static void parse_argv(void)
if (parse_one_feature(a + 2, 0))
continue;
- if (!prefixcmp(a + 2, "cat-blob-fd=")) {
+ if (has_prefix(a + 2, "cat-blob-fd=")) {
option_cat_blob_fd(a + 2 + strlen("cat-blob-fd="));
continue;
}
@@ -3404,25 +3404,25 @@ int main(int argc, char **argv)
while (read_next_command() != EOF) {
if (!strcmp("blob", command_buf.buf))
parse_new_blob();
- else if (!prefixcmp(command_buf.buf, "ls "))
+ else if (has_prefix(command_buf.buf, "ls "))
parse_ls(NULL);
- else if (!prefixcmp(command_buf.buf, "commit "))
+ else if (has_prefix(command_buf.buf, "commit "))
parse_new_commit();
- else if (!prefixcmp(command_buf.buf, "tag "))
+ else if (has_prefix(command_buf.buf, "tag "))
parse_new_tag();
- else if (!prefixcmp(command_buf.buf, "reset "))
+ else if (has_prefix(command_buf.buf, "reset "))
parse_reset_branch();
else if (!strcmp("checkpoint", command_buf.buf))
parse_checkpoint();
else if (!strcmp("done", command_buf.buf))
break;
- else if (!prefixcmp(command_buf.buf, "progress "))
+ else if (has_prefix(command_buf.buf, "progress "))
parse_progress();
- else if (!prefixcmp(command_buf.buf, "feature "))
+ else if (has_prefix(command_buf.buf, "feature "))
parse_feature();
- else if (!prefixcmp(command_buf.buf, "option git "))
+ else if (has_prefix(command_buf.buf, "option git "))
parse_option();
- else if (!prefixcmp(command_buf.buf, "option "))
+ else if (has_prefix(command_buf.buf, "option "))
/* ignore non-git options*/;
else
die("Unsupported command: %s", command_buf.buf);
--
1.8.4.1.566.geca833c
next prev parent reply other threads:[~2013-11-09 7:11 UTC|newest]
Thread overview: 100+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-09 7:05 [PATCH 00/86] replace prefixcmp() with has_prefix() Christian Couder
2013-11-09 7:05 ` [PATCH 01/86] strbuf: add has_prefix() to be used instead of prefixcmp() Christian Couder
2013-11-09 7:05 ` [PATCH 02/86] diff: replace prefixcmd() with has_prefix() Christian Couder
2013-11-09 7:05 ` Christian Couder [this message]
2013-11-09 7:05 ` [PATCH 04/86] remote*: " Christian Couder
2013-11-09 7:05 ` [PATCH 05/86] daemon: " Christian Couder
2013-11-09 7:05 ` [PATCH 06/86] pretty: " Christian Couder
2013-11-09 7:06 ` [PATCH 07/86] revision: " Christian Couder
2013-11-09 7:06 ` [PATCH 08/86] transport*: " Christian Couder
2013-11-09 7:06 ` [PATCH 09/86] config: " Christian Couder
2013-11-09 7:06 ` [PATCH 10/86] sha1_name: " Christian Couder
2013-11-09 7:06 ` [PATCH 11/86] wt-status: " Christian Couder
2013-11-09 7:06 ` [PATCH 12/86] upload-pack: " Christian Couder
2013-11-09 7:06 ` [PATCH 13/86] test-line-buffer: " Christian Couder
2013-11-09 7:06 ` [PATCH 14/86] parse-options: " Christian Couder
2013-11-09 7:06 ` [PATCH 15/86] fetch-pack: " Christian Couder
2013-11-09 7:06 ` [PATCH 16/86] git: " Christian Couder
2013-11-09 7:06 ` [PATCH 17/86] tag: " Christian Couder
2013-11-09 7:06 ` [PATCH 18/86] sequencer: " Christian Couder
2013-11-09 7:06 ` [PATCH 19/86] commit: " Christian Couder
2013-11-09 7:06 ` [PATCH 20/86] http: " Christian Couder
2013-11-09 7:06 ` [PATCH 21/86] imap-send: " Christian Couder
2013-11-09 7:06 ` [PATCH 22/86] help: " Christian Couder
2013-11-09 7:06 ` [PATCH 23/86] log-tree: " Christian Couder
2013-11-09 7:06 ` [PATCH 24/86] merge-recursive: " Christian Couder
2013-11-09 7:06 ` [PATCH 25/86] notes: " Christian Couder
2013-11-09 7:06 ` [PATCH 26/86] refs: " Christian Couder
2013-11-09 7:06 ` [PATCH 27/86] setup: " Christian Couder
2013-11-09 7:06 ` [PATCH 28/86] bisect: " Christian Couder
2013-11-09 7:06 ` [PATCH 29/86] branch: " Christian Couder
2013-11-09 7:06 ` [PATCH 30/86] http-push: " Christian Couder
2013-11-09 7:06 ` [PATCH 31/86] send-pack: " Christian Couder
2013-11-09 7:06 ` [PATCH 32/86] http-backend: " Christian Couder
2013-11-09 7:06 ` [PATCH 33/86] notes-utils: " Christian Couder
2013-11-09 7:06 ` [PATCH 34/86] pkt-line: " Christian Couder
2013-11-09 7:06 ` [PATCH 35/86] alias: " Christian Couder
2013-11-09 7:06 ` [PATCH 36/86] attr: " Christian Couder
2013-11-09 7:06 ` [PATCH 37/86] connect: " Christian Couder
2013-11-09 7:06 ` [PATCH 38/86] pager: " Christian Couder
2013-11-09 7:06 ` [PATCH 39/86] convert: " Christian Couder
2013-11-09 7:06 ` [PATCH 40/86] environment: " Christian Couder
2013-11-09 7:06 ` [PATCH 41/86] shell: " Christian Couder
2013-11-09 7:06 ` [PATCH 42/86] pathspec: " Christian Couder
2013-11-09 7:06 ` [PATCH 43/86] submodule: " Christian Couder
2013-11-09 7:06 ` [PATCH 44/86] test-string-list: " Christian Couder
2013-11-09 7:06 ` [PATCH 45/86] builtin/apply: " Christian Couder
2013-11-09 7:06 ` [PATCH 46/86] builtin/archive: " Christian Couder
2013-11-09 7:06 ` [PATCH 47/86] builtin/branch: " Christian Couder
2013-11-09 7:06 ` [PATCH 48/86] builtin/checkout: " Christian Couder
2013-11-09 7:06 ` [PATCH 49/86] builtin/clean: " Christian Couder
2013-11-09 7:06 ` [PATCH 50/86] builtin/clone: " Christian Couder
2013-11-09 7:06 ` [PATCH 51/86] builtin/column: " Christian Couder
2013-11-09 7:06 ` [PATCH 52/86] builtin/commit: " Christian Couder
2013-11-09 7:06 ` [PATCH 53/86] builtin/describe: " Christian Couder
2013-11-09 7:06 ` [PATCH 54/86] builtin/fast-export: " Christian Couder
2013-11-09 7:06 ` [PATCH 55/86] builtin/fetch-pack: " Christian Couder
2013-11-09 7:06 ` [PATCH 56/86] builtin/fetch: " Christian Couder
2013-11-09 7:06 ` [PATCH 57/86] builtin/fmt-merge-msg: " Christian Couder
2013-11-09 7:06 ` [PATCH 58/86] builtin/for-each-ref: " Christian Couder
2013-11-09 7:06 ` [PATCH 59/86] builtin/fsck: " Christian Couder
2013-11-09 7:06 ` [PATCH 60/86] builtin/help: " Christian Couder
2013-11-09 7:06 ` [PATCH 61/86] builtin/index-pack: " Christian Couder
2013-11-09 7:06 ` [PATCH 62/86] builtin/init-db: " Christian Couder
2013-11-09 7:06 ` [PATCH 63/86] builtin/log: " Christian Couder
2013-11-09 7:06 ` [PATCH 64/86] builtin/ls-remote: " Christian Couder
2013-11-09 7:06 ` [PATCH 65/86] builtin/mailinfo: " Christian Couder
2013-11-09 7:06 ` [PATCH 66/86] builtin/merge-recursive: " Christian Couder
2013-11-09 7:07 ` [PATCH 67/86] builtin/merge: " Christian Couder
2013-11-09 7:07 ` [PATCH 68/86] builtin/name-rev: " Christian Couder
2013-11-09 7:07 ` [PATCH 69/86] builtin/notes: " Christian Couder
2013-11-09 7:07 ` [PATCH 70/86] builtin/pack-objects: " Christian Couder
2013-11-09 7:07 ` [PATCH 71/86] builtin/prune: " Christian Couder
2013-11-09 7:07 ` [PATCH 72/86] builtin/receive-pack: " Christian Couder
2013-11-09 7:07 ` [PATCH 73/86] builtin/reflog: " Christian Couder
2013-11-09 7:07 ` [PATCH 74/86] builtin/remote: " Christian Couder
2013-11-09 7:07 ` [PATCH 75/86] builtin/rev-parse: " Christian Couder
2013-11-09 7:07 ` [PATCH 76/86] builtin/send-pack: " Christian Couder
2013-11-09 7:07 ` [PATCH 77/86] builtin/shortlog: " Christian Couder
2013-11-09 7:07 ` [PATCH 78/86] builtin/show-branch: " Christian Couder
2013-11-09 7:07 ` [PATCH 79/86] builtin/show-ref: " Christian Couder
2013-11-09 7:07 ` [PATCH 80/86] builtin/symbolic-ref: " Christian Couder
2013-11-09 7:07 ` [PATCH 81/86] builtin/tag: " Christian Couder
2013-11-09 7:07 ` [PATCH 82/86] builtin/tar-tree: " Christian Couder
2013-11-09 7:07 ` [PATCH 83/86] builtin/unpack-objects: " Christian Couder
2013-11-09 7:07 ` [PATCH 84/86] builtin/update-ref: " Christian Couder
2013-11-09 7:07 ` [PATCH 85/86] builtin/upload-archive: " Christian Couder
2013-11-09 7:07 ` [PATCH 86/86] strbuf: remove prefixcmp() as it has been replaced " Christian Couder
2013-11-09 14:24 ` [PATCH 00/86] replace prefixcmp() " Thomas Rast
2013-11-12 6:16 ` Christian Couder
2013-11-11 16:09 ` Andreas Ericsson
2013-11-12 8:32 ` Jeff King
2013-11-12 16:53 ` Junio C Hamano
2013-11-12 20:14 ` Jeff King
2013-11-12 20:43 ` Christian Couder
2013-11-12 21:26 ` Junio C Hamano
2013-11-13 6:47 ` Christian Couder
2013-11-13 7:17 ` Jeff King
2013-11-17 8:52 ` Christian Couder
2013-11-18 10:42 ` Christian Couder
2013-11-19 21:42 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20131109070720.18178.66984.chriscool@tuxfamily.org \
--to=chriscool@tuxfamily.org \
--cc=Johannes.Schindelin@gmx.de \
--cc=apenwarr@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jrnieder@gmail.com \
--cc=max@quendi.de \
--cc=peff@peff.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).