Mercurial > hg
changeset 29540:4ce1fc91e30a
bdiff: rename functions and structs to be amenable for later exporting
author | Maciej Fijalkowski <fijall@gmail.com> |
---|---|
date | Wed, 13 Jul 2016 10:07:17 +0200 |
parents | 666832b9e154 |
children | 9631ff5ebbeb |
files | mercurial/bdiff.c |
diffstat | 1 files changed, 35 insertions(+), 32 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/bdiff.c Wed Jul 13 09:36:24 2016 +0200 +++ b/mercurial/bdiff.c Wed Jul 13 10:07:17 2016 +0200 @@ -19,7 +19,7 @@ #include "util.h" #include "bitmanipulation.h" -struct line { +struct bdiff_line { int hash, n, e; ssize_t len; const char *l; @@ -29,19 +29,19 @@ int pos, len; }; -struct hunk; -struct hunk { +struct bdiff_hunk; +struct bdiff_hunk { int a1, a2, b1, b2; - struct hunk *next; + struct bdiff_hunk *next; }; -static int splitlines(const char *a, ssize_t len, struct line **lr) +static int bdiff_splitlines(const char *a, ssize_t len, struct bdiff_line **lr) { unsigned hash; int i; const char *p, *b = a; const char * const plast = a + len - 1; - struct line *l; + struct bdiff_line *l; /* count the lines */ i = 1; /* extra line for sentinel */ @@ -49,7 +49,7 @@ if (*p == '\n' || p == plast) i++; - *lr = l = (struct line *)malloc(sizeof(struct line) * i); + *lr = l = (struct bdiff_line *)malloc(sizeof(struct bdiff_line) * i); if (!l) return -1; @@ -77,12 +77,13 @@ return i - 1; } -static inline int cmp(struct line *a, struct line *b) +static inline int cmp(struct bdiff_line *a, struct bdiff_line *b) { return a->hash != b->hash || a->len != b->len || memcmp(a->l, b->l, a->len); } -static int equatelines(struct line *a, int an, struct line *b, int bn) +static int equatelines(struct bdiff_line *a, int an, struct bdiff_line *b, + int bn) { int i, j, buckets = 1, t, scale; struct pos *h = NULL; @@ -147,7 +148,8 @@ return 1; } -static int longest_match(struct line *a, struct line *b, struct pos *pos, +static int longest_match(struct bdiff_line *a, struct bdiff_line *b, + struct pos *pos, int a1, int a2, int b1, int b2, int *omi, int *omj) { int mi = a1, mj = b1, mk = 0, i, j, k, half; @@ -208,8 +210,9 @@ return mk; } -static struct hunk *recurse(struct line *a, struct line *b, struct pos *pos, - int a1, int a2, int b1, int b2, struct hunk *l) +static struct bdiff_hunk *recurse(struct bdiff_line *a, struct bdiff_line *b, + struct pos *pos, + int a1, int a2, int b1, int b2, struct bdiff_hunk *l) { int i, j, k; @@ -224,7 +227,7 @@ if (!l) return NULL; - l->next = (struct hunk *)malloc(sizeof(struct hunk)); + l->next = (struct bdiff_hunk *)malloc(sizeof(struct bdiff_hunk)); if (!l->next) return NULL; @@ -241,10 +244,10 @@ } } -static int diff(struct line *a, int an, struct line *b, int bn, - struct hunk *base) +static int bdiff_diff(struct bdiff_line *a, int an, struct bdiff_line *b, + int bn, struct bdiff_hunk *base) { - struct hunk *curr; + struct bdiff_hunk *curr; struct pos *pos; int t, count = 0; @@ -260,7 +263,7 @@ return -1; /* sentinel end hunk */ - curr->next = (struct hunk *)malloc(sizeof(struct hunk)); + curr->next = (struct bdiff_hunk *)malloc(sizeof(struct bdiff_hunk)); if (!curr->next) return -1; curr = curr->next; @@ -273,7 +276,7 @@ /* normalize the hunk list, try to push each hunk towards the end */ for (curr = base->next; curr; curr = curr->next) { - struct hunk *next = curr->next; + struct bdiff_hunk *next = curr->next; if (!next) break; @@ -295,9 +298,9 @@ return count; } -static void freehunks(struct hunk *l) +static void bdiff_freehunks(struct bdiff_hunk *l) { - struct hunk *n; + struct bdiff_hunk *n; for (; l; l = n) { n = l->next; free(l); @@ -307,8 +310,8 @@ static PyObject *blocks(PyObject *self, PyObject *args) { PyObject *sa, *sb, *rl = NULL, *m; - struct line *a, *b; - struct hunk l, *h; + struct bdiff_line *a, *b; + struct bdiff_hunk l, *h; int an, bn, count, pos = 0; l.next = NULL; @@ -316,13 +319,13 @@ if (!PyArg_ParseTuple(args, "SS:bdiff", &sa, &sb)) return NULL; - an = splitlines(PyBytes_AsString(sa), PyBytes_Size(sa), &a); - bn = splitlines(PyBytes_AsString(sb), PyBytes_Size(sb), &b); + an = bdiff_splitlines(PyBytes_AsString(sa), PyBytes_Size(sa), &a); + bn = bdiff_splitlines(PyBytes_AsString(sb), PyBytes_Size(sb), &b); if (!a || !b) goto nomem; - count = diff(a, an, b, bn, &l); + count = bdiff_diff(a, an, b, bn, &l); if (count < 0) goto nomem; @@ -339,7 +342,7 @@ nomem: free(a); free(b); - freehunks(l.next); + bdiff_freehunks(l.next); return rl ? rl : PyErr_NoMemory(); } @@ -347,8 +350,8 @@ { char *sa, *sb, *rb; PyObject *result = NULL; - struct line *al, *bl; - struct hunk l, *h; + struct bdiff_line *al, *bl; + struct bdiff_hunk l, *h; int an, bn, count; Py_ssize_t len = 0, la, lb; PyThreadState *_save; @@ -364,12 +367,12 @@ } _save = PyEval_SaveThread(); - an = splitlines(sa, la, &al); - bn = splitlines(sb, lb, &bl); + an = bdiff_splitlines(sa, la, &al); + bn = bdiff_splitlines(sb, lb, &bl); if (!al || !bl) goto nomem; - count = diff(al, an, bl, bn, &l); + count = bdiff_diff(al, an, bl, bn, &l); if (count < 0) goto nomem; @@ -411,7 +414,7 @@ PyEval_RestoreThread(_save); free(al); free(bl); - freehunks(l.next); + bdiff_freehunks(l.next); return result ? result : PyErr_NoMemory(); }