|
|
@@ -77,15 +77,15 @@ str_tokenizer_next(struct str_tokenizer *st)
|
|
|
struct str str;
|
|
|
|
|
|
if ( st == NULL ) {
|
|
|
- goto ret_empty;
|
|
|
+ goto ret_err;
|
|
|
}
|
|
|
|
|
|
if ( st->cur >= st->str.size ) {
|
|
|
- goto ret_empty;
|
|
|
+ goto ret_done;
|
|
|
}
|
|
|
|
|
|
if ( st->str.data[st->cur] == '\0' ) {
|
|
|
- goto ret_empty;
|
|
|
+ goto ret_done;
|
|
|
}
|
|
|
|
|
|
str = st->str;
|
|
|
@@ -109,6 +109,16 @@ ret_empty:
|
|
|
str.data = "";
|
|
|
str.size = 0;
|
|
|
return str;
|
|
|
+
|
|
|
+ret_done:
|
|
|
+ str.data = "";
|
|
|
+ str.size = (size_t) -1;
|
|
|
+ return str;
|
|
|
+
|
|
|
+ret_err:
|
|
|
+ str.data = "";
|
|
|
+ str.size = (size_t) -2;
|
|
|
+ return str;
|
|
|
}
|
|
|
|
|
|
#endif /* defined(IMP) || defined(IMP_STR) */
|