libkernaux/examples/cmdline.c

35 lines
722 B
C
Raw Permalink Normal View History

#include <kernaux/cmdline.h>
#include <assert.h>
2022-06-27 14:46:29 +00:00
#include <stddef.h>
#include <string.h>
2022-06-27 16:30:47 +00:00
#define ARG_COUNT_MAX 100
2022-01-21 21:42:54 +00:00
#define BUFFER_SIZE 4096
2021-12-12 15:39:17 +00:00
static const char *const cmdline = "foo bar\\ baz \"car cdr\"";
void example_main()
{
char error_msg[KERNAUX_CMDLINE_ERROR_MSG_SIZE_MAX];
2021-12-16 15:26:16 +00:00
size_t argc;
2022-06-27 16:30:47 +00:00
char *argv[ARG_COUNT_MAX];
2022-01-21 21:42:54 +00:00
char buffer[BUFFER_SIZE];
assert(kernaux_cmdline(
cmdline,
error_msg,
&argc,
argv,
buffer,
2022-06-27 16:30:47 +00:00
ARG_COUNT_MAX,
2022-01-21 21:42:54 +00:00
BUFFER_SIZE
));
assert(strcmp(error_msg, "") == 0);
2021-12-12 15:39:17 +00:00
assert(argc == 3);
assert(strcmp(argv[0], "foo") == 0);
2021-12-12 15:39:17 +00:00
assert(strcmp(argv[1], "bar baz") == 0);
assert(strcmp(argv[2], "car cdr") == 0);
}