|
|
1.1 ! root 1: /* strldgb.c - debugging version of strlen */ ! 2: ! 3: #include <fcntl.h> ! 4: ! 5: int fddb = -1; ! 6: ! 7: /* ! 8: * stack: ! 9: * Arg ! 10: * Return Addr ! 11: */ ! 12: int strlen(cp) ! 13: char * cp; ! 14: { ! 15: int * dbp; ! 16: char buf[80]; ! 17: ! 18: if (fddb == -1) { ! 19: fddb = open("/dev/console", O_RDWR); ! 20: } ! 21: ! 22: dbp = (int *)&cp; ! 23: dbp--; ! 24: sprintf(buf, "from %08x: strlen(%08x)\n", *dbp, cp); ! 25: write(fddb, buf, stl(buf)); ! 26: return stl(cp); ! 27: } ! 28: ! 29: int stl(cp) ! 30: char * cp; ! 31: { ! 32: int ret = 0; ! 33: while (*cp++) ! 34: ret++; ! 35: return ret; ! 36: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.