diff options
| author | Masaki Muranaka <[email protected]> | 2013-03-12 19:59:12 +0900 |
|---|---|---|
| committer | Masaki Muranaka <[email protected]> | 2013-03-12 19:59:12 +0900 |
| commit | 2c54cf2e591053a47087a1da5ba53a22a4097322 (patch) | |
| tree | fb5a53e1caa9cab7da8fa3158bea62735ba9c494 | |
| parent | e1d2f50e472c783b8b5b59305b29719e11b1948c (diff) | |
| download | mruby-2c54cf2e591053a47087a1da5ba53a22a4097322.tar.gz mruby-2c54cf2e591053a47087a1da5ba53a22a4097322.zip | |
Add comments for paradnoid (a.k.a. mission critical) engineers.
| -rw-r--r-- | src/parse.y | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/parse.y b/src/parse.y index 8553738e8..33b2d5272 100644 --- a/src/parse.y +++ b/src/parse.y @@ -3399,11 +3399,14 @@ scan_oct(const int *start, int len, int *retlen) const int *s = start; unsigned long retval = 0; + /* PARANOID: assert(len <= 3) */ + while (len-- && *s >= '0' && *s <= '7') { retval <<= 3; retval |= *s++ - '0'; } *retlen = s - start; + return retval; } @@ -3415,12 +3418,15 @@ scan_hex(const int *start, int len, int *retlen) register unsigned long retval = 0; char *tmp; + /* PARANOID: assert(len <= 2) */ + while (len-- && *s && (tmp = strchr(hexdigit, *s))) { retval <<= 4; retval |= (tmp - hexdigit) & 15; s++; } *retlen = s - start; + return retval; } |
