static int test_argv_buf (void) { pid_t parent_pid = ACE_OS::getpid (); ACE_TCHAR *l_argv[3]; ACE_TCHAR pid_str[100]; // Store the parent's process id so we can pass it to the child // portably. Also, pass the test number, as well. ACE_OS::sprintf (pid_str, ACE_TEXT ("-p %ld -t %d"), static_cast <long> (parent_pid), 1); // We're going to create a new process that runs this program again, // so we need to indicate that it's the child. const ACE_TCHAR *t = ACE_TEXT (".") ACE_DIRECTORY_SEPARATOR_STR ACE_TEXT ("Signal_Test") ACE_PLATFORM_EXE_SUFFIX ACE_TEXT (" -c"); l_argv[0] = const_cast <ACE_TCHAR *> (t); l_argv[1] = pid_str; l_argv[2] = 0; ACE_ARGV my_argv (l_argv); // This shouldn't have any quotes in it. ACE_DEBUG ((LM_DEBUG, "%s\n", my_argv.buf ())); ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("argc: %d\n"), my_argv.argc ())); return 0; }
int main(int argc, char **argv) { ros::init(argc, argv, "phase_corr", ros::init_options::AnonymousName); if (ros::names::remap("image") == "image") { ROS_WARN("Topic 'image' has not been remapped! Typical command-line usage:\n" "\t$ rosrun image_rotate image_rotate image:=<image topic> [transport]"); } nodelet::Loader manager(false); nodelet::M_string remappings; nodelet::V_string my_argv(argv + 1, argv + argc); my_argv.push_back("--shutdown-on-close"); // Internal manager.load(ros::this_node::getName(), "phase_corr/phase_corr", remappings, my_argv); ros::spin(); return 0; }