From: Ken Thompson Date: Wed, 17 Dec 2008 20:13:19 +0000 (-0800) Subject: small bug X-Git-Tag: weekly.2009-11-06~2492 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=61e0fcce8ae1642c661c2bc900d18c42af209c2e;p=gostls13.git small bug new printarray R=r OCL=21429 CL=21429 --- diff --git a/src/runtime/array.c b/src/runtime/array.c index a67deb00cd..26a54ab2ea 100644 --- a/src/runtime/array.c +++ b/src/runtime/array.c @@ -23,7 +23,7 @@ sys·newarray(uint32 nel, uint32 cap, uint32 width, Array* ret) d->array = d->b; ret = d; - FLUSH(&d); + FLUSH(&ret); if(debug) { prints("newarray: nel="); @@ -33,7 +33,7 @@ sys·newarray(uint32 nel, uint32 cap, uint32 width, Array* ret) prints("; width="); sys·printint(width); prints("; ret="); - sys·printpointer(ret); + sys·printarray(ret); prints("\n"); } } @@ -85,11 +85,11 @@ sys·arraysliced(Array* old, uint32 lb, uint32 hb, uint32 width, Array* ret) d->array = old->array + lb*width; ret = d; - FLUSH(&d); + FLUSH(&ret); if(debug) { prints("sys·arrayslices: old="); - sys·printpointer(old); + sys·printarray(old); prints("; lb="); sys·printint(lb); prints("; hb="); @@ -97,7 +97,7 @@ sys·arraysliced(Array* old, uint32 lb, uint32 hb, uint32 width, Array* ret) prints("; width="); sys·printint(width); prints("; ret="); - sys·printpointer(ret); + sys·printarray(ret); prints("\n"); } } @@ -132,7 +132,7 @@ sys·arrayslices(byte* old, uint32 nel, uint32 lb, uint32 hb, uint32 width, Arra d->array = old + lb*width; ret = d; - FLUSH(&d); + FLUSH(&ret); if(debug) { prints("sys·arrayslices: old="); @@ -146,7 +146,7 @@ sys·arrayslices(byte* old, uint32 nel, uint32 lb, uint32 hb, uint32 width, Arra prints("; width="); sys·printint(width); prints("; ret="); - sys·printpointer(ret); + sys·printarray(ret); prints("\n"); } } @@ -164,15 +164,24 @@ sys·arrays2d(byte* old, uint32 nel, Array* ret) d->array = old; ret = d; - FLUSH(&d); + FLUSH(&ret); if(debug) { prints("sys·arrays2d: old="); sys·printpointer(old); - prints("; nel="); - sys·printint(nel); prints("; ret="); - sys·printpointer(ret); + sys·printarray(ret); prints("\n"); } } + +void +sys·printarray(Array *a) +{ + prints("["); + sys·printint(a->nel); + prints(","); + sys·printint(a->cap); + prints("]"); + sys·printpointer(a->array); +} diff --git a/src/runtime/runtime.h b/src/runtime/runtime.h index 94ff6d7ca0..dbd31621f2 100644 --- a/src/runtime/runtime.h +++ b/src/runtime/runtime.h @@ -348,6 +348,7 @@ void sys·printpc(void*); void sys·printpointer(void*); void sys·printuint(uint64); void sys·printhex(uint64); +void sys·printarray(Array*); void sys·catstring(string, string, string); void sys·cmpstring(string, string, int32); void sys·slicestring(string, int32, int32, string);