Files
libcdsb/src/string/include.h
T
2022-08-22 14:18:38 +03:00

36 lines
804 B
C

/* This software is licensed by the MIT License, see LICENSE file */
/* Copyright © 2022 Gregory Lirent */
#include "../../modules/libunic/include.h"
#include "../../include/string.h"
#include "../__internal/include.h"
#ifndef LIBCDSB_SRC_STRING_INCLUDE_H
#define LIBCDSB_SRC_STRING_INCLUDE_H
ainline(char* libcdsb_builtin_next_char(char* s)) {
int cs = charsize(s);
if (cs) return s + cs;
return ++s;
}
ainline(char* libcdsb_builtin_prev_char(char* s)) {
if (*(--s)&0x80) {
char* p = s;
while ((*(--p)&0xc0) == 0x80) {}
if (charsize(p) == s - p)
return p;
}
return s;
}
#define next_char libcdsb_builtin_next_char
#define prev_char libcdsb_builtin_prev_char
#endif /* LIBCDSB_SRC_STRING_INCLUDE_H */