Added "tee +INT -INT"
authorClifford Wolf <clifford@clifford.at>
Tue, 6 Sep 2016 15:43:24 +0000 (17:43 +0200)
committerClifford Wolf <clifford@clifford.at>
Tue, 6 Sep 2016 15:43:24 +0000 (17:43 +0200)
passes/cmds/tee.cc

index a0484090fe80fae763f2b999921df162f070a306..3db2dbf0e484f2ee70ff7db069336fb9d64119fb 100644 (file)
@@ -45,10 +45,14 @@ struct TeePass : public Pass {
                log("    -a logfile\n");
                log("        Write output to this file, append if exists.\n");
                log("\n");
+               log("    +INT, -INT\n");
+               log("        Add/subract INT from the -v setting for this command.\n");
+               log("\n");
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
                std::vector<FILE*> backup_log_files, files_to_close;
+               int backup_log_verbose_level = log_verbose_level;
                backup_log_files = log_files;
 
                size_t argidx;
@@ -70,6 +74,10 @@ struct TeePass : public Pass {
                                files_to_close.push_back(f);
                                continue;
                        }
+                       if (GetSize(args[argidx]) >= 2 && (args[argidx][0] == '-' || args[argidx][0] == '+') && args[argidx][1] >= '0' && args[argidx][1] <= '9') {
+                               log_verbose_level += atoi(args[argidx].c_str());
+                               continue;
+                       }
                        break;
                }
 
@@ -85,6 +93,8 @@ struct TeePass : public Pass {
 
                for (auto cf : files_to_close)
                        fclose(cf);
+
+               log_verbose_level = backup_log_verbose_level;
                log_files = backup_log_files;
        }
 } TeePass;