git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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

  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).