From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <43C7C62A.4080805@khjk.org> Date: Fri, 13 Jan 2006 16:24:26 +0100 From: Sven Moritz Hallberg User-Agent: Mozilla Thunderbird 1.0.7 (X11/20051013) MIME-Version: 1.0 To: Fans of the OS Plan 9 from Bell Labs <9fans@cse.psu.edu> Subject: Re: [9fans] Drawterm on Linux/PowerPC References: <43C7911E.4040509@khjk.org> In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enig309731396F624926AF600A6D" Topicbox-Message-UUID: d5cc8162-ead0-11e9-9d60-3106f5b1d025 This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enig309731396F624926AF600A6D Content-Type: multipart/mixed; boundary="------------070207060705040109010409" This is a multi-part message in MIME format. --------------070207060705040109010409 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Eric Van Hensbergen schrieb: > Essentially you were on the right path, but the wrong solution. > man va_copy and look at the plan9ports fmtprint code for how to do > this right on ppc/linux. Hah, I'm such an idiot, overlooked va_copy although it's right in the manpage. Anyway, I've replace the assignments with va_copy/va_end pairs, as in plan9ports and drawterm seems to work! At least it compiles, starts, and complains that I didn't tell it any server... :) Attached is the output of cvs diff. Thanks alot for the pointer, Sven Moritz --------------070207060705040109010409 Content-Type: text/x-patch; name="drawterm-va_copy-patch.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="drawterm-va_copy-patch.diff" Index: libc/fmtprint.c =================================================================== RCS file: /cvs/drawterm/libc/fmtprint.c,v retrieving revision 1.1 diff -r1.1 fmtprint.c 20c20,21 < va = f->args; --- > va_copy(va, f->args); > va_end(f->args); 27c28,29 < f->args = va; --- > va_copy(f->args, va); > va_end(va); Index: libc/fmtvprint.c =================================================================== RCS file: /cvs/drawterm/libc/fmtvprint.c,v retrieving revision 1.1 diff -r1.1 fmtvprint.c 20,21c20,23 < va = f->args; < f->args = args; --- > va_copy(va, f->args); > va_end(f->args); > va_copy(f->args, args); > va_end(args); 26c28,29 < f->args = va; --- > va_copy(f->args, va); > va_end(va); Index: libc/runevseprint.c =================================================================== RCS file: /cvs/drawterm/libc/runevseprint.c,v retrieving revision 1.1 diff -r1.1 runevseprint.c 18c18,19 < f.args = args; --- > va_copy(f.args, args); > va_end(args); Index: libc/runevsmprint.c =================================================================== RCS file: /cvs/drawterm/libc/runevsmprint.c,v retrieving revision 1.1 diff -r1.1 runevsmprint.c 60c60,61 < f.args = args; --- > va_copy(f.args, args); > va_end(args); Index: libc/runevsnprint.c =================================================================== RCS file: /cvs/drawterm/libc/runevsnprint.c,v retrieving revision 1.1 diff -r1.1 runevsnprint.c 18c18,19 < f.args = args; --- > va_copy(f.args, args); > va_end(args); Index: libc/vfprint.c =================================================================== RCS file: /cvs/drawterm/libc/vfprint.c,v retrieving revision 1.1 diff -r1.1 vfprint.c 29c29,30 < f.args = args; --- > va_copy(f.args, args); > va_end(args); Index: libc/vseprint.c =================================================================== RCS file: /cvs/drawterm/libc/vseprint.c,v retrieving revision 1.1 diff -r1.1 vseprint.c 18c18,19 < f.args = args; --- > va_copy(f.args, args); > va_end(args); Index: libc/vsmprint.c =================================================================== RCS file: /cvs/drawterm/libc/vsmprint.c,v retrieving revision 1.1 diff -r1.1 vsmprint.c 60c60,61 < f.args = args; --- > va_copy(f.args, args); > va_end(args); Index: libc/vsnprint.c =================================================================== RCS file: /cvs/drawterm/libc/vsnprint.c,v retrieving revision 1.1 diff -r1.1 vsnprint.c 18c18,19 < f.args = args; --- > va_copy(f.args, args); > va_end(args); --------------070207060705040109010409-- --------------enig309731396F624926AF600A6D Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFDx8Yv69/aETCOz78RAhnYAJ92KXpSO4SaAUKqhmi9Qby1nV1/4ACfZo74 SEwokw6FvjCKvlV3lvmnGXc= =vbNw -----END PGP SIGNATURE----- --------------enig309731396F624926AF600A6D--