txlyre 2 days ago
parent
commit
ef93523ebe
1 changed files with 48 additions and 44 deletions
  1. 48 44
      qirt.c

+ 48 - 44
qirt.c

@@ -115,7 +115,7 @@ qi_bool qi_list_insert(qi_list_t *list, qi_ssize_t index, void *value) {
 
   qi_list_resize(list, qi_list_length(list) + 1);
 
-  for (qi_size_t i = qi_list_length(list); index == 0? i > 0: i >= index; i--)
+  for (qi_size_t i = qi_list_length(list); index == 0 ? i > 0 : i >= index; i--)
     qi_list_data(list, i) = qi_list_data(list, i - 1);
 
   qi_list_data(list, index) = value;
@@ -627,12 +627,10 @@ static qi_bool _qi_old_scope(qi_state_t *state, qi_bool ignore_barriers) {
   return true;
 }
 
-qi_bool qi_old_scope(qi_state_t *state) {
-  return _qi_old_scope(state, false);
-}
+qi_bool qi_old_scope(qi_state_t *state) { return _qi_old_scope(state, false); }
 
-qi_value_t *qi_call_meta(qi_state_t *state, qi_bool *fail_flag, qi_value_t *value,
-                         char *name, qi_size_t count, ...);
+qi_value_t *qi_call_meta(qi_state_t *state, qi_bool *fail_flag,
+                         qi_value_t *value, char *name, qi_size_t count, ...);
 
 void qi_value_finalizer(GC_PTR _value, GC_PTR _state) {
   qi_state_t *state = (qi_state_t *)_state;
@@ -767,7 +765,7 @@ qi_value_t *qi_make_file(qi_state_t *state, FILE *file, char *mode) {
 qi_value_t *qi_make_list(qi_state_t *state, qi_list_t *list) {
   qi_value_t *value = qi_make_value(QI_LIST);
   value->mutex = qi_mutex_create();
-  value->value.list = !list? qi_list_make(): list;
+  value->value.list = !list ? qi_list_make() : list;
 
   GC_register_finalizer(value, qi_value_finalizer, (void *)state, NULL, NULL);
 
@@ -789,7 +787,7 @@ qi_value_t *qi_make_tuple(qi_state_t *state, qi_list_t *tuple) {
 qi_value_t *qi_make_table(qi_state_t *state, qi_table_t *table) {
   qi_value_t *value = qi_make_value(QI_TABLE);
   value->mutex = qi_mutex_create();
-  value->value.table.table = !table? qi_table_make(): table;
+  value->value.table.table = !table ? qi_table_make() : table;
   value->value.table.metatable = state->nil;
 
   GC_register_finalizer(value, qi_value_finalizer, (void *)state, NULL, NULL);
@@ -879,8 +877,8 @@ qi_value_t *qi_get_method(qi_state_t *state, qi_value_t *value, char *name) {
   return method;
 }
 
-qi_value_t *qi_call_meta(qi_state_t *state, qi_bool *fail_flag, qi_value_t *value,
-                         char *name, qi_size_t count, ...) {
+qi_value_t *qi_call_meta(qi_state_t *state, qi_bool *fail_flag,
+                         qi_value_t *value, char *name, qi_size_t count, ...) {
   qi_value_t *meta = qi_get_method(state, value, name);
   if (!meta)
     return NULL;
@@ -1120,8 +1118,9 @@ char *_qi_repr(qi_state_t *state, qi_list_t *tempstack, qi_value_t *value,
       qi_buffer_append(buffer, '[');
 
       for (qi_size_t i = 0; i < qi_list_length(value->value.list); i++) {
-        qi_buffer_append_str(buffer,
-                             _qi_repr(state, tempstack, qi_list_data(value->value.list, i), true));
+        qi_buffer_append_str(
+            buffer, _qi_repr(state, tempstack,
+                             qi_list_data(value->value.list, i), true));
 
         if (i != qi_list_length(value->value.list) - 1)
           qi_buffer_append_str(buffer, ", ");
@@ -1146,14 +1145,16 @@ char *_qi_repr(qi_state_t *state, qi_list_t *tempstack, qi_value_t *value,
     qi_buffer_append(buffer, '(');
 
     if (qi_list_length(value->value.list) == 1) {
-      qi_buffer_append_str(buffer,
-                           _qi_repr(state, tempstack, qi_list_first(value->value.list), true));
+      qi_buffer_append_str(
+          buffer,
+          _qi_repr(state, tempstack, qi_list_first(value->value.list), true));
 
       qi_buffer_append_str(buffer, ", ");
     } else
       for (qi_size_t i = 0; i < qi_list_length(value->value.list); i++) {
-        qi_buffer_append_str(buffer,
-                             _qi_repr(state, tempstack, qi_list_data(value->value.list, i), true));
+        qi_buffer_append_str(
+            buffer, _qi_repr(state, tempstack,
+                             qi_list_data(value->value.list, i), true));
 
         if (i != qi_list_length(value->value.list) - 1)
           qi_buffer_append_str(buffer, ", ");
@@ -1267,8 +1268,7 @@ void qi_fatal(qi_state_t *state, char *format, ...) {
         fprintf(stderr, "  %s, call to %s\n", debug_data,
                 func->value.function.name);
       else
-        fprintf(stderr, "  Call to %s\n",
-                func->value.function.name);
+        fprintf(stderr, "  Call to %s\n", func->value.function.name);
     }
   }
 
@@ -1550,9 +1550,8 @@ qi_value_t *qi_del(qi_state_t *state, qi_value_t *value, qi_value_t *index) {
     if (index->type == QI_NUMBER) {
       qi_bool res;
 
-      LOCKED(value, {
-        res = qi_list_delete(value->value.list, index->value.number);
-      });
+      LOCKED(value,
+             { res = qi_list_delete(value->value.list, index->value.number); });
 
       if (!res)
         qi_throw_format(state, "list index out of range: %s",
@@ -1582,8 +1581,8 @@ qi_value_t *qi_del(qi_state_t *state, qi_value_t *value, qi_value_t *index) {
   }
 
 leave:
-  qi_throw_format(state, "cannot delete index %s with %s", _qi_type(state, value),
-                  _qi_type(state, index));
+  qi_throw_format(state, "cannot delete index %s with %s",
+                  _qi_type(state, value), _qi_type(state, index));
 
   return NULL;
 }
@@ -1707,8 +1706,10 @@ qi_value_t *qi_cast(qi_state_t *state, qi_type_t type, qi_value_t *value) {
               qi_mutex_unlock(value->mutex);
 
               qi_throw_format(state,
-                              "cannot cast %s to %s (expected list of numbers, but element #%zu is %s)",
-                              _qi_type(state, value), qi_repr_type(type), i, _qi_type(state, byte));
+                              "cannot cast %s to %s (expected list of numbers, "
+                              "but element #%zu is %s)",
+                              _qi_type(state, value), qi_repr_type(type), i,
+                              _qi_type(state, byte));
             }
 
             temp[i] = (unsigned char)(byte->value.number);
@@ -1751,7 +1752,8 @@ qi_value_t *qi_cast(qi_state_t *state, qi_type_t type, qi_value_t *value) {
       qi_list_t *list = qi_list_make_n(value->value.bytes->size);
 
       for (qi_size_t i = 0; i < value->value.bytes->size; i++)
-        qi_list_data(list, i) = qi_make_number(state, value->value.bytes->data[i]);
+        qi_list_data(list, i) =
+            qi_make_number(state, value->value.bytes->data[i]);
 
       return qi_make_list(state, list);
     }
@@ -1767,7 +1769,8 @@ qi_value_t *qi_cast(qi_state_t *state, qi_type_t type, qi_value_t *value) {
       return qi_make_list(state, keys);
     }
 
-    case QI_TUPLE: return qi_make_list(state, qi_list_copy(value->value.list));
+    case QI_TUPLE:
+      return qi_make_list(state, qi_list_copy(value->value.list));
 
     default:
       break;
@@ -1865,9 +1868,7 @@ qi_value_t *qi_cast(qi_state_t *state, qi_type_t type, qi_value_t *value) {
     case QI_LIST: {
       qi_list_t *list;
 
-      LOCKED(value, {
-        list = qi_list_copy(value->value.list);
-      });
+      LOCKED(value, { list = qi_list_copy(value->value.list); });
 
       return qi_make_tuple(state, list);
     }
@@ -1876,7 +1877,8 @@ qi_value_t *qi_cast(qi_state_t *state, qi_type_t type, qi_value_t *value) {
       qi_list_t *list = qi_list_make_n(value->value.bytes->size);
 
       for (qi_size_t i = 0; i < value->value.bytes->size; i++)
-        qi_list_data(list, i) = qi_make_number(state, value->value.bytes->data[i]);
+        qi_list_data(list, i) =
+            qi_make_number(state, value->value.bytes->data[i]);
 
       return qi_make_tuple(state, list);
     }
@@ -2069,7 +2071,8 @@ qi_value_t *qi_index_set(qi_state_t *state, qi_bool is_pf, qi_value_t *value,
           old = qi_list_index(value->value.list,
                               (qi_ssize_t)(index->value.number));
 
-        qi_list_set(value->value.list, (qi_ssize_t)(index->value.number), newvalue);
+        qi_list_set(value->value.list, (qi_ssize_t)(index->value.number),
+                    newvalue);
       });
 
       if (!newvalue)
@@ -2119,7 +2122,7 @@ static qi_value_t *_qi_call(qi_state_t *state, qi_value_t *value,
   }
 
   if (value->value.function._this) {
-    qi_list_t *temp = !pargs? qi_list_make(): qi_list_copy(pargs);
+    qi_list_t *temp = !pargs ? qi_list_make() : qi_list_copy(pargs);
     qi_list_insert(temp, 0, value->value.function._this);
 
     pargs = temp;
@@ -2891,7 +2894,8 @@ static qi_state_t *qi_state_clone(qi_state_t *state) {
 }
 
 void qi_exit(qi_state_t *state, int code) {
-  while (_qi_old_scope(state, true)) ;
+  while (_qi_old_scope(state, true))
+    ;
 
   qi_finalize();
 
@@ -2997,9 +3001,7 @@ void qi_cond_wait(void *cond, void *mutex) {
   pthread_cond_wait((pthread_cond_t *)cond, (pthread_mutex_t *)mutex);
 }
 
-void qi_cond_signal(void *cond) {
-  pthread_cond_signal((pthread_cond_t *)cond);
-}
+void qi_cond_signal(void *cond) { pthread_cond_signal((pthread_cond_t *)cond); }
 
 void qi_cond_broadcast(void *cond) {
   pthread_cond_broadcast((pthread_cond_t *)cond);
@@ -3156,12 +3158,14 @@ qi_value_t *qi_builtin_set_pseudomethod(qi_state_t *state, qi_size_t pargc,
                     _qi_type(state, a));
 
   if (b->type != QI_FUNCTION)
-    qi_throw_format(state, "expected second argument to be: function, but got: %s",
+    qi_throw_format(state,
+                    "expected second argument to be: function, but got: %s",
                     _qi_type(state, b));
 
   char *name = a->value.string;
 
-  qi_value_t *method = qi_make_function(state, name, b->value.function.pargc, b->value.function.handle, NULL);
+  qi_value_t *method = qi_make_function(state, name, b->value.function.pargc,
+                                        b->value.function.handle, NULL);
   method->value.function.is_pm = true;
 
   qi_mutex_lock(state->pseudomethods_mutex);
@@ -3187,11 +3191,11 @@ qi_value_t *qi_builtin_has_pseudomethod(qi_state_t *state, qi_size_t pargc,
 
   qi_mutex_unlock(state->pseudomethods_mutex);
 
-  return res? state->_true: state->_false;
+  return res ? state->_true : state->_false;
 }
 
 qi_value_t *qi_builtin_unset_pseudomethod(qi_state_t *state, qi_size_t pargc,
-                                        qi_list_t *pargs) {
+                                          qi_list_t *pargs) {
   qi_value_t *a = qi_list_data(pargs, 0);
 
   if (a->type != QI_STRING)
@@ -3710,8 +3714,7 @@ qi_value_t *qi_builtin_list_insert(qi_state_t *state, qi_size_t pargc,
 
   qi_bool res = false;
 
-  LOCKED(a,
-         { res = qi_list_insert(a->value.list, b->value.number, c); });
+  LOCKED(a, { res = qi_list_insert(a->value.list, b->value.number, c); });
 
   if (!res)
     qi_throw_format(state, "list index out of range: %s",
@@ -4064,7 +4067,8 @@ static void qi_state_setup(qi_state_t *state) {
   qi_decl_const(state, "false", state->_false);
   qi_decl_const(state, "NAN", state->nan);
   qi_decl_const(state, "INFINITY", state->infinity);
-  qi_decl_const(state, "__LIBQIRT", qi_make_string(state, (char *)LIBQIRT_INFO));
+  qi_decl_const(state, "__LIBQIRT",
+                qi_make_string(state, (char *)LIBQIRT_INFO));
 
   qi_decl_const(state, "STDIN", state->_stdin);
   qi_decl_const(state, "STDERR", state->_stderr);