Please report new issues athttps://github.com/DOCGroup
Calling ORB_init() is supposed to eat its arguments, but it re-orders the arguments it does not consume, more precisely: args: -Files file1 file2 file3 -SomethingOther huhu -SomethingOther2 hihi args stack now: - -Files file1 file2 file3 - -SomethingOther huhu - -SomethingOther2 hihi assume the -SomethingOther options gets parsed first: args stack now: - -Files file1 file2 file3 hihi <--- rearranged by consume_arg - -SomethingOther2 <--- rearranged by consume_arg huhu <--- rearranged by consume_arg - -SomethingOther <--- rearranged by consume_arg Thanks to Lothar Werzinger <lwerzinger@krones.de> for reporting this problem.
*** Bug 50 has been marked as a duplicate of this bug. ***
Luther, David and myself think that you can take care of this problem. It shouldn't be hard, please feel free to drop by my office if you have any questions.
Building ACE/TAO currently. Will soon fix bug. 990716.
ORB_init(...) makes extensive use of an ACE_Arg_Shifter object. This object correctly places 'consumed' arguments at the rear of argv. It also changes the value of argc so that it DOES NOT GO HIGH ENOUGH to include the consumed arguments. Therefore, if -ORB... style arguments are consumed, the programmer must use argc to find out how many arguments are left. I believe Lothar is using an integer copy of argc (or predefined value) that is trying to access 'higher' elements of argv - elements that were logically consumed. The correct behavior for consume_args() will re-arrange each group of arguments consumed - starting from the bottom up. ljb1@cs.wustl.edu (Luther Baker) 990819