📄 cmdarg.c
字号:
#include <stdio.h> /*stderr*/#include "cmdarg.h" /*cmdarg*/#include "defs.h" /*VERSION_...*/static const char *argv0;/* LIT(A) -> "10" */#define LIT_(s) #s#define LIT(s) LIT_(s)static voidshowUsage(void){ printf("modemu version " LIT(VERSION_MAJOR) "." LIT(VERSION_MINOR) "\n"); printf("usage: %s [-c comm_prog] [-d pty_master] [-e ATxxx]" " [-h] [-s] [-]\n", argv0);}voidcmdargParse(const char **argv){ argv0 = argv[0]; for (argv++; *argv != NULL; argv++) { if ((*argv)[0] == '-') { switch ((*argv)[1]) { case 'c': /* -c <commx args>*/ cmdarg.ttymode = CA_COMMX; cmdarg.commx = *++argv; if (cmdarg.commx == NULL) goto FEWARG; break; case 'd': /* -d <pty_device>*/ cmdarg.ttymode = CA_DEVGIVEN; cmdarg.dev = *++argv; if (cmdarg.dev == NULL) goto FEWARG; break; case 'e': /* -e <atcommands>*/ cmdarg.atcmd = *++argv; if (cmdarg.atcmd == NULL) goto FEWARG; break; case 'h': /* -h */ showUsage(); exit(0); case 's': /* -s */ cmdarg.ttymode = CA_SHOWDEV; break; case '\0': /* - */ cmdarg.ttymode = CA_STDINOUT; break; default: fprintf(stderr, "Unknown option -%c.\n", (*argv)[1]); showUsage(); exit(1); } } else { fprintf(stderr, "Error in command line.\n"); showUsage(); exit(1); } } return; FEWARG: fprintf(stderr, "'-%c' requires an argument.\n", (*--argv)[1]); exit(1);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -