]> rtime.felk.cvut.cz Git - git.git/blobdiff - diffcore-pickaxe.c
Update draft release notes to 1.7.2
[git.git] / diffcore-pickaxe.c
index 574b3e833711fe3794636b86dbf2b9d9deb5e151..929de15aa9228099b3a772be788d746e440a9e8c 100644 (file)
@@ -25,10 +25,12 @@ static unsigned int contains(struct diff_filespec *one,
                regmatch_t regmatch;
                int flags = 0;
 
+               assert(data[sz] == '\0');
                while (*data && !regexec(regexp, data, 1, &regmatch, flags)) {
                        flags |= REG_NOTBOL;
-                       data += regmatch.rm_so;
-                       if (*data) data++;
+                       data += regmatch.rm_eo;
+                       if (*data && regmatch.rm_so == regmatch.rm_eo)
+                               data++;
                        cnt++;
                }
 
@@ -53,8 +55,7 @@ void diffcore_pickaxe(const char *needle, int opts)
        int i, has_changes;
        regex_t regex, *regexp = NULL;
        struct diff_queue_struct outq;
-       outq.queue = NULL;
-       outq.nr = outq.alloc = 0;
+       DIFF_QUEUE_CLEAR(&outq);
 
        if (opts & DIFF_PICKAXE_REGEX) {
                int err;