STASIS
A pipeline delivery generator
Loading...
Searching...
No Matches
str.h
Go to the documentation of this file.
1
4#ifndef STASIS_STR_H
5#define STASIS_STR_H
6
7#include <stdio.h>
8#include <stdlib.h>
9#include <string.h>
10#include <stdarg.h>
11#include <ctype.h>
12#include "core.h"
13#include "log.h"
14#include "relocation.h"
15
16#define STASIS_SORT_ALPHA 1 << 0
17#define STASIS_SORT_NUMERIC 1 << 1
18#define STASIS_SORT_LEN_ASCENDING 1 << 2
19#define STASIS_SORT_LEN_DESCENDING 1 << 3
20
21
22char *strdup_maybe_entry(const char * restrict s, struct ExecPoint ep, int exit_code);
23#define strdup_maybe(S) strdup_maybe_entry((S), EXECPOINT, 1)
24
31int num_chars(const char *sptr, int ch);
32
40int startswith(const char *sptr, const char *pattern);
41
49int endswith(const char *sptr, const char *pattern);
50
57void strchrdel(char *sptr, const char *chars);
58
68char** split(char *sptr, const char* delim, size_t max);
69
95char *join(char **arr, const char *separator);
96
103char *join_ex(char *separator, ...);
104
118char *substring_between(char *sptr, const char *delims);
119
129void strsort(char **arr, unsigned int sort_mode);
130
137int isrelational(char ch);
138
144void print_banner(const char *s, int len);
145
152char *strstr_array(char **arr, const char *str);
153
159char **strdeldup(char **arr);
160
173char *lstrip(char *sptr);
174
189char *strip(char *sptr);
190
208int isempty(char *sptr);
209
215int isquoted(char *sptr);
216
222char *normalize_space(char *s);
223
250char **strdup_array(char **array);
251
277int strcmp_array(const char **a, const char **b);
278
284int isdigit_s(const char *s);
285
298char *tolower_s(char *s);
299
323char *to_short_version(const char *s);
324
325void unindent(char *s);
326
327int safe_strncpy(char *dst, const char *src, size_t dsize);
328int safe_strncat(char *dst, const char *src, size_t dsize);
329
330#endif //STASIS_STR_H
void strsort(char **arr, unsigned int sort_mode)
Definition str.c:345
int strcmp_array(const char **a, const char **b)
Definition str.c:621
char * tolower_s(char *s)
Definition str.c:665
char * to_short_version(const char *s)
Definition str.c:672
char * join_ex(char *separator,...)
Definition str.c:183
char * substring_between(char *sptr, const char *delims)
Definition str.c:243
int endswith(const char *sptr, const char *pattern)
Definition str.c:45
char * lstrip(char *sptr)
Definition str.c:432
void strchrdel(char *sptr, const char *chars)
Definition str.c:74
char ** strdeldup(char **arr)
Definition str.c:390
int isquoted(char *sptr)
Definition str.c:491
int isempty(char *sptr)
Definition str.c:475
char ** strdup_array(char **array)
Definition str.c:592
int num_chars(const char *sptr, int ch)
Definition str.c:23
char * strstr_array(char **arr, const char *str)
Definition str.c:376
int isdigit_s(const char *s)
Definition str.c:653
char * join(char **arr, const char *separator)
Definition str.c:158
char * strip(char *sptr)
Definition str.c:451
char ** split(char *sptr, const char *delim, size_t max)
Definition str.c:86
int startswith(const char *sptr, const char *pattern)
Definition str.c:33
int isrelational(char ch)
Definition str.c:509
char * normalize_space(char *s)
Definition str.c:539
void print_banner(const char *s, int len)
Definition str.c:521
Definition log.h:13