UwUVMValue uwu_read(UwUVMArgs *args)
{
- uwuutil_require_exact("nolambda:fs:read", args, 1);
+ uwuutil_require_exact("fs.read", args, 1);
char *filename = uwustr_get(uwuvm_get_arg(args, 0));
if (size == 1) syserror("ftell", file);
if (fseek(file, 0, SEEK_SET) == -1) syserror("fseek", file);
- char contents[size];
+ char contents[size + 1];
if (fread(contents, 1, size, file) != size) syserror("fread", file);
fclose(file);
free(filename);
+ contents[size] = '\0';
+
return uwustr_create(contents);
}
UwUVMValue uwu_write(UwUVMArgs *args)
{
- uwuutil_require_exact("nolambda:fs:write", args, 2);
+ uwuutil_require_exact("fs.write", args, 2);
char *filename = uwustr_get(uwuvm_get_arg(args, 0));
char *contents = uwustr_get(uwuvm_get_arg(args, 1));
UwUVMValue uwu_remove(UwUVMArgs *args)
{
- uwuutil_require_min("nolambda:fs:remove", args, 1);
+ uwuutil_require_min("fs.remove", args, 1);
for (size_t i = 0; i < args->num; i++) {
char *filename = uwustr_get(uwuvm_get_arg(args, i));
UwUVMValue uwu_exists(UwUVMArgs *args)
{
- uwuutil_require_min("nolambda:fs:exists", args, 1);
+ uwuutil_require_min("fs.exists", args, 1);
for (size_t i = 0; i < args->num; i++) {
char *filename = uwustr_get(uwuvm_get_arg(args, i));