diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2011-04-22 23:38:59 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2011-04-22 23:38:59 +0900 |
| commit | 2c0476e6d9033cdf58b9899b165bbddd974e88db (patch) | |
| tree | 1476e6d5af13b4e90010a6011f5214273d248155 /src/OptionParser.cc | |
| parent | 211c4ea9f45db6482f76ccc9945ee19fc78f7e9d (diff) | |
Erase user and password specified in command-line from argv.
The user and password is masked with '*'.
Diffstat (limited to 'src/OptionParser.cc')
| -rw-r--r-- | src/OptionParser.cc | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/OptionParser.cc b/src/OptionParser.cc index 15e49fa7..c2a00eeb 100644 --- a/src/OptionParser.cc +++ b/src/OptionParser.cc @@ -138,7 +138,7 @@ std::string createOptstring(InputIterator first, InputIterator last) void OptionParser::parseArg (std::ostream& out, std::vector<std::string>& nonopts, - int argc, char* const argv[]) + int argc, char* argv[]) { size_t numPublicOption = countPublicOption(optionHandlers_.begin(), optionHandlers_.end()); @@ -165,6 +165,11 @@ void OptionParser::parseArg out << op->getName() << "="; if(optarg) { out << optarg; + if(op->getEraseAfterParse()) { + for(char* p = optarg; *p != '\0'; ++p) { + *p = '*'; + } + } } out << "\n"; } |
