Skip to content

Commit

Permalink
Remove ranges from switch statements.
Browse files Browse the repository at this point in the history
Though very nice and readable, the "case 'a'...'z':" construct is not ANSI C99
compliant. This patch unfolds the range in `quote.c' and substitutes the
switch-statement with an if-statement in `http-fetch.c' and `http-push.c'.

Signed-off-by: Florian Forster <octo@verplant.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
  • Loading branch information
Florian Forster authored and Junio C Hamano committed Jun 19, 2006
1 parent 64e86c5 commit cfd432e
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 13 deletions.
13 changes: 7 additions & 6 deletions http-fetch.c
Original file line number Diff line number Diff line change
Expand Up @@ -1136,13 +1136,14 @@ int fetch(unsigned char *sha1)

static inline int needs_quote(int ch)
{
switch (ch) {
case '/': case '-': case '.':
case 'A'...'Z': case 'a'...'z': case '0'...'9':
if (((ch >= 'A') && (ch <= 'Z'))
|| ((ch >= 'a') && (ch <= 'z'))
|| ((ch >= '0') && (ch <= '9'))
|| (ch == '/')
|| (ch == '-')
|| (ch == '.'))
return 0;
default:
return 1;
}
return 1;
}

static inline int hex(int v)
Expand Down
13 changes: 7 additions & 6 deletions http-push.c
Original file line number Diff line number Diff line change
Expand Up @@ -1077,13 +1077,14 @@ static int fetch_indices(void)

static inline int needs_quote(int ch)
{
switch (ch) {
case '/': case '-': case '.':
case 'A'...'Z': case 'a'...'z': case '0'...'9':
if (((ch >= 'A') && (ch <= 'Z'))
|| ((ch >= 'a') && (ch <= 'z'))
|| ((ch >= '0') && (ch <= '9'))
|| (ch == '/')
|| (ch == '-')
|| (ch == '.'))
return 0;
default:
return 1;
}
return 1;
}

static inline int hex(int v)
Expand Down
9 changes: 8 additions & 1 deletion quote.c
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,14 @@ char *unquote_c_style(const char *quoted, const char **endp)
case '\\': case '"':
break; /* verbatim */

case '0'...'7':
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
/* octal */
ac = ((ch - '0') << 6);
if ((ch = *sp++) < '0' || '7' < ch)
Expand Down

0 comments on commit cfd432e

Please sign in to comment.