#endif
/* Parse delimited vector string. If string starts with { then string
- is delimited by balenced parenthesis. Other string is delimited by
+ is delimited by balanced parenthesis. Other string is delimited by
white space. {} were chosen since they are special to the shell. */
static uword
unformat_string (unformat_input_t * input,
vec_free (s);
return 0;
}
+ /* Make sure something was processed. */
+ else if (s == 0)
+ {
+ return 0;
+ }
*hexstring_return = s;
return 1;
if (!token_chars)
token_chars = (u8 *) "a-zA-Z0-9_";
- memset (map, 0, sizeof (map));
+ clib_memset (map, 0, sizeof (map));
for (s = token_chars; *s;)
{
/* Parse range. */
}
*result = line;
- return 1;
+ return vec_len (line);
}
/* Parse a line ending with \n and return it as an unformat_input_t. */
{
unformat_input_t *result = va_arg (*va, unformat_input_t *);
u8 *line;
- unformat_user (i, unformat_line, &line);
+ if (!unformat_user (i, unformat_line, &line))
+ return 0;
unformat_init_vector (result, line);
return 1;
}
uword signs[2], sign_index = 0;
uword n_input = 0;
- memset (values, 0, sizeof (values));
- memset (n_digits, 0, sizeof (n_digits));
- memset (signs, 0, sizeof (signs));
+ clib_memset (values, 0, sizeof (values));
+ clib_memset (n_digits, 0, sizeof (n_digits));
+ clib_memset (signs, 0, sizeof (signs));
while ((c = unformat_get_input (input)) != UNFORMAT_END_OF_INPUT)
{
return 0;
}
-static char *
-match_input_with_format (unformat_input_t * input, char *f)
+static const char *
+match_input_with_format (unformat_input_t * input, const char *f)
{
uword cf, ci;
return f;
}
-static char *
-do_percent (unformat_input_t * input, va_list * va, char *f)
+static const char *
+do_percent (unformat_input_t * input, va_list * va, const char *f)
{
uword cf, n, data_bytes = ~0;
}
uword
-va_unformat (unformat_input_t * input, char *fmt, va_list * va)
+va_unformat (unformat_input_t * input, const char *fmt, va_list * va)
{
- char *f;
+ const char *f;
uword input_matches_format;
uword default_skip_input_white_space;
uword n_input_white_space_skipped;
else
{
- char *g = match_input_with_format (input, f);
+ const char *g = match_input_with_format (input, f);
if (!g)
goto parse_fail;
last_non_white_space_match_format = g > f;
}
uword
-unformat (unformat_input_t * input, char *fmt, ...)
+unformat (unformat_input_t * input, const char *fmt, ...)
{
va_list va;
uword result;
#ifdef CLIB_UNIX
static uword
-unix_file_fill_buffer (unformat_input_t * input)
+clib_file_fill_buffer (unformat_input_t * input)
{
int fd = pointer_to_uword (input->fill_buffer_arg);
uword l, n;
}
void
-unformat_init_unix_file (unformat_input_t * input, int file_descriptor)
+unformat_init_clib_file (unformat_input_t * input, int file_descriptor)
{
- unformat_init (input, unix_file_fill_buffer,
+ unformat_init (input, clib_file_fill_buffer,
uword_to_pointer (file_descriptor, void *));
}