From bc6f28fa159537b43ec7fd1457f7260cce3b7fac Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Mon, 18 Jan 1999 08:04:35 +0000 Subject: [PATCH] as_ulong now works. --- lib/isc/lex.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/lib/isc/lex.c b/lib/isc/lex.c index 59eb6a982a..bbb732bd0d 100644 --- a/lib/isc/lex.c +++ b/lib/isc/lex.c @@ -289,6 +289,8 @@ isc_lex_gettoken(isc_lex_t *lex, unsigned int options, isc_token_t *tokenp) { FILE *stream; char *curr, *prev; size_t remaining; + u_long u_long; + unsigned int i; /* * Get the next token. @@ -432,11 +434,14 @@ isc_lex_gettoken(isc_lex_t *lex, unsigned int options, isc_token_t *tokenp) { c; tokenp->type = isc_tokentype_number; - /* XXX convert to number */ - tokenp->value.as_textregion.base = - lex->data; - tokenp->value.as_textregion.length = - lex->max_token - remaining; + u_long = 0; + for (i = 0; + i < lex->max_token - remaining; + i++) { + u_long *= 10; + u_long += lex->data[i] - '0'; + } + tokenp->value.as_ulong = u_long; done = ISC_TRUE; continue; } else