Commit 446e0a481ef990579fe9877d8c5e88f74dd0810a

Jeremy JEANNE 2024-12-20T22:56:02

kc3.facts, kc3_sysct~l

diff --git a/lib/kc3/0.1/kc3.facts b/lib/kc3/0.1/kc3.facts
index 8717fe1..84bec95 100644
--- a/lib/kc3/0.1/kc3.facts
+++ b/lib/kc3/0.1/kc3.facts
@@ -387,3 +387,5 @@ add {KC3, :symbol, KC3.killpg}
 replace {KC3.killpg, :symbol_value, cfn Bool "kc3_killpg" (Sw, Sym)}
 add {KC3, :symbol, KC3.is_integer?}
 replace {KC3.is_integer?, :symbol_value, cfn Bool "tag_is_integer" (Tag)}
+add {KC3, :symbol, KC3.sysctl}
+replace {KC3.sysctl, :symbol_value, cfn Tag "kc3_sysctl" (Result, List)}
diff --git a/libkc3/kc3.c b/libkc3/kc3.c
index c849abe..3b17e53 100644
--- a/libkc3/kc3.c
+++ b/libkc3/kc3.c
@@ -728,6 +728,20 @@ s_tag * kc3_struct_put (s_tag *s, const s_sym * const *key,
   return dest;
 }
 
+s_tag * kc3_sysctl (s_tag *dest, const s_list * const *list)
+{
+  s32 mib[64];
+  s32 mib_len = 0;
+  s32 i;
+  const s_list *l;
+  l = list;
+  while (l) {
+    if (l->tag.type != TAG_SYM) {
+      err_puts("kc3_sysctl: argument is not a Sym list")
+      assert(! "kc3_sysctl: argument is not a Sym list")
+    l = list_next(l);
+  }
+}
 s_str * kc3_system (const s_list * const *list, s_str *dest)
 {
 #ifdef WIN32
diff --git a/smtp b/smtp
index fbe3b5d..02d1ed5 160000
--- a/smtp
+++ b/smtp
@@ -1 +1 @@
-Subproject commit fbe3b5d57abcc6d3e155354267fccfd454c61b83
+Subproject commit 02d1ed5b4e3dc659bd899f37edde7a0e4f44433e