33 std::perror(
"Remove failed");
40 for(std::size_t i=0; list[i]!=
nullptr; i++)
42 if(strcmp(option, list[i])==0)
54 for(std::size_t i=0; list[i]!=
nullptr; i++)
56 if(strncmp(option, list[i], strlen(list[i]))==0)
58 prefix=std::string(list[i]);
73 if(opt_string.size()==3)
82 option.
optstring=std::string(opt_string, 2, std::string::npos);
89 if(opt_string.size()==2)
98 option.
optstring=std::string(opt_string, 1, std::string::npos);
110 if(!optnr.has_value())
131 while(std::cin.read(&ch, 1))
std::size_t get_optnr(const std::string &option)
Command line interpretation for goto-cc.
static bool prefix_in_list(const char *option, const char **list, std::string &prefix)
static bool in_list(const char *option, const char **list)
nonstd::optional< T > optionalt
bool has_prefix(const std::string &s, const std::string &prefix)
std::string get_temporary_file(const std::string &prefix, const std::string &suffix)
Substitute for mkstemps (OpenBSD standard) for Windows, where it is unavailable.
optionalt< std::size_t > getoptnr(char option) const
std::vector< optiont > options
void add_infile_arg(const std::string &arg)