From mboxrd@z Thu Jan 1 00:00:00 1970 From: erik quanstrom To: 9fans@cse.psu.edu, Sven Moritz Hallberg References: <43C7911E.4040509@khjk.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 In-Reply-To: <43C7911E.4040509@khjk.org> Subject: [9fans] Drawterm on Linux/PowerPC Message-Id: <20060113135709.4B62E35076@dexter-peak.quanstro.net> Date: Fri, 13 Jan 2006 07:57:09 -0600 Cc: Topicbox-Message-UUID: d58ffc7e-ead0-11e9-9d60-3106f5b1d025 Sven Moritz Hallberg writes [...] | gcc -Wall -Wno-missing-braces -ggdb -I.. -I../include -I../kern -c | -I/usr/X11R6/include -D_THREAD_SAFE -pthread -O2 fmtprint.c | fmtprint.c: In function 'fmtprint': | fmtprint.c:20: error: incompatible types in assignment | | I tried to replace all the offending assignments with calls to memcpy: | | /* va = f->args; */ | memcpy(&va, &(f->args), sizeof(va_list)); try: (from plan9port) int fmtprint(Fmt *f, char *fmt, ...) { va_list va; int n; f->flags = 0; f->width = 0; f->prec = 0; va_copy(va, f->args); va_end(f->args); va_start(f->args, fmt); n = dofmt(f, fmt); va_end(f->args); f->flags = 0; f->width = 0; f->prec = 0; va_copy(f->args,va); va_end(va); if(n >= 0) return 0; return n; } - erik