Code

revision --boundary: fix uncounted case.
authorJunio C Hamano <junkio@cox.net>
Tue, 6 Mar 2007 11:20:55 +0000 (03:20 -0800)
committerJunio C Hamano <junkio@cox.net>
Tue, 6 Mar 2007 11:20:55 +0000 (03:20 -0800)
When the list is truly limited and get_revision_1() returned NULL,
the code incorrectly returned it without switching to boundary emiting
mode.  Silly.

Signed-off-by: Junio C Hamano <junkio@cox.net>
revision.c

index f48d7f788a80cf628af691c1f81cd9dc431343a7..3c2eb125e6e9332fe32be9bcec6fb2005228c211 100644 (file)
@@ -1301,13 +1301,14 @@ struct commit *get_revision(struct rev_info *revs)
        /*
         * Now pick up what they want to give us
         */
-       if (!(c = get_revision_1(revs)))
-               return NULL;
-       while (0 < revs->skip_count) {
-               revs->skip_count--;
-               c = get_revision_1(revs);
-               if (!c)
-                       break;
+       c = get_revision_1(revs);
+       if (c) {
+               while (0 < revs->skip_count) {
+                       revs->skip_count--;
+                       c = get_revision_1(revs);
+                       if (!c)
+                               break;
+               }
        }
 
        /*
@@ -1317,7 +1318,6 @@ struct commit *get_revision(struct rev_info *revs)
        case -1:
                break;
        case 0:
-               /* Although we grabbed it, it is not shown. */
                c = NULL;
                break;
        default: