Changeset 3232 in MondoRescue for branches/3.2/mindi-busybox/coreutils/stty.c
- Timestamp:
- Jan 1, 2014, 12:47:38 AM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/3.2/mindi-busybox/coreutils/stty.c
r2725 r3232 22 22 */ 23 23 24 //usage:#define stty_trivial_usage 25 //usage: "[-a|g] [-F DEVICE] [SETTING]..." 26 //usage:#define stty_full_usage "\n\n" 27 //usage: "Without arguments, prints baud rate, line discipline,\n" 28 //usage: "and deviations from stty sane\n" 29 //usage: "\n -F DEVICE Open device instead of stdin" 30 //usage: "\n -a Print all current settings in human-readable form" 31 //usage: "\n -g Print in stty-readable form" 32 //usage: "\n [SETTING] See manpage" 33 24 34 #include "libbb.h" 25 35 … … 59 69 #if defined(VEOL2) && !defined(CEOL2) 60 70 # define CEOL2 _POSIX_VDISABLE 71 #endif 72 /* glibc-2.12.1 uses only VSWTC name */ 73 #if defined(VSWTC) && !defined(VSWTCH) 74 # define VSWTCH VSWTC 61 75 #endif 62 76 /* ISC renamed swtch to susp for termios, but we'll accept either name */ … … 221 235 #ifndef XCASE 222 236 # define XCASE 0 237 #endif 238 #ifndef IUTF8 239 # define IUTF8 0 223 240 #endif 224 241 … … 339 356 MI_ENTRY("ixon", input, REV, IXON, 0 ) 340 357 MI_ENTRY("ixoff", input, SANE_UNSET | REV, IXOFF, 0 ) 341 MI_ENTRY("tandem", input, REV | OMIT,IXOFF, 0 )358 MI_ENTRY("tandem", input, OMIT | REV, IXOFF, 0 ) 342 359 #if IUCLC 343 360 MI_ENTRY("iuclc", input, SANE_UNSET | REV, IUCLC, 0 ) … … 348 365 #if IMAXBEL 349 366 MI_ENTRY("imaxbel", input, SANE_SET | REV, IMAXBEL, 0 ) 367 #endif 368 #if IUTF8 369 MI_ENTRY("iutf8", input, SANE_UNSET | REV, IUTF8, 0 ) 350 370 #endif 351 371 MI_ENTRY("opost", output, SANE_SET | REV, OPOST, 0 ) … … 416 436 MI_ENTRY("echo", local, SANE_SET | REV, ECHO, 0 ) 417 437 MI_ENTRY("echoe", local, SANE_SET | REV, ECHOE, 0 ) 418 MI_ENTRY("crterase", local, REV | OMIT,ECHOE, 0 )438 MI_ENTRY("crterase", local, OMIT | REV, ECHOE, 0 ) 419 439 MI_ENTRY("echok", local, SANE_SET | REV, ECHOK, 0 ) 420 440 MI_ENTRY("echonl", local, SANE_UNSET | REV, ECHONL, 0 ) … … 428 448 #if ECHOPRT 429 449 MI_ENTRY("echoprt", local, SANE_UNSET | REV, ECHOPRT, 0 ) 430 MI_ENTRY("prterase", local, REV | OMIT,ECHOPRT, 0 )450 MI_ENTRY("prterase", local, OMIT | REV, ECHOPRT, 0 ) 431 451 #endif 432 452 #if ECHOCTL 433 453 MI_ENTRY("echoctl", local, SANE_SET | REV, ECHOCTL, 0 ) 434 MI_ENTRY("ctlecho", local, REV | OMIT,ECHOCTL, 0 )454 MI_ENTRY("ctlecho", local, OMIT | REV, ECHOCTL, 0 ) 435 455 #endif 436 456 #if ECHOKE 437 457 MI_ENTRY("echoke", local, SANE_SET | REV, ECHOKE, 0 ) 438 MI_ENTRY("crtkill", local, REV | OMIT,ECHOKE, 0 )458 MI_ENTRY("crtkill", local, OMIT | REV, ECHOKE, 0 ) 439 459 #endif 440 460 ; … … 493 513 MI_ENTRY("ixon", input, REV, IXON, 0 ) 494 514 MI_ENTRY("ixoff", input, SANE_UNSET | REV, IXOFF, 0 ) 495 MI_ENTRY("tandem", input, REV | OMIT,IXOFF, 0 )515 MI_ENTRY("tandem", input, OMIT | REV, IXOFF, 0 ) 496 516 #if IUCLC 497 517 MI_ENTRY("iuclc", input, SANE_UNSET | REV, IUCLC, 0 ) … … 502 522 #if IMAXBEL 503 523 MI_ENTRY("imaxbel", input, SANE_SET | REV, IMAXBEL, 0 ) 524 #endif 525 #if IUTF8 526 MI_ENTRY("iutf8", input, SANE_UNSET | REV, IUTF8, 0 ) 504 527 #endif 505 528 MI_ENTRY("opost", output, SANE_SET | REV, OPOST, 0 ) … … 570 593 MI_ENTRY("echo", local, SANE_SET | REV, ECHO, 0 ) 571 594 MI_ENTRY("echoe", local, SANE_SET | REV, ECHOE, 0 ) 572 MI_ENTRY("crterase", local, REV | OMIT,ECHOE, 0 )595 MI_ENTRY("crterase", local, OMIT | REV, ECHOE, 0 ) 573 596 MI_ENTRY("echok", local, SANE_SET | REV, ECHOK, 0 ) 574 597 MI_ENTRY("echonl", local, SANE_UNSET | REV, ECHONL, 0 ) … … 582 605 #if ECHOPRT 583 606 MI_ENTRY("echoprt", local, SANE_UNSET | REV, ECHOPRT, 0 ) 584 MI_ENTRY("prterase", local, REV | OMIT,ECHOPRT, 0 )607 MI_ENTRY("prterase", local, OMIT | REV, ECHOPRT, 0 ) 585 608 #endif 586 609 #if ECHOCTL 587 610 MI_ENTRY("echoctl", local, SANE_SET | REV, ECHOCTL, 0 ) 588 MI_ENTRY("ctlecho", local, REV | OMIT,ECHOCTL, 0 )611 MI_ENTRY("ctlecho", local, OMIT | REV, ECHOCTL, 0 ) 589 612 #endif 590 613 #if ECHOKE 591 614 MI_ENTRY("echoke", local, SANE_SET | REV, ECHOKE, 0 ) 592 MI_ENTRY("crtkill", local, REV | OMIT,ECHOKE, 0 )615 MI_ENTRY("crtkill", local, OMIT | REV, ECHOKE, 0 ) 593 616 #endif 594 617 }; … … 992 1015 unsigned long ispeed, ospeed; 993 1016 994 ospeed = ispeed = cfgetispeed(mode); 995 if (ispeed == 0 || ispeed == (ospeed = cfgetospeed(mode))) { 1017 ispeed = cfgetispeed(mode); 1018 ospeed = cfgetospeed(mode); 1019 if (ispeed == 0 || ispeed == ospeed) { 996 1020 ispeed = ospeed; /* in case ispeed was 0 */ 997 1021 //________ 0123 4 5 6 7 8 9 … … 1012 1036 if (all) 1013 1037 display_window_size(1); 1014 #ifdef HAVE_C_LINE1038 #ifdef __linux__ 1015 1039 wrapf("line = %u;\n", mode->c_line); 1016 1040 #else … … 1033 1057 #endif 1034 1058 wrapf("%s = %s;", nth_string(control_name, i), 1035 1059 visible(mode->c_cc[control_info[i].offset])); 1036 1060 } 1037 1061 #if VEOF == VMIN … … 1345 1369 1346 1370 switch (param) { 1347 #ifdef HAVE_C_LINE1371 #ifdef __linux__ 1348 1372 case param_line: 1349 1373 # ifndef TIOCGWINSZ … … 1381 1405 /* Specifying both -a and -g is an error */ 1382 1406 if ((stty_state & (STTY_verbose_output | STTY_recoverable_output)) == 1383 (STTY_verbose_output | STTY_recoverable_output)) 1384 bb_error_msg_and_die("verbose and stty-readable output styles are mutually exclusive"); 1407 (STTY_verbose_output | STTY_recoverable_output) 1408 ) { 1409 bb_error_msg_and_die("-a and -g are mutually exclusive"); 1410 } 1385 1411 /* Specifying -a or -g with non-options is an error */ 1386 if ( !(stty_state & STTY_noargs)1387 && (stty_state & (STTY_verbose_output | STTY_recoverable_output))1412 if ((stty_state & (STTY_verbose_output | STTY_recoverable_output)) 1413 && !(stty_state & STTY_noargs) 1388 1414 ) { 1389 bb_error_msg_and_die("modes may not be set when specifying an output style");1415 bb_error_msg_and_die("modes may not be set when -a or -g is used"); 1390 1416 } 1391 1417 … … 1449 1475 1450 1476 switch (param) { 1451 #ifdef HAVE_C_LINE1477 #ifdef __linux__ 1452 1478 case param_line: 1453 1479 mode.c_line = xatoul_sfx(argnext, stty_suffixes);
Note:
See TracChangeset
for help on using the changeset viewer.