the repository which powers this website
cgit.c: Use "else" for mutually exclusive branches
When parsing command line arguments, no pair of command line options can ever match simultaneously. Use "else if" blocks to reflect this. This change improves both readability and speed. Signed-off-by: Lukas Fleischer <[email protected]>
Lukas Fleischer 2014-01-10
parent e711679 · commit 441e748
-rw-r--r--cgit.c29
1 files changed, 10 insertions, 19 deletions
diff --git a/cgit.c b/cgit.c
index e31962d4..f4262d80 100644
--- a/cgit.c
+++ b/cgit.c
@@ -865,35 +865,26 @@ static void cgit_parse_args(int argc, const char **argv)
for (i = 1; i < argc; i++) {
if (!prefixcmp(argv[i], "--cache=")) {
ctx.cfg.cache_root = xstrdup(argv[i] + 8);
- }
- if (!strcmp(argv[i], "--nocache")) {
+ } else if (!strcmp(argv[i], "--nocache")) {
ctx.cfg.nocache = 1;
- }
- if (!strcmp(argv[i], "--nohttp")) {
+ } else if (!strcmp(argv[i], "--nohttp")) {
ctx.env.no_http = "1";
- }
- if (!prefixcmp(argv[i], "--query=")) {
+ } else if (!prefixcmp(argv[i], "--query=")) {
ctx.qry.raw = xstrdup(argv[i] + 8);
- }
- if (!prefixcmp(argv[i], "--repo=")) {
+ } else if (!prefixcmp(argv[i], "--repo=")) {
ctx.qry.repo = xstrdup(argv[i] + 7);
- }
- if (!prefixcmp(argv[i], "--page=")) {
+ } else if (!prefixcmp(argv[i], "--page=")) {
ctx.qry.page = xstrdup(argv[i] + 7);
- }
- if (!prefixcmp(argv[i], "--head=")) {
+ } else if (!prefixcmp(argv[i], "--head=")) {
ctx.qry.head = xstrdup(argv[i] + 7);
ctx.qry.has_symref = 1;
- }
- if (!prefixcmp(argv[i], "--sha1=")) {
+ } else if (!prefixcmp(argv[i], "--sha1=")) {
ctx.qry.sha1 = xstrdup(argv[i] + 7);
ctx.qry.has_sha1 = 1;
- }
- if (!prefixcmp(argv[i], "--ofs=")) {
+ } else if (!prefixcmp(argv[i], "--ofs=")) {
ctx.qry.ofs = atoi(argv[i] + 6);
- }
- if (!prefixcmp(argv[i], "--scan-tree=") ||
- !prefixcmp(argv[i], "--scan-path=")) {
+ } else if (!prefixcmp(argv[i], "--scan-tree=") ||
+ !prefixcmp(argv[i], "--scan-path=")) {
/* HACK: the global snapshot bitmask defines the
* set of allowed snapshot formats, but the config
* file hasn't been parsed yet so the mask is