Skip to content

Commit

Permalink
Deduplicate string related functions
Browse files Browse the repository at this point in the history
  • Loading branch information
le-jzr committed Oct 27, 2023
1 parent 44e8541 commit fdfb24e
Show file tree
Hide file tree
Showing 28 changed files with 76 additions and 1,857 deletions.
2 changes: 1 addition & 1 deletion boot/arch/arm32/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ boot_src = files(
'../../generic/src/printf_core.c',
'../../generic/src/vprintf.c',
'../../generic/src/printf.c',
'../../generic/src/str.c',
'../../../common/str.c',
'../../generic/src/version.c',
'../../generic/src/inflate.c',
'../../generic/src/gzip.c',
Expand Down
2 changes: 1 addition & 1 deletion boot/arch/arm64/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ boot_src = files(
'../../generic/src/payload.c',
'../../generic/src/printf.c',
'../../generic/src/printf_core.c',
'../../generic/src/str.c',
'../../../common/str.c',
'../../generic/src/tar.c',
'../../generic/src/version.c',
'../../generic/src/vprintf.c',
Expand Down
2 changes: 1 addition & 1 deletion boot/arch/ia64/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ boot_src = files(
'../../generic/src/printf_core.c',
'../../generic/src/vprintf.c',
'../../generic/src/printf.c',
'../../generic/src/str.c',
'../../../common/str.c',
'../../generic/src/version.c',
'../../generic/src/inflate.c',
'../../generic/src/tar.c',
Expand Down
2 changes: 1 addition & 1 deletion boot/arch/mips32/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ boot_src = files(
'../../generic/src/printf_core.c',
'../../generic/src/vprintf.c',
'../../generic/src/printf.c',
'../../generic/src/str.c',
'../../../common/str.c',
'../../generic/src/version.c',
'../../generic/src/inflate.c',
'../../generic/src/gzip.c',
Expand Down
2 changes: 1 addition & 1 deletion boot/arch/ppc32/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ boot_src = files(
'../../generic/src/printf_core.c',
'../../generic/src/vprintf.c',
'../../generic/src/printf.c',
'../../generic/src/str.c',
'../../../common/str.c',
'../../generic/src/version.c',
'../../generic/src/inflate.c',
'../../generic/src/gzip.c',
Expand Down
2 changes: 1 addition & 1 deletion boot/arch/riscv64/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ boot_src = files(
'../../generic/src/printf_core.c',
'../../generic/src/vprintf.c',
'../../generic/src/printf.c',
'../../generic/src/str.c',
'../../../common/str.c',
'../../generic/src/version.c',
'../../generic/src/inflate.c',
'../../generic/src/gzip.c',
Expand Down
2 changes: 1 addition & 1 deletion boot/arch/sparc64/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ boot_src = files(
'../../generic/src/printf_core.c',
'../../generic/src/vprintf.c',
'../../generic/src/printf.c',
'../../generic/src/str.c',
'../../../common/str.c',
'../../generic/src/version.c',
'../../generic/src/inflate.c',
'../../generic/src/gzip.c',
Expand Down
40 changes: 5 additions & 35 deletions boot/generic/include/str.h → boot/generic/include/assert.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
/*
* Copyright (c) 2001-2004 Jakub Jermar
* Copyright (c) 2005 Martin Decky
* Copyright (c) 2011 Oleg Romanenko
* Copyright (c) 2023 Jiří Zárevúcky
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
Expand All @@ -28,37 +26,9 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/

/** @file
*/

#ifndef BOOT_STR_H_
#define BOOT_STR_H_

#include <errno.h>
#include <stdbool.h>
#include <stddef.h>
#include <uchar.h>

/* Common Unicode characters */
#define U_SPECIAL '?'

/** No size limit constant */
#define STR_NO_LIMIT ((size_t) -1)
#ifndef BOOT_ASSERT_H_
#define BOOT_ASSERT_H_

extern char32_t str_decode(const char *str, size_t *offset, size_t sz);
extern errno_t chr_encode(char32_t ch, char *str, size_t *offset, size_t sz);
#define assert(expr) ((void) (expr))

extern size_t str_size(const char *str);
extern size_t str_lsize(const char *str, size_t max_len);
extern size_t str_length(const char *str);

extern bool ascii_check(char32_t ch);
extern bool chr_check(char32_t ch);

extern int str_cmp(const char *s1, const char *s2);
extern void str_cpy(char *dest, size_t size, const char *src);

#endif

/** @}
*/
#endif /* BOOT_ASSERT_H_ */
1 change: 1 addition & 0 deletions boot/generic/include/errno.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
#define ELIMIT -3 /* Limit exceeded. */
#define EINVAL -14 /* Invalid value. */
#define EOVERFLOW -16 /* The result does not fit its size. */
#define EIO -17

typedef int errno_t;

Expand Down
Loading

0 comments on commit fdfb24e

Please sign in to comment.