]> git.mdlowis.com Git - proto/aos.git/commitdiff
cleaned up files, added first cut for positional arguments
authorMichael D. Lowis <mike.lowis@gentex.com>
Wed, 15 Dec 2021 21:49:18 +0000 (16:49 -0500)
committerMichael D. Lowis <mike.lowis@gentex.com>
Wed, 15 Dec 2021 21:49:18 +0000 (16:49 -0500)
lib/a/Options_Parse.c
lib/a/gc.c
lib/a/opts_setoption.c [deleted file]

index 4519d6e239710e4043f3f4eb06c7ab175dd3e0f4..0852d14dcd11dbdee3aa66692d04398e9db0dc8d 100644 (file)
@@ -129,6 +129,7 @@ void Options_Parse(int argc, char** argv)
     /* Record the program name */
     ARGV0 = argv[0];
 
+    int new_argc = 0;
     /* now parse the arguments */
     for (int i = 1; i < argc;)
     {
@@ -142,10 +143,12 @@ void Options_Parse(int argc, char** argv)
         }
         else
         {
-            printf("posarg: %s\n", argv[i]);
+            new_argc++;
+            argv[new_argc] = argv[i];
             i++;
         }
     }
+    // return new_argc;
 }
 
 void Options_PrintHelp(void)
index b8a1362560e514046a40733078352766971e3bb9..88860e3807a7e71ef8bf666e074b87e32bf605f4 100644 (file)
@@ -13,7 +13,6 @@
 
 #define THOLD      0.65
 #define DELETED    ((void*)(intptr_t)-1)
-#define NUM_SLOTS  4u
 #define LOG_SIZE   1023u
 #define NUM_PRIMES (sizeof(Primes)/sizeof(unsigned int))
 
@@ -32,10 +31,6 @@ typedef struct {
     uintptr_t data[];
 } object_t;
 
-typedef struct {
-    void* slots[NUM_SLOTS];
-} bucket_t;
-
 static void obj_addref(object_t* obj);
 static void obj_delref(object_t* obj);
 static void gc_collect(void);
@@ -89,7 +84,6 @@ int main(int argc, char** argv)
     Options_Parse(argc, argv);
     Stack_Bot = &(intptr_t){0};
     Log.index = 0;
-    hash_init(&ZCT,0);
     return usermain(argc, argv);
 }
 
@@ -128,14 +122,9 @@ static void gc_scan_stack(hash_t* oldzct)
 
 static void gc_scan_globals(hash_t* oldzct)
 {
-#ifdef __APPLE__
-    intptr_t rbeg = (intptr_t )get_edata();
-    intptr_t rend = (intptr_t )get_end();
-#else
     extern intptr_t etext, end;
     intptr_t rbeg = (intptr_t)&etext;
     intptr_t rend = (intptr_t)&end;
-#endif
     intptr_t mask = sizeof(intptr_t)-1;
     if (rbeg & mask)
     {
@@ -145,27 +134,17 @@ static void gc_scan_globals(hash_t* oldzct)
     {
         rend = (rbeg & ~mask);
     }
-#ifdef __APPLE__
-    printf("%p %p %p %p-%p\n",
-        (void*)get_etext(),
-        (void*)get_edata(),
-        (void*)get_end(),
-        (void*)rbeg,
-        (void*)rend
-    );
-#else
-    printf("%p %p %p-%p\n",
-        (void*)&etext,
-        (void*)&end,
-        (void*)rbeg,
-        (void*)rend
-    );
-#endif
     gc_scan_region(oldzct, (intptr_t*)rbeg, (intptr_t*)rend);
 }
 
 static void gc_collect(void)
 {
+    /* init ZCT if needed */
+    if (!ZCT.thold)
+    {
+        hash_init(&ZCT, 0);
+    }
+
     /* process the log */
     for (uintptr_t i = 0; i < Log.index; i++)
     {
diff --git a/lib/a/opts_setoption.c b/lib/a/opts_setoption.c
deleted file mode 100644 (file)
index f2deb6a..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <liba.h>
-
-void opts_setoption(int sname, char* lname, char* arg)
-{
-    (void)sname;
-    (void)lname;
-    (void)arg;
-}