25 while (end >
str &&
isspace((
unsigned char)*end))
51 if (p[0] ==
'#' || p[0] ==
';' || p[0] ==
'\0')
58 char* end =
strchr(p,
']');
66 if (
strcmp(name,
"meta") == 0)
70 else if (
strcmp(name,
"exec") == 0)
74 else if (
strcmp(name,
"env") == 0)
78 else if (
strcmp(name,
"sandbox") == 0)
82 else if (
strcmp(name,
"namespace") == 0)
188 size_t len =
strlen(value);
194 for (
size_t i = 0;
i < len;
i++)
#define MAX_PATH
Maximum length of filepaths.
#define NULL
Pointer error value.
#define ERR
Integer error value.
uint64_t manifest_parse(manifest_t *manifest, const char *path)
char * manifest_get_value(section_t *section, const char *key)
void manifest_substitute(manifest_t *manifest, substitution_t *substitutions, uint64_t amount)
#define MANIFEST_SECTION_MAX
#define MANIFEST_STRING_MAX
uint64_t manifest_get_integer(section_t *section, const char *key)
static char * trim_whitespace(char *str)
_PUBLIC char * fgets(char *_RESTRICT s, int n, FILE *_RESTRICT stream)
_PUBLIC FILE * fopen(const char *_RESTRICT filename, const char *_RESTRICT mode)
_PUBLIC int fclose(FILE *stream)
_PUBLIC int snprintf(char *_RESTRICT s, size_t n, const char *_RESTRICT format,...)
_PUBLIC long long int atoll(const char *nptr)
_PUBLIC void * memmove(void *_RESTRICT s1, const void *_RESTRICT s2, size_t n)
_PUBLIC char * strncpy(char *_RESTRICT s1, const char *_RESTRICT s2, size_t n)
_PUBLIC void * memcpy(void *_RESTRICT s1, const void *_RESTRICT s2, size_t n)
_PUBLIC char * strstr(const char *s1, const char *s2)
_PUBLIC size_t strlen(const char *s)
_PUBLIC int strcmp(const char *s1, const char *s2)
_PUBLIC void * memset(void *s, int c, size_t n)
_PUBLIC char * strchr(const char *s, int c)
char value[MANIFEST_STRING_MAX]