From 0b4425760be1f92a1f25daeb5d3dc91814a98622 Mon Sep 17 00:00:00 2001 From: Ralf Baechle Date: Wed, 5 Jun 2013 00:55:50 +0200 Subject: Nuke trailing blank lines. Signed-off-by: Ralf Baechle --- ax25/axgetput/axgetput.c | 1 - 1 file changed, 1 deletion(-) (limited to 'ax25/axgetput/axgetput.c') diff --git a/ax25/axgetput/axgetput.c b/ax25/axgetput/axgetput.c index d3d3f53..9513a8f 100644 --- a/ax25/axgetput/axgetput.c +++ b/ax25/axgetput/axgetput.c @@ -390,4 +390,3 @@ skiped_crc_only_tag_1: return 0; } - -- cgit v1.2.3 From 1245fbd2a8d60bab7b16b8a1d3c0122fee72f53f Mon Sep 17 00:00:00 2001 From: Ralf Baechle Date: Wed, 5 Jun 2013 00:57:38 +0200 Subject: Nuke trailing whitespace. Signed-off-by: Ralf Baechle --- ax25/axgetput/axgetput.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'ax25/axgetput/axgetput.c') diff --git a/ax25/axgetput/axgetput.c b/ax25/axgetput/axgetput.c index 9513a8f..1696dbf 100644 --- a/ax25/axgetput/axgetput.c +++ b/ax25/axgetput/axgetput.c @@ -223,7 +223,7 @@ int main(int argc, char *argv[]) fdin_is_pipe = (isatty(fdin) ? 0 : 1); fdout_is_pipe = (isatty(fdout) ? 0 : 1); - if (fdin_is_pipe && fdout_is_pipe) { + if (fdin_is_pipe && fdout_is_pipe) { fprintf(stderr, "error: cannot work in between two pipes\n"); exit(1); } -- cgit v1.2.3 From 5feb3d651dbd1b096a26963bd1dffcfe0a5f9eea Mon Sep 17 00:00:00 2001 From: Ralf Baechle Date: Wed, 5 Jun 2013 01:42:05 +0200 Subject: Remove useless initializations to 0 or NULL. They only inflate the .data section of the binary. Initializations to FALSE are still left to do. Signed-off-by: Ralf Baechle --- ax25/axgetput/axgetput.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'ax25/axgetput/axgetput.c') diff --git a/ax25/axgetput/axgetput.c b/ax25/axgetput/axgetput.c index 1696dbf..c2f4d25 100644 --- a/ax25/axgetput/axgetput.c +++ b/ax25/axgetput/axgetput.c @@ -24,25 +24,25 @@ #include "util.h" #include "proto_bin.h" -int fdin = 0; +int fdin; int fdout = 1; int fderr = 2; -int fdout_is_pipe = 0; -int fdin_is_pipe = 0; +int fdout_is_pipe; +int fdin_is_pipe; -int is_stream = 0; -int mode = 0; -int do_crc_only = 0; +int is_stream; +int mode; +int do_crc_only; char c_eol = '\n'; unsigned int BLOCKSIZ = BLOCKSIZ_DEFAULT; -char *send_on_signal = 0; +char *send_on_signal; static struct termios prev_termios; -static int prev_termios_stored = 0; -static mode_t mode_tty = 0; +static int prev_termios_stored; +static mode_t mode_tty; #ifndef MYNAME #define MYNAME "axgetput" @@ -98,7 +98,7 @@ static void eol_convention(int state_should) /* need patched axspawn */ #define BIN_ON "//BIN ON\r" #define BIN_OFF "//BIN OFF\r" - static int state_is = 0; + static int state_is; /* already in correct state? */ if ((state_is && state_should) || (!state_is && !state_should)) -- cgit v1.2.3 From 90f6ab2eceada8987fc6e5017ae415eade165c00 Mon Sep 17 00:00:00 2001 From: Ralf Baechle Date: Wed, 5 Jun 2013 01:47:40 +0200 Subject: Use tabs for indentation, not spaces. Signed-off-by: Ralf Baechle --- ax25/axgetput/axgetput.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'ax25/axgetput/axgetput.c') diff --git a/ax25/axgetput/axgetput.c b/ax25/axgetput/axgetput.c index c2f4d25..595215c 100644 --- a/ax25/axgetput/axgetput.c +++ b/ax25/axgetput/axgetput.c @@ -264,17 +264,17 @@ int main(int argc, char *argv[]) #define get_filename(f) { \ if (!strcmp(f, "-")) { \ if (mode % 2) \ - fdin_is_pipe = 1; \ - else \ - fdout_is_pipe = 1; \ + fdin_is_pipe = 1; \ + else \ + fdout_is_pipe = 1; \ } else { \ - strncpy(filename, f, sizeof(filename)-1); \ - filename[sizeof(filename)-1] = 0; \ + strncpy(filename, f, sizeof(filename)-1); \ + filename[sizeof(filename)-1] = 0; \ if (mode % 2) { \ if (fdin_is_pipe) \ fdin_is_pipe = 0; \ } else { \ - if (fdout_is_pipe) \ + if (fdout_is_pipe) \ fdout_is_pipe = 0; \ } \ } \ -- cgit v1.2.3 From 4eb951133d9d301184ebd7b675598e11973b6ab8 Mon Sep 17 00:00:00 2001 From: Ralf Baechle Date: Wed, 5 Jun 2013 02:34:19 +0200 Subject: Always have a space between if, for, switch, while and the following `('. Signed-off-by: Ralf Baechle --- ax25/axgetput/axgetput.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'ax25/axgetput/axgetput.c') diff --git a/ax25/axgetput/axgetput.c b/ax25/axgetput/axgetput.c index 595215c..dc077c5 100644 --- a/ax25/axgetput/axgetput.c +++ b/ax25/axgetput/axgetput.c @@ -281,7 +281,7 @@ int main(int argc, char *argv[]) } while ((c = getopt(argc, argv, (mode % 2) ? "ivh?" : "b:isvh?")) != EOF) { - switch(c) { + switch (c) { case 'b': if (((BLOCKSIZ = (unsigned ) atoi(optarg)) < BLOCKSIZ_MIN) || BLOCKSIZ > BLOCKSIZ_MAX) { fprintf(stderr, "error: invalid blocksize: %d\n", BLOCKSIZ); -- cgit v1.2.3 From f76e0b330f0be28f9f3af3073904ede3a34d48f5 Mon Sep 17 00:00:00 2001 From: Ralf Baechle Date: Wed, 5 Jun 2013 15:34:56 +0200 Subject: Reformat consistently. Strictly whitespace changes only. Indentation by tabs only. Move case labels in switches are on the same level as the switch keyword. Signed-off-by: Ralf Baechle --- ax25/axgetput/axgetput.c | 536 +++++++++++++++++++++++------------------------ 1 file changed, 268 insertions(+), 268 deletions(-) (limited to 'ax25/axgetput/axgetput.c') diff --git a/ax25/axgetput/axgetput.c b/ax25/axgetput/axgetput.c index dc077c5..de21bc5 100644 --- a/ax25/axgetput/axgetput.c +++ b/ax25/axgetput/axgetput.c @@ -52,92 +52,92 @@ static mode_t mode_tty; static void set_tty_flags(void) { - struct termios termios; - struct stat statbuf; - - if (fdin_is_pipe) - return; - /* mesg no */ - if (!fstat(fdin, &statbuf)) { - /* save old mode */ - mode_tty = statbuf.st_mode; - fchmod(fdin, 0600); - } - /* make tty 8bit clean */ - if (tcgetattr(fdin, &prev_termios) != -1) - prev_termios_stored = 1; - memset((char *) &termios, 0, sizeof(termios)); - termios.c_iflag = IGNBRK | IGNPAR; - termios.c_oflag = 0; - termios.c_cflag = CBAUD | CS8 | CREAD | CLOCAL; - termios.c_cflag = ~(CSTOPB|PARENB|PARODD|HUPCL); - termios.c_lflag = 0; - termios.c_cc[VMIN] = 1; - termios.c_cc[VTIME] = 0; - termios.c_cc[VSTART] = -1; - termios.c_cc[VSTOP] = -1; - tcsetattr(fdin, TCSANOW, &termios); + struct termios termios; + struct stat statbuf; + + if (fdin_is_pipe) + return; + /* mesg no */ + if (!fstat(fdin, &statbuf)) { + /* save old mode */ + mode_tty = statbuf.st_mode; + fchmod(fdin, 0600); + } + /* make tty 8bit clean */ + if (tcgetattr(fdin, &prev_termios) != -1) + prev_termios_stored = 1; + memset((char *) &termios, 0, sizeof(termios)); + termios.c_iflag = IGNBRK | IGNPAR; + termios.c_oflag = 0; + termios.c_cflag = CBAUD | CS8 | CREAD | CLOCAL; + termios.c_cflag = ~(CSTOPB|PARENB|PARODD|HUPCL); + termios.c_lflag = 0; + termios.c_cc[VMIN] = 1; + termios.c_cc[VTIME] = 0; + termios.c_cc[VSTART] = -1; + termios.c_cc[VSTOP] = -1; + tcsetattr(fdin, TCSANOW, &termios); } /*---------------------------------------------------------------------------*/ static void restore_tty_flags(void) { - if (fdin_is_pipe) - return; - if (prev_termios_stored) - tcsetattr(fdin, TCSANOW, &prev_termios); - if (mode_tty) - fchmod(fdin, mode_tty); + if (fdin_is_pipe) + return; + if (prev_termios_stored) + tcsetattr(fdin, TCSANOW, &prev_termios); + if (mode_tty) + fchmod(fdin, mode_tty); } /*---------------------------------------------------------------------------*/ static void eol_convention(int state_should) { - /* need patched axspawn */ + /* need patched axspawn */ #define BIN_ON "//BIN ON\r" #define BIN_OFF "//BIN OFF\r" - static int state_is; + static int state_is; - /* already in correct state? */ - if ((state_is && state_should) || (!state_is && !state_should)) - return; + /* already in correct state? */ + if ((state_is && state_should) || (!state_is && !state_should)) + return; - sleep(1); + sleep(1); - if (state_should) { - write(fderr, BIN_ON, strlen(BIN_ON)); - c_eol = '\r'; - } else { - write(fderr, BIN_OFF, strlen(BIN_OFF)); - c_eol = '\n'; - } - state_is = state_should; + if (state_should) { + write(fderr, BIN_ON, strlen(BIN_ON)); + c_eol = '\r'; + } else { + write(fderr, BIN_OFF, strlen(BIN_OFF)); + c_eol = '\n'; + } + state_is = state_should; - sleep(1); + sleep(1); } /*---------------------------------------------------------------------------*/ static void restore_defaults(void) { - eol_convention(0); - restore_tty_flags(); + eol_convention(0); + restore_tty_flags(); } /*---------------------------------------------------------------------------*/ static void signal_handler(int sig) { - if (send_on_signal) - secure_write(fdout, send_on_signal, strlen(send_on_signal)); - restore_defaults(); - if (*err_msg) { - fputs(err_msg, stderr); - } - fprintf(stderr, "Died by signal %d.\n", sig); - exit(sig); + if (send_on_signal) + secure_write(fdout, send_on_signal, strlen(send_on_signal)); + restore_defaults(); + if (*err_msg) { + fputs(err_msg, stderr); + } + fprintf(stderr, "Died by signal %d.\n", sig); + exit(sig); } /*---------------------------------------------------------------------------*/ @@ -153,40 +153,40 @@ void do_version(void) /*---------------------------------------------------------------------------*/ static void usage(int all) { - fprintf(stderr, "usage: %s ", myname); - if (mode % 2) { - fprintf(stderr, "[-ivh] [filename]\n"); - } else { - fprintf(stderr, "[-isvh] [-b ] [filename]\n"); - } - fprintf(stderr, " -h prints detailed help\n"); - fprintf(stderr, " -i computes checksum only\n"); - fprintf(stderr, " -v prints version and exits\n"); - if (!all) - return; - if (mode % 2) { - fprintf(stderr, " filename is usually got from the remote side by the protocol\n"); - fprintf(stderr, " but can be forced if you like to ignore this.\n"); - fprintf(stderr, " filename should be ommitted if output is sent to a pipe\n."); - } else { - fprintf(stderr, " -b value is the blocksize (framelen) of the transmitted data\n"); - fprintf(stderr, " default %d, which is a useful choice for ampr ax25.\n", BLOCKSIZ_DEFAULT); - fprintf(stderr, " -s indicates a stream with unknown size.\n"); - fprintf(stderr, " otherwise, the data will be read to memory until EOF.\n"); - fprintf(stderr, " -s is only available if stdin is a pipe\n"); - fprintf(stderr, " if filename specified in filter, the given name will be suggested instead.\n"); - fprintf(stderr, " filename may be ommited if used as filter.\n"); - } - fputc('\n', stderr); - fprintf(stderr, "Tips: - compressed download:\n"); - fprintf(stderr, " gzip -c foo.txt | bget foo.txt.gz\n"); - fprintf(stderr, " tar cjf - ~/foo ~/bar/ | bget my_data.tar.bz2\n"); - fputc('\n', stderr); - fprintf(stderr, "Other protocols:\n"); - fprintf(stderr, " bget / bput: receive / send with #BIN# protocol\n"); - fprintf(stderr, " yget / yput: receive / send with yapp\n"); - fprintf(stderr, " rget / rput: receive / send with didadit\n"); - fprintf(stderr, "These are (sym)links to one program: " MYNAME "\n"); + fprintf(stderr, "usage: %s ", myname); + if (mode % 2) { + fprintf(stderr, "[-ivh] [filename]\n"); + } else { + fprintf(stderr, "[-isvh] [-b ] [filename]\n"); + } + fprintf(stderr, " -h prints detailed help\n"); + fprintf(stderr, " -i computes checksum only\n"); + fprintf(stderr, " -v prints version and exits\n"); + if (!all) + return; + if (mode % 2) { + fprintf(stderr, " filename is usually got from the remote side by the protocol\n"); + fprintf(stderr, " but can be forced if you like to ignore this.\n"); + fprintf(stderr, " filename should be ommitted if output is sent to a pipe\n."); + } else { + fprintf(stderr, " -b value is the blocksize (framelen) of the transmitted data\n"); + fprintf(stderr, " default %d, which is a useful choice for ampr ax25.\n", BLOCKSIZ_DEFAULT); + fprintf(stderr, " -s indicates a stream with unknown size.\n"); + fprintf(stderr, " otherwise, the data will be read to memory until EOF.\n"); + fprintf(stderr, " -s is only available if stdin is a pipe\n"); + fprintf(stderr, " if filename specified in filter, the given name will be suggested instead.\n"); + fprintf(stderr, " filename may be ommited if used as filter.\n"); + } + fputc('\n', stderr); + fprintf(stderr, "Tips: - compressed download:\n"); + fprintf(stderr, " gzip -c foo.txt | bget foo.txt.gz\n"); + fprintf(stderr, " tar cjf - ~/foo ~/bar/ | bget my_data.tar.bz2\n"); + fputc('\n', stderr); + fprintf(stderr, "Other protocols:\n"); + fprintf(stderr, " bget / bput: receive / send with #BIN# protocol\n"); + fprintf(stderr, " yget / yput: receive / send with yapp\n"); + fprintf(stderr, " rget / rput: receive / send with didadit\n"); + fprintf(stderr, "These are (sym)links to one program: " MYNAME "\n"); } @@ -203,190 +203,190 @@ static int rput(void) { strcpy(err_msg, "yapp: not implementet yet\n"); return 1 int main(int argc, char *argv[]) { - int len; - int ret = 0; - int c; - char *p; - - /* determine what to so in the way how we are called */ - if ((p = strrchr(argv[0], '/'))) - p++; /* skip '/' */ - else - p = argv[0]; - len = strlen(p); - if (len < 0 || len > sizeof(myname)-1) - len = sizeof(myname)-1; - strncpy(myname, p, len); - myname[len] = 0; - strlwc(myname); - - fdin_is_pipe = (isatty(fdin) ? 0 : 1); - fdout_is_pipe = (isatty(fdout) ? 0 : 1); - - if (fdin_is_pipe && fdout_is_pipe) { - fprintf(stderr, "error: cannot work in between two pipes\n"); - exit(1); - } - - *filename = 0; - *err_msg = 0; - - if (!strcmp(myname, "bput")) - mode = RECV_BIN; - else if (!strcmp(myname, "bget")) - mode = SEND_BIN; - else if (!strcmp(myname, "yput")) - mode = RECV_YAPP; - else if (!strcmp(myname, "yget")) - mode = SEND_YAPP; - else if (!strcmp(myname, "rput")) - mode = RECV_DIDADIT; - else if (!strcmp(myname, "rget")) - mode = SEND_DIDADIT; - - if (mode % 2) { - if (fdin_is_pipe) { - fprintf(stderr, "error: error: stdin must be a tty\n"); - exit(1); - } - } else { - if (fdout_is_pipe) { - fprintf(stderr, "error: stdout must be a tty\n"); - exit(1); - } - } - - signal(SIGHUP, signal_handler); - signal(SIGTERM, signal_handler); - signal(SIGINT, signal_handler); + int len; + int ret = 0; + int c; + char *p; + + /* determine what to so in the way how we are called */ + if ((p = strrchr(argv[0], '/'))) + p++; /* skip '/' */ + else + p = argv[0]; + len = strlen(p); + if (len < 0 || len > sizeof(myname)-1) + len = sizeof(myname)-1; + strncpy(myname, p, len); + myname[len] = 0; + strlwc(myname); + + fdin_is_pipe = (isatty(fdin) ? 0 : 1); + fdout_is_pipe = (isatty(fdout) ? 0 : 1); + + if (fdin_is_pipe && fdout_is_pipe) { + fprintf(stderr, "error: cannot work in between two pipes\n"); + exit(1); + } + + *filename = 0; + *err_msg = 0; + + if (!strcmp(myname, "bput")) + mode = RECV_BIN; + else if (!strcmp(myname, "bget")) + mode = SEND_BIN; + else if (!strcmp(myname, "yput")) + mode = RECV_YAPP; + else if (!strcmp(myname, "yget")) + mode = SEND_YAPP; + else if (!strcmp(myname, "rput")) + mode = RECV_DIDADIT; + else if (!strcmp(myname, "rget")) + mode = SEND_DIDADIT; + + if (mode % 2) { + if (fdin_is_pipe) { + fprintf(stderr, "error: error: stdin must be a tty\n"); + exit(1); + } + } else { + if (fdout_is_pipe) { + fprintf(stderr, "error: stdout must be a tty\n"); + exit(1); + } + } + + signal(SIGHUP, signal_handler); + signal(SIGTERM, signal_handler); + signal(SIGINT, signal_handler); /* for difference betreen "bput -f file" and "bget file" */ -#define get_filename(f) { \ - if (!strcmp(f, "-")) { \ - if (mode % 2) \ - fdin_is_pipe = 1; \ - else \ - fdout_is_pipe = 1; \ - } else { \ - strncpy(filename, f, sizeof(filename)-1); \ - filename[sizeof(filename)-1] = 0; \ - if (mode % 2) { \ - if (fdin_is_pipe) \ - fdin_is_pipe = 0; \ - } else { \ - if (fdout_is_pipe) \ - fdout_is_pipe = 0; \ - } \ - } \ +#define get_filename(f) { \ + if (!strcmp(f, "-")) { \ + if (mode % 2) \ + fdin_is_pipe = 1; \ + else \ + fdout_is_pipe = 1; \ + } else { \ + strncpy(filename, f, sizeof(filename)-1); \ + filename[sizeof(filename)-1] = 0; \ + if (mode % 2) { \ + if (fdin_is_pipe) \ + fdin_is_pipe = 0; \ + } else { \ + if (fdout_is_pipe) \ + fdout_is_pipe = 0; \ + } \ + } \ } - while ((c = getopt(argc, argv, (mode % 2) ? "ivh?" : "b:isvh?")) != EOF) { - switch (c) { - case 'b': - if (((BLOCKSIZ = (unsigned ) atoi(optarg)) < BLOCKSIZ_MIN) || BLOCKSIZ > BLOCKSIZ_MAX) { - fprintf(stderr, "error: invalid blocksize: %d\n", BLOCKSIZ); - fprintf(stderr, " blocksize must be in the range %d <= x <= %d. a value\n", BLOCKSIZ_MIN, BLOCKSIZ_MAX); - fprintf(stderr, " of %d (default) is suggested, because it fits in an ax25 frame.\n", BLOCKSIZ_DEFAULT); - exit(1); - } - break; - case 'i': - do_crc_only = 1; - break; - case 's': - is_stream = 1; - break; - case 'v': - do_version(); - exit(0); - break; - case 'h': - case '?': - usage((c == 'h')); - exit(0); - break; - } - } - - if (mode == 0) { - usage(1); - exit(0); - } - - if (optind < argc) { - get_filename(argv[optind]); - optind++; - } - if (optind < argc) { - usage(0); - exit(1); - } - - if (is_stream && !fdin_is_pipe) { - fprintf(stderr, "error: -s is only available in a pipe\n"); - exit(1); - } - - if (do_crc_only) - goto skiped_crc_only_tag_1; - - if (mode % 2) { - if (fdin_is_pipe) { - fprintf(stderr, "error: error: stdin must be a tty.\n"); - exit(1); - } - if (fdout_is_pipe && *filename) { - fprintf(stderr, "error: filename in a pipe does not make sense.\n"); - exit(1); - } - } else { - if (fdout_is_pipe) { - fprintf(stderr, "error: stdout must be a tty.\n"); - exit(1); - } - if (!fdin_is_pipe && !*filename) { - fprintf(stderr, "error: no file to send.\n"); - exit(1); - } - } - - signal(SIGQUIT, signal_handler); - - set_tty_flags(); - eol_convention(1); + while ((c = getopt(argc, argv, (mode % 2) ? "ivh?" : "b:isvh?")) != EOF) { + switch (c) { + case 'b': + if (((BLOCKSIZ = (unsigned ) atoi(optarg)) < BLOCKSIZ_MIN) || BLOCKSIZ > BLOCKSIZ_MAX) { + fprintf(stderr, "error: invalid blocksize: %d\n", BLOCKSIZ); + fprintf(stderr, " blocksize must be in the range %d <= x <= %d. a value\n", BLOCKSIZ_MIN, BLOCKSIZ_MAX); + fprintf(stderr, " of %d (default) is suggested, because it fits in an ax25 frame.\n", BLOCKSIZ_DEFAULT); + exit(1); + } + break; + case 'i': + do_crc_only = 1; + break; + case 's': + is_stream = 1; + break; + case 'v': + do_version(); + exit(0); + break; + case 'h': + case '?': + usage((c == 'h')); + exit(0); + break; + } + } + + if (mode == 0) { + usage(1); + exit(0); + } + + if (optind < argc) { + get_filename(argv[optind]); + optind++; + } + if (optind < argc) { + usage(0); + exit(1); + } + + if (is_stream && !fdin_is_pipe) { + fprintf(stderr, "error: -s is only available in a pipe\n"); + exit(1); + } + + if (do_crc_only) + goto skiped_crc_only_tag_1; + + if (mode % 2) { + if (fdin_is_pipe) { + fprintf(stderr, "error: error: stdin must be a tty.\n"); + exit(1); + } + if (fdout_is_pipe && *filename) { + fprintf(stderr, "error: filename in a pipe does not make sense.\n"); + exit(1); + } + } else { + if (fdout_is_pipe) { + fprintf(stderr, "error: stdout must be a tty.\n"); + exit(1); + } + if (!fdin_is_pipe && !*filename) { + fprintf(stderr, "error: no file to send.\n"); + exit(1); + } + } + + signal(SIGQUIT, signal_handler); + + set_tty_flags(); + eol_convention(1); skiped_crc_only_tag_1: - switch (mode) { - case RECV_BIN: - if (do_crc_only) - ret = bget(); - else - ret = bput(); - break; - case SEND_BIN: - ret = bget(); - break; - case RECV_YAPP: - ret = yput(); - break; - case SEND_YAPP: - ret = yget(); - break; - case RECV_DIDADIT: - ret = rput(); - break; - case SEND_DIDADIT: - ret = rget(); - break; - } - - restore_defaults(); - if (*err_msg) { - fputs(err_msg, stderr); - } - exit(ret); - - return 0; + switch (mode) { + case RECV_BIN: + if (do_crc_only) + ret = bget(); + else + ret = bput(); + break; + case SEND_BIN: + ret = bget(); + break; + case RECV_YAPP: + ret = yput(); + break; + case SEND_YAPP: + ret = yget(); + break; + case RECV_DIDADIT: + ret = rput(); + break; + case SEND_DIDADIT: + ret = rget(); + break; + } + + restore_defaults(); + if (*err_msg) { + fputs(err_msg, stderr); + } + exit(ret); + + return 0; } -- cgit v1.2.3