Mercurial > projects > ldc
view tests/mini/bug55.d @ 1223:5f340a6dc749
Fix nested functions.
My last patch was a little over-zealous in passing `undef`, it always passed
`undef` to inner functions expecting a single context frame.
author | Frits van Bommel <fvbommel wxs.nl> |
---|---|
date | Fri, 17 Apr 2009 13:50:01 +0200 |
parents | 1bb99290e03a |
children |
line wrap: on
line source
module bug55; extern(C) int printf(char*, ...); int atoi(char[] s) { int i, fac=1; bool neg = (s.length) && (s[0] == '-'); char[] a = neg ? s[1..$] : s; foreach_reverse(c; a) { i += (c-'0') * fac; fac *= 10; } return !neg ? i : -i; } void main() { printf("64213 = %d\n", atoi("64213")); printf("-64213 = %d\n", atoi("-64213")); assert(atoi("64213") == 64213); assert(atoi("-64213") == -64213); }