PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=https://github.com/jow-/ucode.git
-PKG_SOURCE_DATE:=2025-12-01
-PKG_SOURCE_VERSION:=f7c2b97a82e8b505bf4b2c0d8883b5116e1960f9
-PKG_MIRROR_HASH:=7de6a6d5b3c7392624bccefdc03e2dc61f097b414989eeced29ecc3e020bbd0b
+PKG_SOURCE_DATE:=2026-01-16
+PKG_SOURCE_VERSION:=85922056ef7abeace3cca3ab28bc1ac2d88e31b1
+PKG_MIRROR_HASH:=8c6f586f90e704827dc8736bf3726d15989a978c6a726a52d51e33f8019403b6
PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
PKG_LICENSE:=ISC
--- a/lib/uloop.c
+++ b/lib/uloop.c
-@@ -1016,7 +1016,22 @@ uc_uloop_process(uc_vm_t *vm, size_t nar
+@@ -1023,7 +1023,22 @@ uc_uloop_process(uc_vm_t *vm, size_t nar
if (pid == 0) {
argp = calloc(ucv_array_length(arguments) + 2, sizeof(char *));
if (!argp || !envp)
_exit(-1);
-@@ -1026,19 +1041,6 @@ uc_uloop_process(uc_vm_t *vm, size_t nar
+@@ -1033,19 +1048,6 @@ uc_uloop_process(uc_vm_t *vm, size_t nar
for (i = 0; i < ucv_array_length(arguments); i++)
argp[i+1] = ucv_to_string(vm, ucv_array_get(arguments, i));
--- a/lib/uloop.c
+++ b/lib/uloop.c
-@@ -961,8 +961,9 @@ uc_uloop_process_cb(struct uloop_process
+@@ -968,8 +968,9 @@ uc_uloop_process_cb(struct uloop_process
*
* This function creates a process instance for executing external programs.
* It takes the executable path string, an optional string array as the argument
*
* @function module:uloop#process
*
-@@ -979,6 +980,11 @@ uc_uloop_process_cb(struct uloop_process
+@@ -986,6 +987,11 @@ uc_uloop_process_cb(struct uloop_process
* @param {Function} callback
* The callback function to be invoked when the invoked process ends.
*
* @returns {?module:uloop.process}
* Returns a process instance for executing external programs.
* Returns `null` on error, e.g. due to `exec()` failure or invalid arguments.
-@@ -988,6 +994,16 @@ uc_uloop_process_cb(struct uloop_process
+@@ -995,6 +1001,16 @@ uc_uloop_process_cb(struct uloop_process
* const myProcess = uloop.process("/bin/ls", ["-l", "/tmp"], null, (code) => {
* printf(`Process exited with code ${code}\n`);
* });
*/
static uc_value_t *
uc_uloop_process(uc_vm_t *vm, size_t nargs)
-@@ -996,6 +1012,7 @@ uc_uloop_process(uc_vm_t *vm, size_t nar
+@@ -1003,6 +1019,7 @@ uc_uloop_process(uc_vm_t *vm, size_t nar
uc_value_t *arguments = uc_fn_arg(1);
uc_value_t *env_arg = uc_fn_arg(2);
uc_value_t *callback = uc_fn_arg(3);
uc_uloop_process_t *process;
uc_stringbuf_t *buf;
char **argp, **envp;
-@@ -1005,7 +1022,8 @@ uc_uloop_process(uc_vm_t *vm, size_t nar
+@@ -1012,7 +1029,8 @@ uc_uloop_process(uc_vm_t *vm, size_t nar
if (ucv_type(executable) != UC_STRING ||
(arguments && ucv_type(arguments) != UC_ARRAY) ||
(env_arg && ucv_type(env_arg) != UC_OBJECT) ||
err_return(EINVAL);
}
-@@ -1015,6 +1033,13 @@ uc_uloop_process(uc_vm_t *vm, size_t nar
+@@ -1022,6 +1040,13 @@ uc_uloop_process(uc_vm_t *vm, size_t nar
err_return(errno);
if (pid == 0) {