173844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton//===-- OptionValueArgs.cpp -------------------------------------*- C++ -*-===// 273844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton// 373844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton// The LLVM Compiler Infrastructure 473844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton// 573844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton// This file is distributed under the University of Illinois Open Source 673844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton// License. See LICENSE.TXT for details. 773844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton// 873844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton//===----------------------------------------------------------------------===// 973844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton 1073844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton#include "lldb/Interpreter/OptionValueArgs.h" 1173844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton 1273844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton// C Includes 1373844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton// C++ Includes 1473844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton// Other libraries and framework includes 1573844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton// Project includes 1673844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton#include "lldb/Interpreter/Args.h" 1773844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton 1873844aa19a7360b662e2be710fc3c969d6c86606Greg Claytonusing namespace lldb; 1973844aa19a7360b662e2be710fc3c969d6c86606Greg Claytonusing namespace lldb_private; 2073844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton 2173844aa19a7360b662e2be710fc3c969d6c86606Greg Claytonsize_t 2273844aa19a7360b662e2be710fc3c969d6c86606Greg ClaytonOptionValueArgs::GetArgs (Args &args) 2373844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton{ 2473844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton const uint32_t size = m_values.size(); 2573844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton std::vector<const char *> argv; 2673844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton for (uint32_t i = 0; i<size; ++i) 2773844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton { 2873844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton const char *string_value = m_values[i]->GetStringValue (); 2973844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton if (string_value) 3073844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton argv.push_back(string_value); 3173844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton } 3273844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton 3373844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton if (argv.empty()) 3473844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton args.Clear(); 3573844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton else 3673844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton args.SetArguments(argv.size(), &argv[0]); 3773844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton return args.GetArgumentCount(); 3873844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton} 39