]> git.neil.brown.name Git - wiggle.git/commitdiff
vpatch: change find_line to a macro for proper c
authorSean Farley <sean.michael.farley@gmail.com>
Tue, 8 Oct 2013 23:23:11 +0000 (07:23 +0800)
committerSean Farley <sean.michael.farley@gmail.com>
Wed, 9 Oct 2013 00:10:50 +0000 (08:10 +0800)
vpatch.c

index 2fbeb7bf53c304e904b713f90bd7ed783116fcfb..c965af1861ac3204fa1c45b884811c0c70590fd6 100644 (file)
--- a/vpatch.c
+++ b/vpatch.c
@@ -1379,18 +1379,19 @@ static int merge_window(struct plist *p, FILE *f, int reverse, int replace,
                free(ci.merger); \
        } while(0)
 
-       void find_line(int ln)
-       {
-               pos.p.m = 0; /* merge node */
-               pos.p.s = 0; /* stream number */
-               pos.p.o = -1; /* offset */
-               pos.p.lineno = 1;
-               pos.state = 0;
-               memset(&curs, 0, sizeof(curs));
-               do
-                       next_mline(&pos, fm, fb, fa, ci.merger, mode);
-               while (pos.p.lineno < ln && ci.merger[pos.p.m].type != End);
-       }
+       #define find_line(ln) \
+       do { \
+               pos.p.m = 0; /* merge node */ \
+               pos.p.s = 0; /* stream number */ \
+               pos.p.o = -1; /* offset */ \
+               pos.p.lineno = 1; \
+               pos.state = 0; \
+               memset(&curs, 0, sizeof(curs)); \
+               do \
+                       next_mline(&pos, fm, fb, fa, ci.merger, mode); \
+               while (pos.p.lineno < ln && ci.merger[pos.p.m].type != End); \
+       } while(0)
+
        void prepare_merge(int ch)
        {
                /* FIXME check for errors in the stream */