diff --git a/pageant.c b/pageant.c index 446790a0..99c4bbe4 100644 --- a/pageant.c +++ b/pageant.c @@ -9,6 +9,7 @@ #include "putty.h" #include "mpint.h" #include "ssh.h" +#include "sshcr.h" #include "pageant.h" /* @@ -703,10 +704,9 @@ bool pageant_delete_ssh2_key(ssh2_userkey *skey) */ /* - * Coroutine macros similar to, but simplified from, those in ssh.c. + * An extra coroutine macro, specific to this code which is consuming + * 'const char *data'. */ -#define crBegin(v) { int *crLine = &v; switch(v) { case 0:; -#define crFinishV } *crLine = 0; return; } #define crGetChar(c) do \ { \ while (len == 0) { \ diff --git a/sshshare.c b/sshshare.c index 04301656..2e2cf367 100644 --- a/sshshare.c +++ b/sshshare.c @@ -138,6 +138,7 @@ #include "putty.h" #include "tree234.h" #include "ssh.h" +#include "sshcr.h" struct ssh_sharing_state { char *sockname; /* the socket name, kept for cleanup */ @@ -1741,10 +1742,9 @@ static void share_got_pkt_from_downstream(struct ssh_sharing_connstate *cs, } /* - * Coroutine macros similar to, but simplified from, those in ssh.c. + * An extra coroutine macro, specific to this code which is consuming + * 'const char *data'. */ -#define crBegin(v) { int *crLine = &v; switch(v) { case 0:; -#define crFinishV } *crLine = 0; return; } #define crGetChar(c) do \ { \ while (len == 0) { \