#include "acidlaunch.h"
/*ArgList::ArgList()
{}*/
void ArgList::append(const char* str)
{
char* arg;
int j=0;
arg = new char[strlen(str)];
while(1)
{
int i=0;
/* copy a line from str to arg */
// skip the 'file:' URI header if found
if(!strncmp((str + j), "file:", 5))
{
j+=5;
}
while(str[j]!='\r' && str[j]!='\n' && str[j]!=0 && j < strlen(str))
{
arg[i++]=str[j++];
}
arg[i]='\0'; // terminate the arg string
//cout << "arg found: " << arg << endl;
while((str[j]=='\r' || str[j]=='\n') && j < strlen(str))
{
j++;
}
_args.push_back(new string(arg)); // add the arg to the list
if(str[j]=='\0') break; // return char = end of list
}
delete[] arg;
}
const string& ArgList::get(int arg) const
{
return *_args[arg];
}
int ArgList::size() const
{
return _args.size();
}
string ArgList::getArgString()
{
string arglist;
int i;
for(i=0; i<_args.size(); i++)
{
arglist+="'";
arglist+=*_args[i];
arglist+="' ";
}
return arglist;
}
ArgList::~ArgList()
{
int i;
for(i=0; i<_args.size(); i++)
{
delete _args[i];
}
}
syntax highlighted by Code2HTML, v. 0.9.1