{"thread":{"id":"2855","subject":"[PATCH] small cleanup for diff-delta.c","startedAt":"2005-12-15T16:10:32Z","lastAt":"2005-12-15T16:10:32Z","messageCount":1,"participants":["Nicolas Pitre"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"13691","messageId":"Pine.LNX.4.64.0512151103260.26663@localhost.localdomain","threadId":"2855","inReplyTo":null,"subject":"[PATCH] small cleanup for diff-delta.c","fromName":"Nicolas Pitre","fromEmail":"nico@cam.org","sentAt":"2005-12-15T16:10:32Z","receivedAt":"2005-12-15T16:10:32Z","isPatch":true,"sender":{"key":"nico@fluxnic.net","avatar":"https://avatars.githubusercontent.com/u/702790?v=4"},"body":"This patch removes unused remnants of the original xdiff source.\nNo functional change.  Possible tiny speed improvement.\n\nSigned-off-by: Nicolas Pitre <nico@cam.org>\n\n---\n\ndiff --git a/diff-delta.c b/diff-delta.c\nindex b2ae7b5..890986e 100644\n--- a/diff-delta.c\n+++ b/diff-delta.c\n@@ -84,20 +84,15 @@ typedef struct s_chanode {\n } chanode_t;\n \n typedef struct s_chastore {\n-\tchanode_t *head, *tail;\n \tint isize, nsize;\n \tchanode_t *ancur;\n-\tchanode_t *sncur;\n-\tint scurr;\n } chastore_t;\n \n static void cha_init(chastore_t *cha, int isize, int icount)\n {\n-\tcha->head = cha->tail = NULL;\n \tcha->isize = isize;\n \tcha->nsize = icount * isize;\n-\tcha->ancur = cha->sncur = NULL;\n-\tcha->scurr = 0;\n+\tcha->ancur = NULL;\n }\n \n static void *cha_alloc(chastore_t *cha)\n@@ -111,12 +106,7 @@ static void *cha_alloc(chastore_t *cha)\n \t\tif (!ancur)\n \t\t\treturn NULL;\n \t\tancur->icurr = 0;\n-\t\tancur->next = NULL;\n-\t\tif (cha->tail)\n-\t\t\tcha->tail->next = ancur;\n-\t\tif (!cha->head)\n-\t\t\tcha->head = ancur;\n-\t\tcha->tail = ancur;\n+\t\tancur->next = cha->ancur;\n \t\tcha->ancur = ancur;\n \t}\n \n@@ -127,7 +117,7 @@ static void *cha_alloc(chastore_t *cha)\n \n static void cha_free(chastore_t *cha)\n {\n-\tchanode_t *cur = cha->head;\n+\tchanode_t *cur = cha->ancur;\n \twhile (cur) {\n \t\tchanode_t *tmp = cur;\n \t\tcur = cur->next;\n@@ -142,7 +132,6 @@ typedef struct s_bdrecord {\n } bdrecord_t;\n \n typedef struct s_bdfile {\n-\tconst unsigned char *data, *top;\n \tchastore_t cha;\n \tunsigned int fphbits;\n \tbdrecord_t **fphash;\n@@ -152,7 +141,7 @@ static int delta_prepare(const unsigned \n {\n \tunsigned int fphbits;\n \tint i, hsize;\n-\tconst unsigned char *base, *data, *top;\n+\tconst unsigned char *data, *top;\n \tbdrecord_t *brec;\n \tbdrecord_t **fphash;\n \n@@ -165,13 +154,12 @@ static int delta_prepare(const unsigned \n \t\tfphash[i] = NULL;\n \tcha_init(&bdf->cha, sizeof(bdrecord_t), hsize / 4 + 1);\n \n-\tbdf->data = data = base = buf;\n-\tbdf->top = top = buf + bufsize;\n-\tdata += (bufsize / BLK_SIZE) * BLK_SIZE;\n+\ttop = buf + bufsize;\n+\tdata = buf + (bufsize / BLK_SIZE) * BLK_SIZE;\n \tif (data == top)\n \t\tdata -= BLK_SIZE;\n \n-\tfor ( ; data >= base; data -= BLK_SIZE) {\n+\tfor ( ; data >= buf; data -= BLK_SIZE) {\n \t\tbrec = cha_alloc(&bdf->cha);\n \t\tif (!brec) {\n \t\t\tcha_free(&bdf->cha);\n@@ -208,7 +196,7 @@ void *diff_delta(void *from_buf, unsigne\n {\n \tint i, outpos, outsize, inscnt, csize, msize, moff;\n \tunsigned int fp;\n-\tconst unsigned char *data, *top, *ptr1, *ptr2;\n+\tconst unsigned char *ref_data, *ref_top, *data, *top, *ptr1, *ptr2;\n \tunsigned char *out, *orig;\n \tbdrecord_t *brec;\n \tbdfile_t bdf;\n@@ -224,6 +212,8 @@ void *diff_delta(void *from_buf, unsigne\n \t\treturn NULL;\n \t}\n \n+\tref_data = from_buf;\n+\tref_top = from_buf + from_size;\n \tdata = to_buf;\n \ttop = to_buf + to_size;\n \n@@ -253,7 +243,7 @@ void *diff_delta(void *from_buf, unsigne\n \t\ti = HASH(fp, bdf.fphbits);\n \t\tfor (brec = bdf.fphash[i]; brec; brec = brec->next) {\n \t\t\tif (brec->fp == fp) {\n-\t\t\t\tcsize = bdf.top - brec->ptr;\n+\t\t\t\tcsize = ref_top - brec->ptr;\n \t\t\t\tif (csize > top - data)\n \t\t\t\t\tcsize = top - data;\n \t\t\t\tfor (ptr1 = brec->ptr, ptr2 = data; \n@@ -262,7 +252,7 @@ void *diff_delta(void *from_buf, unsigne\n \n \t\t\t\tcsize = ptr1 - brec->ptr;\n \t\t\t\tif (csize > msize) {\n-\t\t\t\t\tmoff = brec->ptr - bdf.data;\n+\t\t\t\t\tmoff = brec->ptr - ref_data;\n \t\t\t\t\tmsize = csize;\n \t\t\t\t\tif (msize >= 0x10000) {\n \t\t\t\t\t\tmsize = 0x10000;\n"}]}