--- ssh-2.0.11/lib/sshutil/sshencode.c.orig Sun Oct 25 18:06:57 1998 +++ ssh-2.0.11/lib/sshutil/sshencode.c Sun Jan 10 23:42:22 1999 @@ -91,7 +91,11 @@ case SSH_FORMAT_EXTENDED: encoder = va_arg(ap, SshEncoder); +#ifndef __powerpc__ (*encoder)(buffer, &ap); +#else + (*encoder)(buffer, (va_list *)ap); +#endif break; case SSH_FORMAT_UINT64: @@ -508,7 +512,12 @@ /* Try decoding. */ +#ifndef __powerpc__ start_of_ap = ap; size = (*decoder)(buf + offset, len - offset, &ap); +#else + __va_copy(start_of_ap, ap); + size = (*decoder)(buf + offset, len - offset, (va_list *)ap); +#endif if (size == 0) goto fail; @@ -519,7 +527,11 @@ decoders = ssh_xrealloc(decoders, (num_decoders + 1) * sizeof(*decoders)); decoders[num_decoders].decoder = decoder; +#ifndef __powerpc__ decoders[num_decoders].ap = start_of_ap; +#else + __va_copy(decoders[num_decoders].ap, start_of_ap); +#endif num_decoders++; /* Move over parsed data. */