]> git.neil.brown.name Git - wiggle.git/commitdiff
Make tracing code a bit cleaner and more organised.
authorNeil Brown <neilb@suse.de>
Mon, 7 May 2012 21:59:27 +0000 (07:59 +1000)
committerNeil Brown <neilb@suse.de>
Mon, 7 May 2012 21:59:27 +0000 (07:59 +1000)
 WIGGLE_TRACE=1 ./wiggle ....

will turn on tracing.

Signed-off-by: NeilBrown <neilb@suse.de>
merge2.c
wiggle.c
wiggle.h

index 504ee792e879b3960ddb23e310a15682e940df48..425208d869438b7822fcac2eb38bdbd66bb54fac 100644 (file)
--- a/merge2.c
+++ b/merge2.c
@@ -69,12 +69,12 @@ static int check_alreadyapplied(struct file af, struct file cf,
                            af.list[m->a+i].len) != 0)
                        return 0;
        }
-#if 0
-       printf("already applied %d,%d,%d - %d,%d,%d\n",
-              m->a, m->b, m->c, m->al, m->bl, m->cl);
-       printf(" %.10s - %.10s\n", af.list[m->a].start,
-              cf.list[m->c].start);
-#endif
+       if (do_trace) {
+               printf("already applied %d,%d,%d - %d,%d,%d\n",
+                      m->a, m->b, m->c, m->al, m->bl, m->cl);
+               printf(" %.10s - %.10s\n", af.list[m->a].start,
+                      cf.list[m->c].start);
+       }
        m->type = AlreadyApplied;
        return 1;
 }
@@ -361,15 +361,7 @@ struct ci print_merge2(FILE *out, struct file *a, struct file *b, struct file *c
 
        for (m = rv.merger; m->type != End ; m++) {
                struct merge *cm;
-#if 1
-               static int v = -1;
-               if (v == -1) {
-                       if (getenv("WiggleVerbose"))
-                               v = 1;
-                       else
-                               v = 0;
-               }
-               if (v)
+               if (do_trace)
                        printf("[%s: %d-%d,%d-%d,%d-%d%s(%d,%d)]\n",
                               m->type==Unmatched ? "Unmatched" :
                               m->type==Unchanged ? "Unchanged" :
@@ -382,7 +374,7 @@ struct ci print_merge2(FILE *out, struct file *a, struct file *b, struct file *c
                               m->c, m->c+m->cl-1,
                               m->in_conflict ? " in_conflict" : "",
                               m->lo, m->hi);
-#endif
+
                while (m->in_conflict) {
                        /* need to print from 'hi' to 'lo' of next
                         * Unchanged which is < it's hi
@@ -396,29 +388,29 @@ struct ci print_merge2(FILE *out, struct file *a, struct file *b, struct file *c
                        if (m->type == Unchanged)
                                printrange(out, a, m->a+m->lo, m->hi - m->lo);
 
-#if 1
-               if (v)
-                       for (cm = m; cm->in_conflict; cm++) {
-                               printf("{%s: %d-%d,%d-%d,%d-%d%s(%d,%d)}\n",
-                                      cm->type==Unmatched?"Unmatched":
-                                      cm->type==Unchanged?"Unchanged":
-                                      cm->type==Extraneous?"Extraneous":
-                                      cm->type==Changed?"Changed":
-                                      cm->type==AlreadyApplied?"AlreadyApplied":
-                                      cm->type==Conflict?"Conflict":"unknown",
-                                      cm->a, cm->a+cm->al-1,
-                                      cm->b, cm->b+cm->bl-1,
-                                      cm->c, cm->c+cm->cl-1,
-                                      cm->in_conflict ? " in_conflict" : "",
-                                      cm->lo, cm->hi);
-                               if ((cm->type == Unchanged || cm->type == Changed) && cm != m && cm->lo < cm->hi)
-                                       break;
-                       }
-#endif
+                       if (do_trace)
+                               for (cm = m; cm->in_conflict; cm++) {
+                                       printf("{%s: %d-%d,%d-%d,%d-%d%s(%d,%d)}\n",
+                                              cm->type==Unmatched?"Unmatched":
+                                              cm->type==Unchanged?"Unchanged":
+                                              cm->type==Extraneous?"Extraneous":
+                                              cm->type==Changed?"Changed":
+                                              cm->type==AlreadyApplied?"AlreadyApplied":
+                                              cm->type==Conflict?"Conflict":"unknown",
+                                              cm->a, cm->a+cm->al-1,
+                                              cm->b, cm->b+cm->bl-1,
+                                              cm->c, cm->c+cm->cl-1,
+                                              cm->in_conflict ? " in_conflict" : "",
+                                              cm->lo, cm->hi);
+                                       if ((cm->type == Unchanged || cm->type == Changed)
+                                           && cm != m && cm->lo < cm->hi)
+                                               break;
+                               }
 
                        fputs(words ? "<<<---" : "<<<<<<<\n", out);
                        for (cm = m; cm->in_conflict; cm++) {
-                               if ((cm->type == Unchanged || cm->type == Changed) && cm != m && cm->lo < cm->hi) {
+                               if ((cm->type == Unchanged || cm->type == Changed)
+                                   && cm != m && cm->lo < cm->hi) {
                                        printrange(out, a, cm->a, cm->lo);
                                        break;
                                }
@@ -428,7 +420,8 @@ struct ci print_merge2(FILE *out, struct file *a, struct file *b, struct file *c
                        fputs(words ? "|||" : "|||||||\n", out);
                        st1 = st;
                        for (cm = m; cm->in_conflict; cm++) {
-                               if ((cm->type == Unchanged || cm->type == Changed) && cm != m && cm->lo < cm->hi) {
+                               if ((cm->type == Unchanged || cm->type == Changed)
+                                   && cm != m && cm->lo < cm->hi) {
                                        printrange(out, b, cm->b, cm->lo);
                                        break;
                                }
@@ -438,7 +431,8 @@ struct ci print_merge2(FILE *out, struct file *a, struct file *b, struct file *c
                        fputs(words ? "===" : "=======\n", out);
                        st1 = st;
                        for (cm = m; cm->in_conflict; cm++) {
-                               if (cm->type == Unchanged && cm != m && cm->lo < cm->hi) {
+                               if (cm->type == Unchanged &&
+                                   cm != m && cm->lo < cm->hi) {
                                        printrange(out, c, cm->c, cm->lo);
                                        break;
                                }
@@ -461,8 +455,8 @@ struct ci print_merge2(FILE *out, struct file *a, struct file *b, struct file *c
                 */
                if (m->type == End)
                        break;
-#if 1
-               if (v) {
+
+               if (do_trace) {
                        printf("<<%s: %d-%d,%d-%d,%d-%d%s(%d,%d)>>\n",
                               m->type==Unmatched?"Unmatched":
                               m->type==Unchanged?"Unchanged":
@@ -476,7 +470,7 @@ struct ci print_merge2(FILE *out, struct file *a, struct file *b, struct file *c
                               m->in_conflict ? " in_conflict" : "",
                               m->lo, m->hi);
                }
-#endif
+
                switch (m->type) {
                case Unchanged:
                case AlreadyApplied:
index 77e0082d1032e0240571184776e78b3fcf5a1661..e87b3a05b8420a41d03386a439a2d5235d885c4f 100644 (file)
--- a/wiggle.c
+++ b/wiggle.c
@@ -90,6 +90,7 @@
 #include       <ctype.h>
 
 char *Cmd = "wiggle";
+int do_trace = 0;
 
 void die()
 {
@@ -595,6 +596,11 @@ int main(int argc, char *argv[])
        int exit_status = 0;
        int ignore = 1;
        char *helpmsg;
+       char *trace;
+
+       trace = getenv("WIGGLE_TRACE");
+       if (trace && *trace)
+               do_trace = 1;
 
        while ((opt = getopt_long(argc, argv,
                                  short_options(mode), long_options,
index cc3780155df91af13bccafea33b9a751bba15ce5..68dd17745d0717d4ecfb8313aac16b6a0d8de93e 100644 (file)
--- a/wiggle.h
+++ b/wiggle.h
@@ -145,6 +145,7 @@ extern struct ci make_merger(struct file a, struct file b, struct file c,
 
 extern void die(void);
 extern void *xmalloc(int len);
+extern int do_trace;
 
 extern int vpatch(int argc, char *argv[], int patch, int strip,
                  int reverse, int replace);