#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include "cmdarg.h"
#include "config.h"
static void
stderr_log_fn(const char *msg, void *userdata)
{
(void) userdata;
fputs("modemu2k: ", stderr);
fputs(msg, stderr);
}
int
main(int argc, char *const argv[])
{
#ifdef SOCKS
SOCKSinit(argv[0]);
#endif
if (argc == 1)
{
showUsage(argv);
return 0;
}
if (ctx == NULL)
return EXIT_FAILURE;
struct st_cmdarg cmdarg;
cmdargParse(argc, argv, &cmdarg);
if (cmdarg.ttymode == CA_STDINOUT && cmdarg.atcmd == NULL)
{
showUsage(argv);
return 0;
}
if (cmdarg.verbose && cmdarg.ttymode == CA_COMM_PROGRAM && isatty(2))
{
fputs("modemu2k: -v with -c writes verbose output to the same terminal\n"
"as the comm program and would corrupt its display. Redirect\n"
"stderr to a file before retrying, e.g.:\n"
" modemu2k -v -c \"minicom ...\" 2>/tmp/m2k.log\n"
"and watch it live in another terminal with:\n"
" tail -f /tmp/m2k.log\n",
stderr);
return 2;
}
if (cmdarg.verbose)
{
fputs("modemu2k: verbose logging enabled (MISC|TELOPT)\n", stderr);
}
puts(PACKAGE_STRING " " VERSION);
puts("Enter 'at%q' (or Ctrl-C twice) to quit\n");
switch (cmdarg.ttymode)
{
case CA_SHOWDEV:
{
const char *slave;
{
return EXIT_FAILURE;
}
puts(slave);
return 0;
}
case CA_COMM_PROGRAM:
{
return EXIT_FAILURE;
}
break;
case CA_STDINOUT:
break;
case CA_DEVGIVEN:
{
return EXIT_FAILURE;
}
break;
case CA_LISTEN:
{
return EXIT_FAILURE;
}
break;
}
if (cmdarg.verbose)
fprintf(stderr, "Error in initialization commands.\r\n");
return 0;
}