summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkdx <kdx@42l.fr>2023-03-16 01:47:51 +0100
committerkdx <kdx@42l.fr>2023-03-16 02:04:09 +0100
commitb10c69cfe557c821591b046c3e4e75710494f60c (patch)
tree7373a7282dac50ae7a359442f80cecfb69f1ac73
parent2d32624079bf8c960f17db17e800907462695619 (diff)
downloadgolem-b10c69cfe557c821591b046c3e4e75710494f60c.tar.gz
golem libft
-rw-r--r--libft.golem66
1 files changed, 66 insertions, 0 deletions
diff --git a/libft.golem b/libft.golem
new file mode 100644
index 0000000..e923c25
--- /dev/null
+++ b/libft.golem
@@ -0,0 +1,66 @@
+isalpha c {
+ return (or (and (moreeq c 'A')
+ (lesseq c 'Z'))
+ (and (moreeq c 'a')
+ (lesseq c 'z')));
+}
+
+isdigit c {
+ return (and (moreeq c '0')
+ (lesseq c '9'));
+}
+
+isalnum c {
+ return (or (isalpha c) (isdigit c));
+}
+
+isascii c {
+ return (and (moreeq c 0) (lesseq c 127));
+}
+
+isprint c {
+ return (and (moreeq c ' ') (lesseq c '~'));
+}
+
+strlen s {
+ let size;
+ size = 0;
+ while [s size] {
+ size = (add size 1);
+ }
+ return size;
+}
+
+memset s c n {
+ while (more n 0) {
+ n = (sub n 1);
+ [s n] = c;
+ }
+ return s;
+}
+
+bzero s n {
+ (memset s 0 n);
+}
+
+memcpy dest src n {
+ while (more n 0) {
+ n = (sub n 1);
+ [dest n] = [src n];
+ }
+ return dest;
+}
+
+memmove dest src n {
+ if (less dest src) {
+ let i;
+ i = 0;
+ while (less i n) {
+ [dest i] = [src i];
+ i = (add i 1);
+ }
+ } else {
+ (memcpy dest src n);
+ }
+ return dest;
+}