]> www.git.momoyon.org Git - commonlib.git/commitdiff
[commonlib.h] sv_get_range()
authormomoyon <ahmedsamyh10@gmail.com>
Sun, 13 Apr 2025 12:10:47 +0000 (17:10 +0500)
committermomoyon <ahmedsamyh10@gmail.com>
Sun, 13 Apr 2025 12:10:47 +0000 (17:10 +0500)
commonlib.h

index 285ae190a7747b568fc32126e75bf5967ed15a24..df94650702a9889ab816ce9cd375fb63f59f6295 100644 (file)
@@ -73,6 +73,7 @@
 #define sv_contains_char c_sv_contains_char\r
 #define sv_is_hex_numbers c_sv_is_hex_numbers\r
 #define sv_equals c_sv_equals\r
+#define sv_get_part c_sv_get_part\r
 \r
 \r
 #endif // COMMONLIB_REMOVE_PREFIX\r
@@ -294,6 +295,7 @@ float64 c_sv_to_float(c_String_view sv, int *count);
 bool c_sv_contains_char(c_String_view sv, char ch);\r
 bool c_sv_is_hex_numbers(c_String_view sv);\r
 bool c_sv_equals(c_String_view sv1, c_String_view sv2);\r
+c_String_view c_sv_get_part(c_String_view sv, int from, int to);\r
 \r
 #endif /* _COMMONLIB_H_ */\r
 \r
@@ -725,4 +727,15 @@ bool c_sv_equals(c_String_view sv1, c_String_view sv2) {
     return true;\r
 }\r
 \r
+c_String_view c_sv_get_part(c_String_view sv, int from, int to) {\r
+    from = clampi(from, 0, sv.count);\r
+    to   = clampi(to, from, sv.count);\r
+\r
+    String_view range = {\r
+        .data = (char*)(sv.data + from),\r
+        .count = (size_t)(to - from),\r
+    };\r
+\r
+    return range;\r
+}\r
 #endif\r