MCPcopy Create free account
hub / github.com/FFmpeg/FFmpeg / main

Function main

tools/ffescape.c:61–189  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

59}
60
61int main(int argc, char **argv)
62{
63 AVBPrint src;
64 char *src_buf, *dst_buf;
65 const char *outfilename = NULL, *infilename = NULL;
66 FILE *outfile = NULL, *infile = NULL;
67 const char *prompt = "=> ";
68 enum AVEscapeMode escape_mode = AV_ESCAPE_MODE_AUTO;
69 int escape_flags = 0;
70 int level = 1;
71 int echo = 0;
72 char *special_chars = NULL;
73 int c;
74
75 while ((c = getopt(argc, argv, "ef:hi:l:o:m:p:s:")) != -1) {
76 switch (c) {
77 case 'e':
78 echo = 1;
79 break;
80 case 'h':
81 usage();
82 return 0;
83 case 'i':
84 infilename = optarg;
85 break;
86 case 'f':
87 if (!strcmp(optarg, "whitespace")) escape_flags |= AV_ESCAPE_FLAG_WHITESPACE;
88 else if (!strcmp(optarg, "strict")) escape_flags |= AV_ESCAPE_FLAG_STRICT;
89 else if (!strcmp(optarg, "xml_single_quotes")) escape_flags |= AV_ESCAPE_FLAG_XML_SINGLE_QUOTES;
90 else if (!strcmp(optarg, "xml_double_quotes")) escape_flags |= AV_ESCAPE_FLAG_XML_DOUBLE_QUOTES;
91 else {
92 av_log(NULL, AV_LOG_ERROR,
93 "Invalid value '%s' for option -f, "
94 "valid arguments are 'whitespace', and 'strict'\n", optarg);
95 return 1;
96 }
97 break;
98 case 'l':
99 {
100 char *tail;
101 long int li = strtol(optarg, &tail, 10);
102 if (*tail || li > INT_MAX || li < 0) {
103 av_log(NULL, AV_LOG_ERROR,
104 "Invalid value '%s' for option -l, argument must be a non negative integer\n",
105 optarg);
106 return 1;
107 }
108 level = li;
109 break;
110 }
111 case 'm':
112 if (!strcmp(optarg, "auto")) escape_mode = AV_ESCAPE_MODE_AUTO;
113 else if (!strcmp(optarg, "backslash")) escape_mode = AV_ESCAPE_MODE_BACKSLASH;
114 else if (!strcmp(optarg, "quote")) escape_mode = AV_ESCAPE_MODE_QUOTE;
115 else if (!strcmp(optarg, "xml")) escape_mode = AV_ESCAPE_MODE_XML;
116 else {
117 av_log(NULL, AV_LOG_ERROR,
118 "Invalid value '%s' for option -m, "

Callers

nothing calls this directly

Calls 9

getoptFunction · 0.85
av_logFunction · 0.85
av_bprint_initFunction · 0.85
av_bprint_charsFunction · 0.85
av_bprint_is_completeFunction · 0.85
av_bprint_finalizeFunction · 0.85
av_escapeFunction · 0.85
usageFunction · 0.70
av_freeFunction · 0.70

Tested by

no test coverage detected