diff options
author | Pixel <> | 2001-04-13 12:03:09 +0000 |
---|---|---|
committer | Pixel <> | 2001-04-13 12:03:09 +0000 |
commit | a984cf3f28d3a5935c84f96f6da3bc7bd39a9ff1 (patch) | |
tree | cf0157e6e7f9df0f6025b1191d5f6be17b9b057d /lib/numbers.c | |
parent | 905814760584d843409763d9f3c24b73b0780444 (diff) |
Assembleur.
Diffstat (limited to 'lib/numbers.c')
-rw-r--r-- | lib/numbers.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/lib/numbers.c b/lib/numbers.c index 8334dd4..9f032b5 100644 --- a/lib/numbers.c +++ b/lib/numbers.c @@ -1,11 +1,15 @@ #include "numbers.h" +/* Cette fonction lit un nombre. Elle va chercher absolument à traduire la chaîne passée en argument en un nombre. Si +ce nombre n'est pas valide, alors l'int valid est mis à faux. Cette fonction reconnais les nombres en décimaux, les nombres +en octal préfixés avec 0 et les nombres en hexadécimal préfixés avec 0x. */ + int char_to_number(char *st, int *valid) { int whattype = 0, result = 0; - + *valid = 0; - + if (*st == '0') { st++; if (*st == 'x') { @@ -18,7 +22,7 @@ int char_to_number(char *st, int *valid) return 0; } } - + while (*st) { switch (whattype) { case 0: @@ -52,7 +56,7 @@ int char_to_number(char *st, int *valid) } st++; } - + *valid = 1; return result; } |