1 /*
2  * Copyright (C) 2018-2022 Intel Corporation.
3  * SPDX-License-Identifier: BSD-3-Clause
4  */
5 
6 #ifndef __STRUTILS_H__
7 #define __STRUTILS_H__
8 
9 #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
10 #define s_not_expect(res, size) (res < 0 || (size_t)res >= size)
11 
12 char *get_line(const char *str, size_t str_size,
13 		const char *area, size_t area_size,
14 		const char *search_from, size_t *len);
15 ssize_t strlinelen(const char *str, size_t size);
16 char *strrstr(const char *s, const char *str);
17 char *strtrim(char *str, size_t len);
18 int strcnt(char *str, char c);
19 char *strings_ind(char *strings, size_t size, int index, size_t *slen);
20 int str_split_ere(const char *str, size_t slen,
21 		const char *fmt, size_t flen, ...);
22 #endif
23