diff options
author | rsc <rsc> | 2007-09-27 05:13:10 +0000 |
---|---|---|
committer | rsc <rsc> | 2007-09-27 05:13:10 +0000 |
commit | 666f58c711eafbdccb8abfe530b935505ab6eaa6 (patch) | |
tree | 07b6b693d5087b2237cceef262f0d934f2536cc3 /fs.h | |
parent | 90d975e9c8a540efb380435f0dfc1369bad684ae (diff) | |
download | xv6-labs-666f58c711eafbdccb8abfe530b935505ab6eaa6.tar.gz xv6-labs-666f58c711eafbdccb8abfe530b935505ab6eaa6.tar.bz2 xv6-labs-666f58c711eafbdccb8abfe530b935505ab6eaa6.zip |
believe it or not, this was working
the macro expansion of "char *cp;" turned into
char *(curproc[cpu()]); which declares a dynamically
sized array of char* called curproc.
so then &cp == &(curproc[cpu()]) was actually a
stack variable as "expected". it was one past the
end of the array, but the implicit alloca allocated
more than was necessary.
do not tell me that making cp a #define was a bad idea.
there are worse problems to fix. more on that later.
Diffstat (limited to 'fs.h')
0 files changed, 0 insertions, 0 deletions