Skip to content

Commit 3e3d6a8

Browse files
Merge pull request #739 from ejohnstown/modes-update
Modes Update
2 parents 958cfac + 7454ed0 commit 3e3d6a8

1 file changed

Lines changed: 78 additions & 26 deletions

File tree

src/internal.c

Lines changed: 78 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -8130,7 +8130,9 @@ int wolfSSH_DoModes(const byte* modes, word32 modesSz, int fd)
81308130
TTY_SET_CHAR(term.c_cc, VEOL, arg);
81318131
break;
81328132
case WOLFSSH_VEOL2:
8133-
TTY_SET_CHAR(term.c_cc, VEOL2, arg);
8133+
#ifdef VEOL2
8134+
TTY_SET_CHAR(term.c_cc, VEOL2, arg);
8135+
#endif
81348136
break;
81358137
case WOLFSSH_VSTART:
81368138
TTY_SET_CHAR(term.c_cc, VSTART, arg);
@@ -8147,13 +8149,19 @@ int wolfSSH_DoModes(const byte* modes, word32 modesSz, int fd)
81478149
#endif
81488150
break;
81498151
case WOLFSSH_VREPRINT:
8150-
TTY_SET_CHAR(term.c_cc, VREPRINT, arg);
8152+
#ifdef VREPRINT
8153+
TTY_SET_CHAR(term.c_cc, VREPRINT, arg);
8154+
#endif
81518155
break;
81528156
case WOLFSSH_VWERASE:
8153-
TTY_SET_CHAR(term.c_cc, VWERASE, arg);
8157+
#ifdef VWERASE
8158+
TTY_SET_CHAR(term.c_cc, VWERASE, arg);
8159+
#endif
81548160
break;
81558161
case WOLFSSH_VLNEXT:
8156-
TTY_SET_CHAR(term.c_cc, VLNEXT, arg);
8162+
#ifdef VLNEXT
8163+
TTY_SET_CHAR(term.c_cc, VLNEXT, arg);
8164+
#endif
81578165
break;
81588166
case WOLFSSH_VFLUSH:
81598167
#ifdef VFLUSH
@@ -8171,7 +8179,9 @@ int wolfSSH_DoModes(const byte* modes, word32 modesSz, int fd)
81718179
#endif
81728180
break;
81738181
case WOLFSSH_VDISCARD:
8174-
TTY_SET_CHAR(term.c_cc, VDISCARD, arg);
8182+
#ifdef VDISCARD
8183+
TTY_SET_CHAR(term.c_cc, VDISCARD, arg);
8184+
#endif
81758185
break;
81768186

81778187
/* Input Modes (c_iflag) */
@@ -8205,13 +8215,17 @@ int wolfSSH_DoModes(const byte* modes, word32 modesSz, int fd)
82058215
TTY_SET_FLAG(term.c_iflag, IXON, arg);
82068216
break;
82078217
case WOLFSSH_IXANY:
8208-
TTY_SET_FLAG(term.c_iflag, IXANY, arg);
8218+
#ifdef IXANY
8219+
TTY_SET_FLAG(term.c_iflag, IXANY, arg);
8220+
#endif
82098221
break;
82108222
case WOLFSSH_IXOFF:
82118223
TTY_SET_FLAG(term.c_iflag, IXOFF, arg);
82128224
break;
82138225
case WOLFSSH_IMAXBEL:
8214-
TTY_SET_FLAG(term.c_iflag, IMAXBEL, arg);
8226+
#ifdef IMAXBEL
8227+
TTY_SET_FLAG(term.c_iflag, IMAXBEL, arg);
8228+
#endif
82158229
break;
82168230
case WOLFSSH_IUTF8:
82178231
#ifdef IUTF8
@@ -8253,10 +8267,14 @@ int wolfSSH_DoModes(const byte* modes, word32 modesSz, int fd)
82538267
TTY_SET_FLAG(term.c_lflag, IEXTEN, arg);
82548268
break;
82558269
case WOLFSSH_ECHOCTL:
8256-
TTY_SET_FLAG(term.c_lflag, ECHOCTL, arg);
8270+
#ifdef ECHOCTL
8271+
TTY_SET_FLAG(term.c_lflag, ECHOCTL, arg);
8272+
#endif
82578273
break;
82588274
case WOLFSSH_ECHOKE:
8259-
TTY_SET_FLAG(term.c_lflag, ECHOKE, arg);
8275+
#ifdef ECHOKE
8276+
TTY_SET_FLAG(term.c_lflag, ECHOKE, arg);
8277+
#endif
82608278
break;
82618279
case WOLFSSH_PENDIN:
82628280
#ifdef PENDIN
@@ -8274,17 +8292,25 @@ int wolfSSH_DoModes(const byte* modes, word32 modesSz, int fd)
82748292
#endif
82758293
break;
82768294
case WOLFSSH_ONLCR:
8277-
TTY_SET_FLAG(term.c_lflag, ONLCR, arg);
8295+
#ifdef ONCLR
8296+
TTY_SET_FLAG(term.c_lflag, ONLCR, arg);
8297+
#endif
82788298
break;
82798299
case WOLFSSH_OCRNL:
82808300
/* keep as default, adjusting removes echo over shell */
8281-
/* TTY_SET_FLAG(term.c_lflag, OCRNL, arg); */
8301+
#ifdef OCRNL
8302+
/* TTY_SET_FLAG(term.c_lflag, OCRNL, arg); */
8303+
#endif
82828304
break;
82838305
case WOLFSSH_ONOCR:
8284-
TTY_SET_FLAG(term.c_lflag, ONOCR, arg);
8306+
#ifdef ONOCR
8307+
TTY_SET_FLAG(term.c_lflag, ONOCR, arg);
8308+
#endif
82858309
break;
82868310
case WOLFSSH_ONLRET:
8287-
TTY_SET_FLAG(term.c_lflag, ONLRET, arg);
8311+
#ifdef ONLRET
8312+
TTY_SET_FLAG(term.c_lflag, ONLRET, arg);
8313+
#endif
82888314
break;
82898315

82908316
/* Control Modes (c_cflag) */
@@ -15239,16 +15265,24 @@ static int CreateMode(WOLFSSH* ssh, byte* mode)
1523915265
TTYCharSet(term.c_cc[VKILL], WOLFSSH_VKILL, mode, &idx);
1524015266
TTYCharSet(term.c_cc[VEOF], WOLFSSH_VEOF, mode, &idx);
1524115267
TTYCharSet(term.c_cc[VEOL], WOLFSSH_VEOL, mode, &idx);
15242-
TTYCharSet(term.c_cc[VEOL2], WOLFSSH_VEOL2, mode, &idx);
15268+
#ifdef VEOL2
15269+
TTYCharSet(term.c_cc[VEOL2], WOLFSSH_VEOL2, mode, &idx);
15270+
#endif
1524315271
TTYCharSet(term.c_cc[VSTART], WOLFSSH_VSTART, mode, &idx);
1524415272
TTYCharSet(term.c_cc[VSTOP], WOLFSSH_VSTOP, mode, &idx);
1524515273
TTYCharSet(term.c_cc[VSUSP], WOLFSSH_VSUSP, mode, &idx);
1524615274
#ifdef VDSUSP
1524715275
TTYCharSet(term.c_cc[VDSUSP], WOLFSSH_VDSUSP, mode, &idx);
1524815276
#endif
15249-
TTYCharSet(term.c_cc[VREPRINT], WOLFSSH_VREPRINT, mode, &idx);
15250-
TTYCharSet(term.c_cc[VWERASE], WOLFSSH_VWERASE, mode, &idx);
15251-
TTYCharSet(term.c_cc[VLNEXT], WOLFSSH_VLNEXT, mode, &idx);
15277+
#ifdef VREPRINT
15278+
TTYCharSet(term.c_cc[VREPRINT], WOLFSSH_VREPRINT, mode, &idx);
15279+
#endif
15280+
#ifdef VWERASE
15281+
TTYCharSet(term.c_cc[VWERASE], WOLFSSH_VWERASE, mode, &idx);
15282+
#endif
15283+
#ifdef VLNEXT
15284+
TTYCharSet(term.c_cc[VLNEXT], WOLFSSH_VLNEXT, mode, &idx);
15285+
#endif
1525215286
#ifdef VFLUSH
1525315287
TTYCharSet(term.c_cc[VFLUSH], WOLFSSH_VFLUSH, mode, &idx);
1525415288
#endif
@@ -15258,7 +15292,9 @@ static int CreateMode(WOLFSSH* ssh, byte* mode)
1525815292
#ifdef VSTATUS
1525915293
TTYCharSet(term.c_cc[VSTATUS], WOLFSSH_VSTATUS, mode, &idx);
1526015294
#endif
15261-
TTYCharSet(term.c_cc[VDISCARD], WOLFSSH_VDISCARD, mode, &idx);
15295+
#ifdef VDISCARD
15296+
TTYCharSet(term.c_cc[VDISCARD], WOLFSSH_VDISCARD, mode, &idx);
15297+
#endif
1526215298

1526315299
/* c_iflag for input modes */
1526415300
TTYSet((term.c_iflag & IGNPAR), WOLFSSH_IGNPAR, mode, &idx);
@@ -15272,9 +15308,13 @@ static int CreateMode(WOLFSSH* ssh, byte* mode)
1527215308
TTYSet((term.c_iflag & IUCLC), WOLFSSH_IUCLC, mode, &idx);
1527315309
#endif
1527415310
TTYSet((term.c_iflag & IXON), WOLFSSH_IXON, mode, &idx);
15275-
TTYSet((term.c_iflag & IXANY), WOLFSSH_IXANY, mode, &idx);
15311+
#ifdef IXANY
15312+
TTYSet((term.c_iflag & IXANY), WOLFSSH_IXANY, mode, &idx);
15313+
#endif
1527615314
TTYSet((term.c_iflag & IXOFF), WOLFSSH_IXOFF, mode, &idx);
15277-
TTYSet((term.c_iflag & IMAXBEL), WOLFSSH_IMAXBEL, mode, &idx);
15315+
#ifdef IMAXBEL
15316+
TTYSet((term.c_iflag & IMAXBEL), WOLFSSH_IMAXBEL, mode, &idx);
15317+
#endif
1527815318
#ifdef IUTF8
1527915319
TTYSet((term.c_iflag & IUTF8), WOLFSSH_IUTF8, mode, &idx);
1528015320
#endif
@@ -15292,8 +15332,12 @@ static int CreateMode(WOLFSSH* ssh, byte* mode)
1529215332
TTYSet((term.c_lflag & NOFLSH), WOLFSSH_NOFLSH, mode, &idx);
1529315333
TTYSet((term.c_lflag & TOSTOP), WOLFSSH_TOSTOP, mode, &idx);
1529415334
TTYSet((term.c_lflag & IEXTEN), WOLFSSH_IEXTEN, mode, &idx);
15295-
TTYSet((term.c_lflag & ECHOCTL), WOLFSSH_ECHOCTL, mode, &idx);
15296-
TTYSet((term.c_lflag & ECHOKE), WOLFSSH_ECHOKE, mode, &idx);
15335+
#ifdef ECHOCTL
15336+
TTYSet((term.c_lflag & ECHOCTL), WOLFSSH_ECHOCTL, mode, &idx);
15337+
#endif
15338+
#ifdef ECHOKE
15339+
TTYSet((term.c_lflag & ECHOKE), WOLFSSH_ECHOKE, mode, &idx);
15340+
#endif
1529715341
#ifdef PENDIN
1529815342
TTYSet((term.c_lflag & PENDIN), WOLFSSH_PENDIN, mode, &idx);
1529915343
#endif
@@ -15303,10 +15347,18 @@ static int CreateMode(WOLFSSH* ssh, byte* mode)
1530315347
#ifdef OLCUC
1530415348
TTYSet((term.c_oflag & OLCUC), WOLFSSH_OLCUC, mode, &idx);
1530515349
#endif
15306-
TTYSet((term.c_oflag & ONLCR), WOLFSSH_ONLCR, mode, &idx);
15307-
TTYSet((term.c_oflag & OCRNL), WOLFSSH_OCRNL, mode, &idx);
15308-
TTYSet((term.c_oflag & ONOCR), WOLFSSH_ONOCR, mode, &idx);
15309-
TTYSet((term.c_oflag & ONLRET), WOLFSSH_ONLRET, mode, &idx);
15350+
#ifdef ONLCR
15351+
TTYSet((term.c_oflag & ONLCR), WOLFSSH_ONLCR, mode, &idx);
15352+
#endif
15353+
#ifdef OCRNL
15354+
TTYSet((term.c_oflag & OCRNL), WOLFSSH_OCRNL, mode, &idx);
15355+
#endif
15356+
#ifdef ONOCR
15357+
TTYSet((term.c_oflag & ONOCR), WOLFSSH_ONOCR, mode, &idx);
15358+
#endif
15359+
#ifdef ONLRET
15360+
TTYSet((term.c_oflag & ONLRET), WOLFSSH_ONLRET, mode, &idx);
15361+
#endif
1531015362

1531115363
/* c_cflag */
1531215364
TTYSet((term.c_cflag & CS7), WOLFSSH_CS7, mode, &idx);

0 commit comments

Comments
 (0)