D943: chg: move only first time relevant if condition out of loop
singhsrb (Saurabh Singh)
phabricator at mercurial-scm.org
Fri Oct 6 13:14:41 EDT 2017
singhsrb updated this revision to Diff 2506.
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D943?vs=2468&id=2506
REVISION DETAIL
https://phab.mercurial-scm.org/D943
AFFECTED FILES
contrib/chg/chg.c
CHANGE DETAILS
diff --git a/contrib/chg/chg.c b/contrib/chg/chg.c
--- a/contrib/chg/chg.c
+++ b/contrib/chg/chg.c
@@ -372,18 +372,27 @@
TIME = 4,
};
unsigned int state = 0;
- int i;
- for (i = 0; i < argc; ++i) {
- if (strcmp(argv[i], "--") == 0)
- break;
- if (i == 0 && strcmp("serve", argv[i]) == 0)
+
+ if (argc > 0) {
+ int i = 0;
+ const char *const firstarg = argv[i];
+
+ if (strcmp("serve", firstarg) == 0) {
state |= SERVE;
- else if (strcmp("-d", argv[i]) == 0 ||
- strcmp("--daemon", argv[i]) == 0)
- state |= DAEMON;
- else if (strcmp("--time", argv[i]) == 0)
- state |= TIME;
+ ++i;
+ }
+
+ for (; i < argc; ++i) {
+ if (strcmp(argv[i], "--") == 0)
+ break;
+ if (strcmp("-d", argv[i]) == 0 ||
+ strcmp("--daemon", argv[i]) == 0)
+ state |= DAEMON;
+ else if (strcmp("--time", argv[i]) == 0)
+ state |= TIME;
+ }
}
+
return (state & TIME) == TIME ||
(state & SERVEDAEMON) == SERVEDAEMON;
}
To: singhsrb, #hg-reviewers, yuja
Cc: yuja, quark, mercurial-devel
More information about the Mercurial-devel
mailing list