void Preprocessor::addMacro(const LineIterator& line) { *line = line->substr(1); size_t pos = line->find(":="); if(pos == std::string::npos) return handleSpecialMacro(line); std::string name = line->substr(0, pos); trim(name); std::string replacement = line->substr(pos + 2); trim(replacement); parseEscapes(replacement); aliases.push_back(Alias(name, replacement)); }
int Params::evalModify(int opt, const std::string& optarg) { int rc = 0; switch (action_) { case Action::none: action_ = Action::modify; // fallthrough case Action::modify: case Action::extract: case Action::insert: if (opt == 'c') jpegComment_ = parseEscapes(optarg); if (opt == 'm') cmdFiles_.push_back(optarg); // parse the files later if (opt == 'M') cmdLines_.push_back(optarg); // parse the commands later break; default: std::cerr << progname() << ": " << _("Option") << " -" << (char)opt << " " << _("is not compatible with a previous option\n"); rc = 1; break; } return rc; } // Params::evalModify