Merge pull request #2387 from colinleroy/sim65-implement-remove

Implement __sysremove for sim65
This commit is contained in:
Bob Andrews
2024-01-28 16:53:29 +01:00
committed by GitHub
5 changed files with 106 additions and 5 deletions

View File

@@ -10,6 +10,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
FILE *in, *out;
char buf[32];
@@ -34,6 +35,7 @@ int main(int argc,char **argv)
printf("Error: file pointer should be in error state\n");
}
fclose(out);
unlink(outfile_path);
in = fopen(INFILE, "rb");
if (in == NULL) {

55
test/val/remove.c Normal file
View File

@@ -0,0 +1,55 @@
#include <stdio.h>
#include <string.h>
#include <unistd.h>
int fails = 0;
static void create_out_file(const char *outfile_path) {
FILE *out;
out = fopen(outfile_path, "wb");
if (out == NULL) {
printf("Could not create %s\n", outfile_path);
fails++;
return;
}
fclose(out);
}
int main (int argc, char **argv)
{
int r;
static char outfile_path[FILENAME_MAX+1];
sprintf(outfile_path, "%s.test.out", argv[0]);
create_out_file(outfile_path);
r = remove(outfile_path);
if (r != 0) {
printf("could not remove() %s\n", outfile_path);
fails++;
}
create_out_file(outfile_path);
r = unlink(outfile_path);
if (r != 0) {
printf("could not unlink() %s\n", outfile_path);
fails++;
}
r = remove("klsdfjqlsjdflkqjdsoizu");
if (r == 0) {
printf("remove()ing non-existent file succeeded\n");
fails++;
}
r = unlink("klsdfjqlsjdflkqjdsoizu");
if (r == 0) {
printf("unlink()ing non-existent file succeeded\n");
fails++;
}
return fails;
}