Enabled use of Xorriso_parse_line() with xorriso==NULL

This commit is contained in:
2012-10-03 12:43:08 +00:00
parent 964ef67306
commit 4b83472012
3 changed files with 37 additions and 14 deletions

View File

@ -364,8 +364,18 @@ int Xorriso_execute_option(struct XorrisO *xorriso, char *line, int flag);
/* Parse a text line into words. This parsing obeys the same rules as
command line parsing but allows to skip a prefix, to use a user provided
set of separator characters, and to restrict the number of parsed words.
If parameter xorriso is NULL, then this call is safe for usage by
a concurrent thread while a xorriso API call is being executed.
@since 1.2.6
@param xorriso The context object which provides settings for parsing
and output channels for error messages.
May be NULL in order to allow concurrent execution e.g.
by a callback function of Xorriso_start_msg_watcher().
If xorriso is NULL then:
flag bit1-bit4 are in effect even if bit0 is not set.
flag bit5 and bit6 may not be set.
@param line A text of one or more words according to man xorriso
paragraph "Command processing" up to and including
"Backslash Interpretation".
@ -391,8 +401,8 @@ int Xorriso_execute_option(struct XorrisO *xorriso, char *line, int flag);
Do not forget to dispose the allocated memory by a
call to Xorriso__dispose_words().
@param flag Bitfield for control purposes
bit0= Override setting of -backslash_codes
bit1-4= With bit1: backslash behavior
bit0= Override setting of -backslash_codes.
bit1-4= With bit0: backslash behavior
0= off
1= in_double_quotes
2= in_quotes
@ -400,10 +410,13 @@ int Xorriso_execute_option(struct XorrisO *xorriso, char *line, int flag);
bit5= Prepend the program name as (*argv)[0], so that
*argv is suitable for Xorriso_interpreter()
and other calls which expect this.
Not allowed if xorriso is NULL.
bit6= Issue failure message in case of return 0
Not allowed if xorriso is NULL.
@return <=0 means error and invalidity of *argv:
0 = Input format error. E.g. bad quotation mark.
-1 = Lack of resources. E.g. memory.
-2 = Improper combination of call parameters.
>0 means success but not necessarily a valid result:
1 = Result in argc and argv is valid (but may
be empty by argc == 0, argv == NULL).