summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: d9ea73e)
raw | patch | inline | side by side (parent: d9ea73e)
author | Junio C Hamano <junkio@cox.net> | |
Wed, 5 Apr 2006 19:22:35 +0000 (12:22 -0700) | ||
committer | Junio C Hamano <junkio@cox.net> | |
Wed, 5 Apr 2006 19:22:35 +0000 (12:22 -0700) |
Signed-off-by: Junio C Hamano <junkio@cox.net>
combine-diff.c | patch | blob | history | |
xdiff-interface.c | patch | blob | history | |
xdiff-interface.h | patch | blob | history |
diff --git a/combine-diff.c b/combine-diff.c
index e17afd109633da16e8aad0cced23556fa41171be..4657eb4c33b2711dffe99fe1e8a4e19608761ce3 100644 (file)
--- a/combine-diff.c
+++ b/combine-diff.c
return blob;
}
-static int parse_num(char **cp_p, unsigned int *num_p)
-{
- char *cp = *cp_p;
- unsigned int num = 0;
- int read_some;
-
- while ('0' <= *cp && *cp <= '9')
- num = num * 10 + *cp++ - '0';
- if (!(read_some = cp - *cp_p))
- return -1;
- *cp_p = cp;
- *num_p = num;
- return 0;
-}
-
-static int parse_hunk_header(char *line, int len,
- unsigned int *ob, unsigned int *on,
- unsigned int *nb, unsigned int *nn)
-{
- char *cp;
- cp = line + 4;
- if (parse_num(&cp, ob)) {
- bad_line:
- return error("malformed diff output: %s", line);
- }
- if (*cp == ',') {
- cp++;
- if (parse_num(&cp, on))
- goto bad_line;
- }
- else
- *on = 1;
- if (*cp++ != ' ' || *cp++ != '+')
- goto bad_line;
- if (parse_num(&cp, nb))
- goto bad_line;
- if (*cp == ',') {
- cp++;
- if (parse_num(&cp, nn))
- goto bad_line;
- }
- else
- *nn = 1;
- return -!!memcmp(cp, " @@", 3);
-}
-
static void append_lost(struct sline *sline, int n, const char *line, int len)
{
struct lline *lline;
diff --git a/xdiff-interface.c b/xdiff-interface.c
index 0a66ded9533009a8efb840db5377f0abf5fccb1b..f7d6f988298e3906a1a525fed484dc093404e4f9 100644 (file)
--- a/xdiff-interface.c
+++ b/xdiff-interface.c
#include "cache.h"
#include "xdiff-interface.h"
+static int parse_num(char **cp_p, unsigned int *num_p)
+{
+ char *cp = *cp_p;
+ unsigned int num = 0;
+ int read_some;
+
+ while ('0' <= *cp && *cp <= '9')
+ num = num * 10 + *cp++ - '0';
+ if (!(read_some = cp - *cp_p))
+ return -1;
+ *cp_p = cp;
+ *num_p = num;
+ return 0;
+}
+
+int parse_hunk_header(char *line, int len,
+ unsigned int *ob, unsigned int *on,
+ unsigned int *nb, unsigned int *nn)
+{
+ char *cp;
+ cp = line + 4;
+ if (parse_num(&cp, ob)) {
+ bad_line:
+ return error("malformed diff output: %s", line);
+ }
+ if (*cp == ',') {
+ cp++;
+ if (parse_num(&cp, on))
+ goto bad_line;
+ }
+ else
+ *on = 1;
+ if (*cp++ != ' ' || *cp++ != '+')
+ goto bad_line;
+ if (parse_num(&cp, nb))
+ goto bad_line;
+ if (*cp == ',') {
+ cp++;
+ if (parse_num(&cp, nn))
+ goto bad_line;
+ }
+ else
+ *nn = 1;
+ return -!!memcmp(cp, " @@", 3);
+}
+
static void consume_one(void *priv_, char *s, unsigned long size)
{
struct xdiff_emit_state *priv = priv_;
diff --git a/xdiff-interface.h b/xdiff-interface.h
index e2f0d661236504ac1b2cfd42f6f998d4db17729c..ec682a297108dc0a58203019693c1a1c4b0a91e1 100644 (file)
--- a/xdiff-interface.h
+++ b/xdiff-interface.h
};
int xdiff_outf(void *priv_, mmbuffer_t *mb, int nbuf);
+int parse_hunk_header(char *line, int len,
+ unsigned int *ob, unsigned int *on,
+ unsigned int *nb, unsigned int *nn);
#endif