fix a bug in CopyStringOut. dprintk appears to work again.
--HG-- extra : convert_revision : cd0d13a85ddc7599308db8604a8f63a48679cc05
This commit is contained in:
parent
339b1f8516
commit
ca4063ac00
|
@ -141,12 +141,12 @@ void
|
||||||
AlphaISA::CopyStringOut(ThreadContext *tc, char *dst, Addr vaddr, size_t maxlen)
|
AlphaISA::CopyStringOut(ThreadContext *tc, char *dst, Addr vaddr, size_t maxlen)
|
||||||
{
|
{
|
||||||
int len = 0;
|
int len = 0;
|
||||||
|
char *start = dst;
|
||||||
VirtualPort *vp = tc->getVirtPort(tc);
|
VirtualPort *vp = tc->getVirtPort(tc);
|
||||||
|
|
||||||
do {
|
do {
|
||||||
vp->readBlob(vaddr++, (uint8_t*)dst++, 1);
|
vp->readBlob(vaddr++, (uint8_t*)dst++, 1);
|
||||||
len++;
|
} while (len < maxlen && start[len++] != 0 );
|
||||||
} while (len < maxlen && dst[len] != 0 );
|
|
||||||
|
|
||||||
tc->delVirtPort(vp);
|
tc->delVirtPort(vp);
|
||||||
dst[len] = 0;
|
dst[len] = 0;
|
||||||
|
|
Loading…
Reference in a new issue