summaryrefslogtreecommitdiff
path: root/include/obe/string.h
diff options
context:
space:
mode:
authorJohnny Richard <johnny@johnnyrichard.com>2024-10-30 22:58:03 +0100
committerJohnny Richard <johnny@johnnyrichard.com>2025-12-14 09:53:52 +0100
commit10bb8a05088f1d3bb24f7167f609b5f6fb0ba026 (patch)
tree7a4b3f69a461301c45204ed856b61f92a7d42233 /include/obe/string.h
bootstrap projectHEADmaster
Signed-off-by: Johnny Richard <johnny@johnnyrichard.com>
Diffstat (limited to 'include/obe/string.h')
-rw-r--r--include/obe/string.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/include/obe/string.h b/include/obe/string.h
new file mode 100644
index 0000000..6194cb2
--- /dev/null
+++ b/include/obe/string.h
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2025 Johnny Richard <johnny@johnnyrichard.com>
+ *
+ * SPDX-License-Identifier: LGPL-3.0-or-later
+ *
+ * This file is part of obe.
+ *
+ * obe is free software: you can redistribute it and/or modify it under the
+ * terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation, either version 3 of the License, or (at your option)
+ * any later version.
+ *
+ * obe is distributed in the hope that it will be useful, but WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with obe. If not, see <https://www.gnu.org/licenses/>.
+ */
+#ifndef OBE_STRING_H
+#define OBE_STRING_H
+
+#define PRIs "%.*s"
+#define PRIsARG(s) (int)(s).length, (s).chars
+
+#include <stdbool.h>
+#include <stddef.h>
+
+typedef struct obe_string
+{
+ char* chars;
+ size_t length;
+} obe_string_t;
+
+obe_string_t
+obe_string_from_cstr(char* cstr);
+
+bool
+obe_string_eq(obe_string_t s1, obe_string_t s2);
+
+#endif /* OBE_STRING_H */