diff options
-rw-r--r-- | Source/CPack/OSXScriptLauncher.cxx | 8 | ||||
-rw-r--r-- | Source/CPack/cmCPackBundleGenerator.cxx | 2 | ||||
-rw-r--r-- | Source/CPack/cmCPackDragNDropGenerator.cxx | 10 | ||||
-rw-r--r-- | Source/CPack/cmCPackOSXX11Generator.cxx | 6 | ||||
-rw-r--r-- | Source/CPack/cmCPackPKGGenerator.cxx | 2 | ||||
-rw-r--r-- | Source/CPack/cmCPackPackageMakerGenerator.cxx | 8 | ||||
-rw-r--r-- | Source/CPack/cmCPackProductBuildGenerator.cxx | 10 | ||||
-rw-r--r-- | Source/cmFindProgramCommand.cxx | 2 | ||||
-rw-r--r-- | Source/cmGlobalXCodeGenerator.cxx | 65 | ||||
-rw-r--r-- | Source/cmLocalXCodeGenerator.h | 2 | ||||
-rw-r--r-- | Source/cmMachO.cxx | 4 | ||||
-rw-r--r-- | Source/cmXCodeObject.cxx | 8 | ||||
-rw-r--r-- | Source/cmXCodeObject.h | 4 | ||||
-rw-r--r-- | Source/cmakexbuild.cxx | 4 |
14 files changed, 68 insertions, 67 deletions
diff --git a/Source/CPack/OSXScriptLauncher.cxx b/Source/CPack/OSXScriptLauncher.cxx index b48bf12..d3de02b 100644 --- a/Source/CPack/OSXScriptLauncher.cxx +++ b/Source/CPack/OSXScriptLauncher.cxx @@ -34,7 +34,7 @@ int main(int argc, char* argv[]) } fileName = CFSTR("RuntimeScript"); if (!(scriptFileURL = - CFBundleCopyResourceURL(appBundle, fileName, NULL, NULL))) { + CFBundleCopyResourceURL(appBundle, fileName, nullptr, nullptr))) { DebugError("CFBundleCopyResourceURL failed"); return 1; } @@ -71,7 +71,7 @@ int main(int argc, char* argv[]) for (cc = 1; cc < argc; ++cc) { args.push_back(argv[cc]); } - args.push_back(0); + args.push_back(nullptr); cmsysProcess* cp = cmsysProcess_New(); cmsysProcess_SetCommand(cp, &*args.begin()); @@ -83,7 +83,7 @@ int main(int argc, char* argv[]) std::vector<char> tempOutput; char* data; int length; - while (cmsysProcess_WaitForData(cp, &data, &length, 0)) { + while (cmsysProcess_WaitForData(cp, &data, &length, nullptr)) { // Translate NULL characters in the output into valid text. for (int i = 0; i < length; ++i) { if (data[i] == '\0') { @@ -93,7 +93,7 @@ int main(int argc, char* argv[]) std::cout.write(data, length); } - cmsysProcess_WaitForExit(cp, 0); + cmsysProcess_WaitForExit(cp, nullptr); bool result = true; if (cmsysProcess_GetState(cp) == cmsysProcess_State_Exited) { diff --git a/Source/CPack/cmCPackBundleGenerator.cxx b/Source/CPack/cmCPackBundleGenerator.cxx index d538901..bbf2a50 100644 --- a/Source/CPack/cmCPackBundleGenerator.cxx +++ b/Source/CPack/cmCPackBundleGenerator.cxx @@ -19,7 +19,7 @@ cmCPackBundleGenerator::~cmCPackBundleGenerator() int cmCPackBundleGenerator::InitializeInternal() { const char* name = this->GetOption("CPACK_BUNDLE_NAME"); - if (0 == name) { + if (nullptr == name) { cmCPackLogger(cmCPackLog::LOG_ERROR, "CPACK_BUNDLE_NAME must be set to use the Bundle generator." << std::endl); diff --git a/Source/CPack/cmCPackDragNDropGenerator.cxx b/Source/CPack/cmCPackDragNDropGenerator.cxx index 8758d32..88204c8 100644 --- a/Source/CPack/cmCPackDragNDropGenerator.cxx +++ b/Source/CPack/cmCPackDragNDropGenerator.cxx @@ -242,9 +242,9 @@ bool cmCPackDragNDropGenerator::RunCommand(std::ostringstream& command, { int exit_code = 1; - bool result = - cmSystemTools::RunSingleCommand(command.str().c_str(), output, output, - &exit_code, 0, this->GeneratorVerbose, 0); + bool result = cmSystemTools::RunSingleCommand(command.str().c_str(), output, + output, &exit_code, nullptr, + this->GeneratorVerbose, 0); if (!result || exit_code) { cmCPackLogger(cmCPackLog::LOG_ERROR, "Error executing: " << command.str() @@ -553,10 +553,10 @@ int cmCPackDragNDropGenerator::CreateDMG(const std::string& src_dir, header_data.push_back(languages.size()); for (size_t i = 0; i < languages.size(); ++i) { CFStringRef language_cfstring = CFStringCreateWithCString( - NULL, languages[i].c_str(), kCFStringEncodingUTF8); + nullptr, languages[i].c_str(), kCFStringEncodingUTF8); CFStringRef iso_language = CFLocaleCreateCanonicalLanguageIdentifierFromString( - NULL, language_cfstring); + nullptr, language_cfstring); if (!iso_language) { cmCPackLogger(cmCPackLog::LOG_ERROR, languages[i] << " is not a recognized language" << std::endl); diff --git a/Source/CPack/cmCPackOSXX11Generator.cxx b/Source/CPack/cmCPackOSXX11Generator.cxx index 8ea88a8..e75061e 100644 --- a/Source/CPack/cmCPackOSXX11Generator.cxx +++ b/Source/CPack/cmCPackOSXX11Generator.cxx @@ -154,9 +154,9 @@ int cmCPackOSXX11Generator::PackageFiles() int numTries = 10; bool res = false; while (numTries > 0) { - res = - cmSystemTools::RunSingleCommand(dmgCmd.str().c_str(), &output, &output, - &retVal, 0, this->GeneratorVerbose, 0); + res = cmSystemTools::RunSingleCommand(dmgCmd.str().c_str(), &output, + &output, &retVal, nullptr, + this->GeneratorVerbose, 0); if (res && !retVal) { numTries = -1; break; diff --git a/Source/CPack/cmCPackPKGGenerator.cxx b/Source/CPack/cmCPackPKGGenerator.cxx index 70ae267..321b6a7 100644 --- a/Source/CPack/cmCPackPKGGenerator.cxx +++ b/Source/CPack/cmCPackPKGGenerator.cxx @@ -70,7 +70,7 @@ void cmCPackPKGGenerator::WriteDistributionFile(const char* metapackageFile) std::map<std::string, cmCPackComponentGroup>::iterator groupIt; for (groupIt = this->ComponentGroups.begin(); groupIt != this->ComponentGroups.end(); ++groupIt) { - if (groupIt->second.ParentGroup == 0) { + if (groupIt->second.ParentGroup == nullptr) { CreateChoiceOutline(groupIt->second, xout); } } diff --git a/Source/CPack/cmCPackPackageMakerGenerator.cxx b/Source/CPack/cmCPackPackageMakerGenerator.cxx index 8db7cfb..6624b16 100644 --- a/Source/CPack/cmCPackPackageMakerGenerator.cxx +++ b/Source/CPack/cmCPackPackageMakerGenerator.cxx @@ -294,9 +294,9 @@ int cmCPackPackageMakerGenerator::PackageFiles() int numTries = 10; bool res = false; while (numTries > 0) { - res = - cmSystemTools::RunSingleCommand(dmgCmd.str().c_str(), &output, &output, - &retVal, 0, this->GeneratorVerbose, 0); + res = cmSystemTools::RunSingleCommand(dmgCmd.str().c_str(), &output, + &output, &retVal, nullptr, + this->GeneratorVerbose, 0); if (res && !retVal) { numTries = -1; break; @@ -466,7 +466,7 @@ bool cmCPackPackageMakerGenerator::RunPackageMaker(const char* command, std::string output; int retVal = 1; bool res = cmSystemTools::RunSingleCommand( - command, &output, &output, &retVal, 0, this->GeneratorVerbose, 0); + command, &output, &output, &retVal, nullptr, this->GeneratorVerbose, 0); cmCPackLogger(cmCPackLog::LOG_VERBOSE, "Done running package maker" << std::endl); if (!res || retVal) { diff --git a/Source/CPack/cmCPackProductBuildGenerator.cxx b/Source/CPack/cmCPackProductBuildGenerator.cxx index 1389eaa..ed4463c 100644 --- a/Source/CPack/cmCPackProductBuildGenerator.cxx +++ b/Source/CPack/cmCPackProductBuildGenerator.cxx @@ -54,7 +54,7 @@ int cmCPackProductBuildGenerator::PackageFiles() } else { if (!this->GenerateComponentPackage(basePackageDir, this->GetOption("CPACK_PACKAGE_NAME"), - toplevel, NULL)) { + toplevel, nullptr)) { return 0; } } @@ -145,9 +145,9 @@ bool cmCPackProductBuildGenerator::RunProductBuild(const std::string& command) cmCPackLogger(cmCPackLog::LOG_VERBOSE, "Execute: " << command << std::endl); std::string output, error_output; int retVal = 1; - bool res = - cmSystemTools::RunSingleCommand(command.c_str(), &output, &error_output, - &retVal, 0, this->GeneratorVerbose, 0); + bool res = cmSystemTools::RunSingleCommand(command.c_str(), &output, + &error_output, &retVal, nullptr, + this->GeneratorVerbose, 0); cmCPackLogger(cmCPackLog::LOG_VERBOSE, "Done running command" << std::endl); if (!res || retVal) { cmGeneratedFileStream ofs(tmpFile.c_str()); @@ -174,7 +174,7 @@ bool cmCPackProductBuildGenerator::GenerateComponentPackage( cmCPackLogger(cmCPackLog::LOG_OUTPUT, "- Building component package: " << packageFile << std::endl); - const char* comp_name = component ? component->Name.c_str() : NULL; + const char* comp_name = component ? component->Name.c_str() : nullptr; const char* preflight = this->GetComponentScript("PREFLIGHT", comp_name); const char* postflight = this->GetComponentScript("POSTFLIGHT", comp_name); diff --git a/Source/cmFindProgramCommand.cxx b/Source/cmFindProgramCommand.cxx index a290229..a5dc1c6 100644 --- a/Source/cmFindProgramCommand.cxx +++ b/Source/cmFindProgramCommand.cxx @@ -229,7 +229,7 @@ std::string cmFindProgramCommand::GetBundleExecutable( // returned executableURL is relative to <appbundle>/Contents/MacOS/ CFURLRef executableURL = CFBundleCopyExecutableURL(appBundle); - if (executableURL != NULL) { + if (executableURL != nullptr) { const int MAX_OSX_PATH_SIZE = 1024; char buffer[MAX_OSX_PATH_SIZE]; diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx index 7bc352b..2a05d4e 100644 --- a/Source/cmGlobalXCodeGenerator.cxx +++ b/Source/cmGlobalXCodeGenerator.cxx @@ -79,7 +79,7 @@ class cmGlobalXCodeGenerator::BuildObjectListOrString public: BuildObjectListOrString(cmGlobalXCodeGenerator* gen, bool buildObjectList) : Generator(gen) - , Group(0) + , Group(nullptr) , Empty(true) { if (buildObjectList) { @@ -140,10 +140,10 @@ cmGlobalXCodeGenerator::cmGlobalXCodeGenerator( this->VersionString = version_string; this->XcodeVersion = version_number; - this->RootObject = 0; - this->MainGroupChildren = 0; - this->CurrentMakefile = 0; - this->CurrentLocalGenerator = 0; + this->RootObject = nullptr; + this->MainGroupChildren = nullptr; + this->CurrentMakefile = nullptr; + this->CurrentLocalGenerator = nullptr; this->XcodeBuildCommandInitialized = false; this->ObjectDirArchDefault = "$(CURRENT_ARCH)"; @@ -161,15 +161,16 @@ cmGlobalGenerator* cmGlobalXCodeGenerator::Factory::CreateGlobalGenerator( const std::string& name, cmake* cm) const { if (name != GetActualName()) - return 0; + return nullptr; #if defined(CMAKE_BUILD_WITH_CMAKE) cmXcodeVersionParser parser; std::string versionFile; { std::string out; std::string::size_type pos; - if (cmSystemTools::RunSingleCommand("xcode-select --print-path", &out, 0, - 0, 0, cmSystemTools::OUTPUT_NONE) && + if (cmSystemTools::RunSingleCommand("xcode-select --print-path", &out, + nullptr, nullptr, nullptr, + cmSystemTools::OUTPUT_NONE) && (pos = out.find(".app/"), pos != std::string::npos)) { versionFile = out.substr(0, pos + 5) + "Contents/version.plist"; } @@ -391,7 +392,7 @@ void cmGlobalXCodeGenerator::AddExtraTargets( cmMakefile* mf = root->GetMakefile(); // Add ALL_BUILD - const char* no_working_directory = 0; + const char* no_working_directory = nullptr; std::vector<std::string> no_depends; cmTarget* allbuild = mf->AddUtilityCommand("ALL_BUILD", true, no_depends, no_working_directory, @@ -1018,7 +1019,7 @@ bool cmGlobalXCodeGenerator::CreateXCodeTargets( } std::string const& obj = (*oi)->GetFullPath(); cmXCodeObject* xsf = - this->CreateXCodeSourceFileFromPath(obj, gtgt, "", 0); + this->CreateXCodeSourceFileFromPath(obj, gtgt, "", nullptr); externalObjFiles.push_back(xsf); } } @@ -1028,10 +1029,10 @@ bool cmGlobalXCodeGenerator::CreateXCodeTargets( bool isBundleTarget = gtgt->GetPropertyAsBool("MACOSX_BUNDLE"); bool isCFBundleTarget = gtgt->IsCFBundleOnApple(); - cmXCodeObject* buildFiles = 0; + cmXCodeObject* buildFiles = nullptr; // create source build phase - cmXCodeObject* sourceBuildPhase = 0; + cmXCodeObject* sourceBuildPhase = nullptr; if (!sourceFiles.empty()) { sourceBuildPhase = this->CreateObject(cmXCodeObject::PBXSourcesBuildPhase); @@ -1049,7 +1050,7 @@ bool cmGlobalXCodeGenerator::CreateXCodeTargets( } // create header build phase - only for framework targets - cmXCodeObject* headerBuildPhase = 0; + cmXCodeObject* headerBuildPhase = nullptr; if (!headerFiles.empty() && isFrameworkTarget) { headerBuildPhase = this->CreateObject(cmXCodeObject::PBXHeadersBuildPhase); @@ -1067,7 +1068,7 @@ bool cmGlobalXCodeGenerator::CreateXCodeTargets( } // create resource build phase - only for framework or bundle targets - cmXCodeObject* resourceBuildPhase = 0; + cmXCodeObject* resourceBuildPhase = nullptr; if (!resourceFiles.empty() && (isFrameworkTarget || isBundleTarget || isCFBundleTarget)) { resourceBuildPhase = @@ -1177,7 +1178,7 @@ bool cmGlobalXCodeGenerator::CreateXCodeTargets( } // create framework build phase - cmXCodeObject* frameworkBuildPhase = 0; + cmXCodeObject* frameworkBuildPhase = nullptr; if (!externalObjFiles.empty()) { frameworkBuildPhase = this->CreateObject(cmXCodeObject::PBXFrameworksBuildPhase); @@ -1278,7 +1279,7 @@ cmXCodeObject* cmGlobalXCodeGenerator::CreateBuildPhase( const std::vector<cmCustomCommand>& commands) { if (commands.size() == 0 && strcmp(name, "CMake ReRun") != 0) { - return 0; + return nullptr; } cmXCodeObject* buildPhase = this->CreateObject(cmXCodeObject::PBXShellScriptBuildPhase); @@ -1754,8 +1755,8 @@ void cmGlobalXCodeGenerator::CreateBuildSettings(cmGeneratorTarget* gtgt, const char* version = gtgt->GetProperty("VERSION"); const char* soversion = gtgt->GetProperty("SOVERSION"); if (!gtgt->HasSOName(configName) || gtgt->IsFrameworkOnApple()) { - version = 0; - soversion = 0; + version = nullptr; + soversion = nullptr; } if (version && !soversion) { soversion = version; @@ -2038,7 +2039,7 @@ void cmGlobalXCodeGenerator::CreateBuildSettings(cmGeneratorTarget* gtgt, bool same_gflags = true; std::map<std::string, std::string> gflags; - std::string const* last_gflag = 0; + std::string const* last_gflag = nullptr; std::string optLevel = "0"; // Minimal map of flags to build settings. @@ -2108,7 +2109,7 @@ void cmGlobalXCodeGenerator::CreateBuildSettings(cmGeneratorTarget* gtgt, } // Add Fortran source format attribute if property is set. - const char* format = 0; + const char* format = nullptr; const char* tgtfmt = gtgt->GetProperty("Fortran_FORMAT"); switch (cmOutputConverter::GetFortranFormat(tgtfmt)) { case cmOutputConverter::FortranFormatFixed: @@ -2268,8 +2269,8 @@ cmXCodeObject* cmGlobalXCodeGenerator::CreateUtilityTarget( target->SetComment(gtgt->GetName()); cmXCodeObject* buildPhases = this->CreateObject(cmXCodeObject::OBJECT_LIST); std::vector<cmXCodeObject*> emptyContentVector; - this->CreateCustomCommands(buildPhases, 0, 0, 0, emptyContentVector, 0, - gtgt); + this->CreateCustomCommands(buildPhases, nullptr, nullptr, nullptr, + emptyContentVector, nullptr, gtgt); target->AddAttribute("buildPhases", buildPhases); this->AddConfigurations(target, gtgt); cmXCodeObject* dependencies = this->CreateObject(cmXCodeObject::OBJECT_LIST); @@ -2283,7 +2284,7 @@ cmXCodeObject* cmGlobalXCodeGenerator::CreateUtilityTarget( if (gtgt->GetType() == cmStateEnums::UTILITY) { std::vector<cmSourceFile*> sources; if (!gtgt->GetConfigCommonSourceFiles(sources)) { - return 0; + return nullptr; } for (std::vector<cmSourceFile*>::const_iterator i = sources.begin(); @@ -2383,7 +2384,7 @@ const char* cmGlobalXCodeGenerator::GetTargetFileType( default: break; } - return 0; + return nullptr; } const char* cmGlobalXCodeGenerator::GetTargetProductType( @@ -2418,14 +2419,14 @@ const char* cmGlobalXCodeGenerator::GetTargetProductType( default: break; } - return 0; + return nullptr; } cmXCodeObject* cmGlobalXCodeGenerator::CreateXCodeTarget( cmGeneratorTarget* gtgt, cmXCodeObject* buildPhases) { if (gtgt->GetType() == cmStateEnums::INTERFACE_LIBRARY) { - return 0; + return nullptr; } cmXCodeObject* target = this->CreateObject(cmXCodeObject::PBXNativeTarget); target->AddAttribute("buildPhases", buildPhases); @@ -2469,13 +2470,13 @@ cmXCodeObject* cmGlobalXCodeGenerator::FindXCodeTarget( cmGeneratorTarget const* t) { if (!t) { - return 0; + return nullptr; } std::map<cmGeneratorTarget const*, cmXCodeObject*>::const_iterator const i = this->XCodeObjectMap.find(t); if (i == this->XCodeObjectMap.end()) { - return 0; + return nullptr; } return i->second; } @@ -2747,7 +2748,7 @@ bool cmGlobalXCodeGenerator::CreateGroups( cmXCodeObject* cmGlobalXCodeGenerator::CreatePBXGroup(cmXCodeObject* parent, std::string name) { - cmXCodeObject* parentChildren = NULL; + cmXCodeObject* parentChildren = nullptr; if (parent) parentChildren = parent->GetObject("children"); cmXCodeObject* group = this->CreateObject(cmXCodeObject::PBXGroup); @@ -2781,7 +2782,7 @@ cmXCodeObject* cmGlobalXCodeGenerator::CreateOrGetPBXGroup( } it = this->TargetGroup.find(target); - cmXCodeObject* tgroup = 0; + cmXCodeObject* tgroup = nullptr; if (it != this->TargetGroup.end()) { tgroup = it->second; } else { @@ -2847,8 +2848,8 @@ bool cmGlobalXCodeGenerator::CreateXCodeObjects( cmLocalGenerator* root, std::vector<cmLocalGenerator*>& generators) { this->ClearXCodeObjects(); - this->RootObject = 0; - this->MainGroupChildren = 0; + this->RootObject = nullptr; + this->MainGroupChildren = nullptr; cmXCodeObject* group = this->CreateObject(cmXCodeObject::ATTRIBUTE_GROUP); group->AddAttribute("COPY_PHASE_STRIP", this->CreateString("NO")); cmXCodeObject* listObjs = this->CreateObject(cmXCodeObject::OBJECT_LIST); diff --git a/Source/cmLocalXCodeGenerator.h b/Source/cmLocalXCodeGenerator.h index 4ca02a9..b05eab7 100644 --- a/Source/cmLocalXCodeGenerator.h +++ b/Source/cmLocalXCodeGenerator.h @@ -36,7 +36,7 @@ public: virtual void GenerateInstallRules(); virtual void ComputeObjectFilenames( std::map<cmSourceFile const*, std::string>& mapping, - cmGeneratorTarget const* gt = 0); + cmGeneratorTarget const* gt = nullptr); private: }; diff --git a/Source/cmMachO.cxx b/Source/cmMachO.cxx index a4350f7..3706dd3 100644 --- a/Source/cmMachO.cxx +++ b/Source/cmMachO.cxx @@ -283,7 +283,7 @@ bool cmMachOInternal::read_mach_o(uint32_t file_offset) return false; } - cmMachOHeaderAndLoadCommands* f = NULL; + cmMachOHeaderAndLoadCommands* f = nullptr; if (magic == MH_CIGAM || magic == MH_MAGIC) { bool swap = false; if (magic == MH_CIGAM) { @@ -313,7 +313,7 @@ bool cmMachOInternal::read_mach_o(uint32_t file_offset) // External class implementation. cmMachO::cmMachO(const char* fname) - : Internal(0) + : Internal(nullptr) { this->Internal = new cmMachOInternal(fname); } diff --git a/Source/cmXCodeObject.cxx b/Source/cmXCodeObject.cxx index 0def8c3..957adb4 100644 --- a/Source/cmXCodeObject.cxx +++ b/Source/cmXCodeObject.cxx @@ -42,8 +42,8 @@ cmXCodeObject::~cmXCodeObject() cmXCodeObject::cmXCodeObject(PBXType ptype, Type type) { this->Version = 15; - this->Target = 0; - this->Object = 0; + this->Target = nullptr; + this->Object = nullptr; this->IsA = ptype; @@ -71,7 +71,7 @@ cmXCodeObject::cmXCodeObject(PBXType ptype, Type type) this->TypeValue = type; if (this->TypeValue == OBJECT) { - this->AddAttribute("isa", 0); + this->AddAttribute("isa", nullptr); } } @@ -86,7 +86,7 @@ bool cmXCodeObject::IsEmpty() const return this->ObjectAttributes.empty(); case OBJECT_REF: case OBJECT: - return this->Object == 0; + return this->Object == nullptr; } return true; // unreachable, but quiets warnings } diff --git a/Source/cmXCodeObject.h b/Source/cmXCodeObject.h index b92e6e3..b51aac7 100644 --- a/Source/cmXCodeObject.h +++ b/Source/cmXCodeObject.h @@ -114,7 +114,7 @@ public: if (i != this->ObjectAttributes.end()) { return i->second; } - return 0; + return nullptr; } // search the attribute list for an object of the specified type cmXCodeObject* GetObject(cmXCodeObject::PBXType t) const @@ -126,7 +126,7 @@ public: return o; } } - return 0; + return nullptr; } void CopyAttributes(cmXCodeObject*); diff --git a/Source/cmakexbuild.cxx b/Source/cmakexbuild.cxx index 72da456..20ead47 100644 --- a/Source/cmakexbuild.cxx +++ b/Source/cmakexbuild.cxx @@ -47,7 +47,7 @@ int RunXCode(std::vector<const char*>& argv, bool& hitbug) } pipe = cmSystemTools::WaitForLine(cp, line, 100, out, err); } - cmsysProcess_WaitForExit(cp, 0); + cmsysProcess_WaitForExit(cp, nullptr); if (cmsysProcess_GetState(cp) == cmsysProcess_State_Exited) { return cmsysProcess_GetExitValue(cp); } @@ -64,7 +64,7 @@ int main(int ac, char* av[]) for (int i = 1; i < ac; i++) { argv.push_back(av[i]); } - argv.push_back(0); + argv.push_back(nullptr); bool hitbug = true; int ret = 0; while (hitbug) { |