Logo Search packages:      
Sourcecode: ardour version File versions  Download package

Glib::ArrayHandle< std::string > Glib::shell_parse_argv ( const std::string &  command_line  ) 

Parses a command line into an argument vector, in much the same way the shell would, but without many of the expansions the shell would perform (variable expansion, globs, operators, filename expansion, etc. are not supported). The results are defined to be the same as those you would get from a UNIX98 /bin/sh, as long as the input contains none of the unsupported shell expansions. If the input does contain such expansions, they are passed through literally.

Parameters:
command_line Command line to parse.
Returns:
Array of args (The generic ArrayHandle will be implicitly converted to any STL compatible container type).
Exceptions:
Glib::ShellError 

Definition at line 34 of file shell.cc.

{
  char**  argv  = 0;
  int     argc  = 0;
  GError* error = 0;

  g_shell_parse_argv(command_line.c_str(), &argc, &argv, &error);

  if(error)
    Glib::Error::throw_exception(error);

  return Glib::ArrayHandle<std::string>(argv, argc, Glib::OWNERSHIP_DEEP);
}


Generated by  Doxygen 1.6.0   Back to index