tests: Portability fixes, replaced 0/1/-1 return codes with macros
This commit is contained in:
+2
-1
@@ -1,3 +1,4 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
|
||||
@@ -8,5 +9,5 @@ int main(int argc, char *argv[]) {
|
||||
write(STDOUT_FILENO, " ", 1);
|
||||
}
|
||||
write(STDOUT_FILENO, "\n", 1);
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
+3
-2
@@ -1,6 +1,7 @@
|
||||
#include <dirent.h>
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main(void) {
|
||||
printf("%lu\n", sizeof(struct dirent));
|
||||
@@ -9,7 +10,7 @@ int main(void) {
|
||||
|
||||
if (dir == NULL) {
|
||||
perror("opendir");
|
||||
return 1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
struct dirent* entry;
|
||||
@@ -38,5 +39,5 @@ int main(void) {
|
||||
|
||||
closedir(dir);
|
||||
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ int main(void) {
|
||||
int len = scandir("example_dir/", &array, filter, alphasort);
|
||||
if (len < 0) {
|
||||
perror("scandir");
|
||||
return -1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
for(int i = 0; i < len; i += 1) {
|
||||
|
||||
+2
-1
@@ -1,5 +1,6 @@
|
||||
#include <unistd.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
|
||||
@@ -7,5 +8,5 @@ int main(void) {
|
||||
chdir("nonexistent");
|
||||
printf("errno: %d = %s\n", errno, strerror(errno));
|
||||
perror("perror");
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include <fcntl.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
|
||||
int main(void) {
|
||||
@@ -6,9 +7,9 @@ int main(void) {
|
||||
if (fd >= 0) {
|
||||
write(fd, "Hello World!\n", 13);
|
||||
close(fd);
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
} else {
|
||||
write(STDERR_FILENO, "creat failed\n", 13);
|
||||
return 1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
}
|
||||
|
||||
+2
-1
@@ -1,5 +1,6 @@
|
||||
#include <fcntl.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
|
||||
int main(void) {
|
||||
@@ -10,5 +11,5 @@ int main(void) {
|
||||
printf("fd %d duped into fd %d\n", newfd, newfd2);
|
||||
close(newfd);
|
||||
close(newfd2);
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
+1
-1
@@ -77,5 +77,5 @@ int main(void) {
|
||||
printf("Testing libgen.h\n");
|
||||
test_basename();
|
||||
test_dirname();
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
+2
-1
@@ -1,9 +1,10 @@
|
||||
#include <math.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main(void) {
|
||||
double pi = 3.14;
|
||||
float c = cos(pi);
|
||||
printf("cos(%f) = %f\n", pi, c);
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ int main(void) {
|
||||
errcode = getaddrinfo("www.redox-os.org", NULL, &hints, &res);
|
||||
if (errcode != 0) {
|
||||
perror("getaddrinfo");
|
||||
return -1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
while (res) {
|
||||
@@ -46,5 +46,5 @@ int main(void) {
|
||||
res = res->ai_next;
|
||||
}
|
||||
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
+8
-8
@@ -19,7 +19,7 @@ int main(void) {
|
||||
struct passwd *pwd = getpwuid(0);
|
||||
if (errno != 0) {
|
||||
perror("getpwuid");
|
||||
return 1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
if (pwd != NULL) {
|
||||
print(pwd);
|
||||
@@ -30,7 +30,7 @@ int main(void) {
|
||||
pwd = getpwnam("nobody");
|
||||
if (errno != 0) {
|
||||
perror("getpwnam");
|
||||
return 1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
if (pwd != NULL) {
|
||||
print(pwd);
|
||||
@@ -43,12 +43,12 @@ int main(void) {
|
||||
if (getpwuid_r(0, &pwd2, buf, 100, &result) < 0) {
|
||||
perror("getpwuid_r");
|
||||
free(buf);
|
||||
return 1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
if (result != NULL) {
|
||||
if (result != &pwd2) {
|
||||
free(buf);
|
||||
return 1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
print(&pwd2);
|
||||
}
|
||||
@@ -57,12 +57,12 @@ int main(void) {
|
||||
if (getpwnam_r("nobody", &pwd2, buf, 100, &result) < 0) {
|
||||
perror("getpwuid_r");
|
||||
free(buf);
|
||||
return 1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
if (result != NULL) {
|
||||
if (result != &pwd2) {
|
||||
free(buf);
|
||||
return 1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
print(&pwd2);
|
||||
}
|
||||
@@ -72,11 +72,11 @@ int main(void) {
|
||||
char buf2[1];
|
||||
if (getpwuid_r(0, &pwd2, buf2, 1, &result) == 0) {
|
||||
puts("This shouldn't have succeeded, but did!");
|
||||
return 1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
if (errno != ERANGE) {
|
||||
perror("getpwuid_r");
|
||||
return 1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
puts("Returned ERANGE because the buffer was too small 👍");
|
||||
}
|
||||
|
||||
+3
-2
@@ -1,5 +1,6 @@
|
||||
#include <regex.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main(void) {
|
||||
regex_t regex;
|
||||
@@ -10,7 +11,7 @@ int main(void) {
|
||||
regerror(error, ®ex, error_buf, 255);
|
||||
error_buf[255] = 0;
|
||||
printf("regcomp error: %d = %s\n", error, error_buf);
|
||||
return -1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
regmatch_t matches[3] = {{0}};
|
||||
@@ -22,7 +23,7 @@ int main(void) {
|
||||
if (error) {
|
||||
regerror(error, ®ex, error_buf, 255);
|
||||
printf("regexec error: %d = %s\n", error, error_buf);
|
||||
return -1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
for (int group = 0; group < 3; group += 1) {
|
||||
|
||||
@@ -10,7 +10,7 @@ int main(void) {
|
||||
struct rusage r_usage;
|
||||
if (getrusage(RUSAGE_SELF, &r_usage) < 0) {
|
||||
perror("getrusage");
|
||||
return 1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
printf("ru_utime:");
|
||||
ptimeval(&r_usage.ru_utime);
|
||||
|
||||
+3
-2
@@ -1,5 +1,6 @@
|
||||
#include <signal.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include <errno.h>
|
||||
|
||||
@@ -11,14 +12,14 @@ int main(void) {
|
||||
if (signal(SIGUSR1, &handler) == SIG_ERR) {
|
||||
puts("Signal error!");
|
||||
printf("%d\n", errno);
|
||||
return 1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
puts("Raising...");
|
||||
if (raise(SIGUSR1)) {
|
||||
puts("Raise error!");
|
||||
printf("%d\n", errno);
|
||||
return 1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
puts("Raised.");
|
||||
}
|
||||
|
||||
+1
-1
@@ -9,5 +9,5 @@ int main(void) {
|
||||
printf("%s\n", fgets(in, 30, f));
|
||||
setvbuf(stdout, 0, _IONBF, 0);
|
||||
printf("Hello\n");
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
+2
-1
@@ -1,4 +1,5 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main(void) {
|
||||
//FILE *f = fopen("/etc/ssl/certs/ca-certificates.crt", "r");
|
||||
@@ -12,7 +13,7 @@ int main(void) {
|
||||
puts("EOF");
|
||||
if (!feof(f)) {
|
||||
puts("feof() not updated!");
|
||||
return -1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
+1
-1
@@ -7,5 +7,5 @@ int main(void) {
|
||||
char *in = "Hello World!";
|
||||
fputs(in, f); // calls fwrite, helpers::fwritex, internal::to_write and internal::stdio_write
|
||||
fclose(f);
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
+3
-2
@@ -1,5 +1,6 @@
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main(void) {
|
||||
FILE *fp = fopen("stdio/fread.in", "rb");
|
||||
@@ -8,7 +9,7 @@ int main(void) {
|
||||
for (int i = 1; i <= 32; ++i) {
|
||||
if (fread(buf, 1, i, fp) < 0) {
|
||||
perror("fread");
|
||||
return 0;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
buf[i] = 0;
|
||||
|
||||
@@ -17,5 +18,5 @@ int main(void) {
|
||||
|
||||
fclose(fp);
|
||||
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main(void) {
|
||||
freopen("stdio/stdio.in", "r", stdin);
|
||||
char in[6];
|
||||
fgets(in, 6, stdin);
|
||||
printf("%s\n", in); // should print Hello
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
+2
-1
@@ -1,10 +1,11 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main(void) {
|
||||
FILE *f = fopen("stdio/stdio.in", "r");
|
||||
if (fseek(f, 14, SEEK_CUR) < 0) {
|
||||
puts("fseek error");
|
||||
return 1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
char buffer[256];
|
||||
printf("%s", fgets(buffer, 256, f));
|
||||
|
||||
@@ -7,18 +7,18 @@ int main(void) {
|
||||
const char ptr[] = "Hello World!";
|
||||
|
||||
if (fwrite(ptr, 0, 17, f)) {
|
||||
return -1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
if (fwrite(ptr, 7, 0, f)) {
|
||||
return -1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
if (fwrite(ptr, 0, 0, f)) {
|
||||
return -1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
fwrite(ptr, sizeof(ptr), 1, f);
|
||||
fclose(f);
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main(void) {
|
||||
ungetc('h', stdin);
|
||||
char c;
|
||||
if ((c = getchar()) == 'h') {
|
||||
printf("Worked!\n");
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
printf("failed :( %c\n", c);
|
||||
return 0;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
+4
-3
@@ -1,4 +1,5 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main(void) {
|
||||
FILE* f = fopen("stdio/stdio.in", "r");
|
||||
@@ -10,17 +11,17 @@ int main(void) {
|
||||
|
||||
if (!ftrylockfile(f)) {
|
||||
puts("Mutex unlocked but it shouldn't be");
|
||||
return -1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
funlockfile(f);
|
||||
|
||||
if (ftrylockfile(f)) {
|
||||
puts("Mutex locked but it shouldn't be");
|
||||
return -1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
if (!ftrylockfile(f)) {
|
||||
puts("Mutex unlocked but it shouldn't be");
|
||||
return -1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
funlockfile(f);
|
||||
}
|
||||
|
||||
+4
-3
@@ -1,4 +1,5 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main(void) {
|
||||
FILE *fp;
|
||||
@@ -9,7 +10,7 @@ int main(void) {
|
||||
fp = popen("ls -1 example_dir", "r");
|
||||
if (fp == NULL) {
|
||||
perror("popen");
|
||||
return -1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
while (fgets(path, 256, fp) != NULL) {
|
||||
@@ -20,10 +21,10 @@ int main(void) {
|
||||
status = pclose(fp);
|
||||
if (status == -1) {
|
||||
perror("pclose");
|
||||
return -1;
|
||||
return EXIT_FAILURE;
|
||||
} else {
|
||||
printf("status %x\n", status);
|
||||
}
|
||||
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main(void) {
|
||||
int sofar = 0;
|
||||
@@ -48,5 +49,5 @@ int main(void) {
|
||||
printf("%G\n", 0.0001);
|
||||
printf("%G\n", 0.00001);
|
||||
printf("%E\n", 0.00001);
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#include <stdio.h>
|
||||
#include <fcntl.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
|
||||
@@ -20,8 +21,8 @@ int main(void) {
|
||||
close(fd);
|
||||
remove(newpath);
|
||||
if (strcmp(str, buf) == 0) {
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
} else {
|
||||
return -1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,5 +10,5 @@ int main(void) {
|
||||
char *in = malloc(30);
|
||||
printf("%s\n", fgets(in, 30, f));
|
||||
printf("Hello\n");
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
int main(void) {
|
||||
@@ -11,7 +12,7 @@ int main(void) {
|
||||
);
|
||||
if (ret != 68) {
|
||||
printf("Failed! Return value was %d\n", ret);
|
||||
return -1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
memset(buffer, 0, sizeof(buffer));
|
||||
@@ -24,7 +25,7 @@ int main(void) {
|
||||
);
|
||||
if (ret != 86) {
|
||||
printf("Failed! Return value was %d\n", ret);
|
||||
return -1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
puts(buffer);
|
||||
|
||||
+3
-3
@@ -6,7 +6,7 @@ int main(void) {
|
||||
long l = a64l(s);
|
||||
if (l != 194301926) {
|
||||
printf("Invalid result: a64l(%s) = %ld\n", s, l);
|
||||
return 1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
printf("Correct a64l: %s = %ld\n", s, l);
|
||||
|
||||
@@ -15,8 +15,8 @@ int main(void) {
|
||||
l = a64l(s);
|
||||
if (l != 53222) {
|
||||
printf("Invalid result: a64l(%s) = %ld\n", s, l);
|
||||
return 1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
printf("Correct a64l: %s = %ld\n", s, l);
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -25,5 +25,5 @@ int main(void) {
|
||||
}
|
||||
free(ptra);
|
||||
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
+1
-1
@@ -4,5 +4,5 @@
|
||||
int main(void) {
|
||||
double d = atof("-3.14");
|
||||
printf("%f\n", d);
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
+1
-1
@@ -8,5 +8,5 @@ int main(void) {
|
||||
printf("%ld\n", atol(" -42"));
|
||||
printf("%ld\n", atol(" +555"));
|
||||
printf("%ld\n", atol(" 1234567890 "));
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ int int_cmp(const void* a, const void* b) {
|
||||
size_t i = 0; \
|
||||
for (; i < len; ++i) printf("%d,", arr[i]); \
|
||||
printf("] expected %p but got %p\n", (void*) expect, res); \
|
||||
return 1; \
|
||||
return EXIT_FAILURE; \
|
||||
} \
|
||||
} while (0);
|
||||
|
||||
@@ -53,5 +53,5 @@ int main(void) {
|
||||
BSEARCH_TEST_INT(x, big, 7, NULL);
|
||||
|
||||
printf("PASS bsearch\n");
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
+1
-1
@@ -18,6 +18,6 @@ int main(void) {
|
||||
_Exit(0);
|
||||
|
||||
;
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -34,7 +34,7 @@ int main(void) {
|
||||
if (env) {
|
||||
puts("This should be null, but isn't");
|
||||
puts(env);
|
||||
return 1;
|
||||
return EXIT_FAILURE;
|
||||
} else {
|
||||
puts("Value deleted successfully!");
|
||||
}
|
||||
|
||||
@@ -23,5 +23,5 @@ int main(void) {
|
||||
}
|
||||
fclose(fp);
|
||||
remove(file_name);
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -8,5 +8,5 @@ int main(void) {
|
||||
mktemp(string);
|
||||
printf("%s\n",string);
|
||||
free(string);
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ int main(void) {
|
||||
char* path = realpath("stdlib/realpath.c", NULL);
|
||||
if (!path) {
|
||||
perror("realpath");
|
||||
return -1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
puts(path);
|
||||
|
||||
@@ -21,7 +21,7 @@ int main(void) {
|
||||
if (!path) {
|
||||
perror("realpath");
|
||||
free(path);
|
||||
return -1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
puts(path);
|
||||
|
||||
|
||||
@@ -27,5 +27,5 @@ int main(void) {
|
||||
printf("errno is not 0 (%d), something went wrong\n", errno);
|
||||
}
|
||||
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -26,5 +26,5 @@ int main(void) {
|
||||
printf("errno is not 0 (%d), something went wrong\n", errno);
|
||||
}
|
||||
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -2,5 +2,5 @@
|
||||
|
||||
int main(void) {
|
||||
system("echo test of system");
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
+7
-7
@@ -9,7 +9,7 @@ int main(void) {
|
||||
arr[50] = 1;
|
||||
if ((size_t)memchr((void *)arr, 1, 100) - (size_t)arr != 50) {
|
||||
puts("Incorrect memchr");
|
||||
exit(1);
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
puts("Correct memchr");
|
||||
char arr2[51];
|
||||
@@ -17,26 +17,26 @@ int main(void) {
|
||||
memccpy((void *)arr2, (void *)arr, 1, 100);
|
||||
if (arr[50] != 1) {
|
||||
puts("Incorrect memccpy");
|
||||
exit(1);
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
puts("Correct memccpy");
|
||||
int res;
|
||||
if ((res = memcmp("hello world", "hello world", 11))) {
|
||||
printf("Incorrect memcmp (1), expected 0 found %d\n", res);
|
||||
exit(1);
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
if ((res = memcmp("hello world", "hello worlt", 11)) >= 0) {
|
||||
printf("Incorrect memcmp (2), expected -, found %d\n", res);
|
||||
exit(1);
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
if ((res = memcmp("hello world", "hallo world", 5)) <= 0) {
|
||||
printf("Incorrect memcmp (3), expected +, found %d\n", res);
|
||||
exit(1);
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
if ((res = memcmp("hello world", "henlo world", 5)) >= 0) {
|
||||
printf("Incorrect memcmp (4), expected -, found %d\n", res);
|
||||
exit(1);
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
puts("Correct memcmp");
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main(void) {
|
||||
char dest1[12] = "hello";
|
||||
@@ -8,5 +9,5 @@ int main(void) {
|
||||
char dest2[12] = "hello";
|
||||
printf("%s\n", strncat(dest2, " world foobar", 6)); // should be hello world
|
||||
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main(void) {
|
||||
printf("%s\n", strchr("hello", 'e')); // should be ello
|
||||
printf("%s\n", strchr("world", 'l')); // should be ld
|
||||
printf("%i\n", strchr("world", 0) == NULL); // should be 1
|
||||
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main(void) {
|
||||
char *world = "world";
|
||||
printf("%ld\n", strcspn("hello", world)); // should be 2
|
||||
printf("%ld\n", strcspn("banana", world)); // should be 6
|
||||
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main(void) {
|
||||
printf("%d\n", strncmp("a", "aa", 2));
|
||||
@@ -9,5 +10,5 @@ int main(void) {
|
||||
printf("%d\n", strncmp("a", "c", 1));
|
||||
printf("%d\n", strncmp("a", "a", 2));
|
||||
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main(void) {
|
||||
char* source = "The quick drawn fix jumps over the lazy bug";
|
||||
@@ -16,5 +17,5 @@ int main(void) {
|
||||
char* res3 = strpbrk(source, "404");
|
||||
printf("%s\n", (res3) ? res3 : "NULL");
|
||||
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main(void) {
|
||||
char s0[] = "hello, world";
|
||||
@@ -7,15 +8,15 @@ int main(void) {
|
||||
if (ptr != &s0[10]) {
|
||||
printf("%p != %p\n", ptr, &s0[10]);
|
||||
printf("strrchr FAIL , exit with status code %d\n", 1);
|
||||
return 1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
char s1[] = "";
|
||||
ptr = strrchr(s1, 'a');
|
||||
if (ptr != NULL) {
|
||||
printf("%p != 0\n", ptr);
|
||||
printf("strrchr FAIL, exit with status code %d\n", 1);
|
||||
return 1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
printf("strrch PASS, exiting with status code %d\n", 0);
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main(void) {
|
||||
char *hello = "hello";
|
||||
@@ -9,5 +10,5 @@ int main(void) {
|
||||
printf("%lu\n", strspn(world, "wendy")); // should be 1
|
||||
printf("%lu\n", strspn(banana, "apple")); // should be 0
|
||||
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main(void) {
|
||||
printf("%s\n", strstr("In relibc we trust", "rust"));
|
||||
@@ -8,5 +9,5 @@ int main(void) {
|
||||
printf("%s\n", strstr("IN RELIBC WE TRUST", "rust"));
|
||||
printf("%s\n", strcasestr("IN RELIBC WE TRUST", "rust"));
|
||||
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main(void) {
|
||||
char source[] = "I'd just like to interject for a moment. What you're referring to as Linux, "
|
||||
@@ -13,5 +14,5 @@ int main(void) {
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main(void) {
|
||||
char source[] = "I'd just like to interject for a moment. What you're referring to as Linux, "
|
||||
@@ -14,5 +15,5 @@ int main(void) {
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ int main(void) {
|
||||
char *time_string = asctime(time_info);
|
||||
|
||||
if (time_string == NULL || strcmp(time_string, "Thu Jan 1 00:00:00 1970\n") != 0) {
|
||||
exit(1);
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
+3
-3
@@ -14,7 +14,7 @@ int main(void) {
|
||||
info->tm_year != expected.tm_year || info->tm_wday != expected.tm_wday ||
|
||||
info->tm_yday != expected.tm_yday || info->tm_isdst != expected.tm_isdst ||
|
||||
info->tm_gmtoff != expected.tm_gmtoff || strcmp(info->tm_zone, expected.tm_zone) != 0) {
|
||||
exit(1);
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
if (info->tm_sec != expected.tm_sec || info->tm_min != expected.tm_min ||
|
||||
@@ -22,7 +22,7 @@ int main(void) {
|
||||
info->tm_year != expected.tm_year || info->tm_wday != expected.tm_wday ||
|
||||
info->tm_yday != expected.tm_yday || info->tm_isdst != expected.tm_isdst ||
|
||||
info->tm_gmtoff != expected.tm_gmtoff || strcmp(info->tm_zone, expected.tm_zone) != 0) {
|
||||
exit(1);
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
+3
-3
@@ -14,9 +14,9 @@ int check(time_t input) {
|
||||
t->tm_year, t->tm_yday, t->tm_mon, t->tm_mday, t->tm_wday, t->tm_hour, t->tm_min, t->tm_sec
|
||||
);
|
||||
puts("Failed!");
|
||||
return -1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
int main(void) {
|
||||
@@ -31,7 +31,7 @@ int main(void) {
|
||||
time_t inputs[] = { -(day * 33), -day, -500, 0, 1531454950 };
|
||||
for (int i = 0; i < 5; i += 1) {
|
||||
if (check(inputs[i])) {
|
||||
return -1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+5
-4
@@ -1,5 +1,6 @@
|
||||
#include <time.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main(void) {
|
||||
struct timespec tm = {0, 0};
|
||||
@@ -7,20 +8,20 @@ int main(void) {
|
||||
int cgt = clock_gettime(CLOCK_REALTIME, &tm);
|
||||
if (cgt == -1) {
|
||||
perror("clock_gettime");
|
||||
return 1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
time_t t = time(NULL);
|
||||
if (t == (time_t)-1) {
|
||||
perror("time");
|
||||
return 1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
clock_t c = clock();
|
||||
if (c == (clock_t)-1) {
|
||||
perror("clock");
|
||||
return 1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -1,14 +1,15 @@
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main(void) {
|
||||
if (access("example_dir/1-never-gonna-give-you-up", R_OK | W_OK)) {
|
||||
perror("access");
|
||||
return 1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
if (!access("example_dir/1-never-gonna-give-you-up", X_OK)) {
|
||||
puts("Accessing a file with X_OK worked even though it... probably... shouldn't?");
|
||||
puts("Please run `chmod 644 example_dir/*` and try again.");
|
||||
return 1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
}
|
||||
|
||||
+2
-1
@@ -1,8 +1,9 @@
|
||||
#include <unistd.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main(void) {
|
||||
int status = brk((void*)100);
|
||||
printf("brk exited with status code %d\n", status);
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -12,5 +12,5 @@ int main(void) {
|
||||
getcwd(cwd2, 4096);
|
||||
printf("final cwd: %s\n", cwd2);
|
||||
free(cwd2);
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
+2
-1
@@ -1,6 +1,7 @@
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main(void) {
|
||||
creat("dup.out", 0777);
|
||||
@@ -13,5 +14,5 @@ int main(void) {
|
||||
dup2(fd3, 1);
|
||||
printf("hello fd %d", fd3);
|
||||
close(fd3);
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
+2
-1
@@ -1,9 +1,10 @@
|
||||
#include <unistd.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main(void) {
|
||||
char* args[] = {"sh", "-c", "echo 'exec works :D'", NULL};
|
||||
execv("/bin/sh", args);
|
||||
perror("execv");
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main(void) {
|
||||
int fd = open("..", 0, 0);
|
||||
@@ -8,5 +9,5 @@ int main(void) {
|
||||
status = fchdir(fd);
|
||||
printf("fchdir exited with status code %d\n", status);
|
||||
close(fd);
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main(void) {
|
||||
int fd = open(".", 0, 0);
|
||||
@@ -8,5 +9,5 @@ int main(void) {
|
||||
status = fsync(fd);
|
||||
printf("fsync exited with status code %d\n", status);
|
||||
close(fd);
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main(void) {
|
||||
int fd = creat("ftruncate.out", 0777);
|
||||
@@ -8,5 +9,5 @@ int main(void) {
|
||||
status = ftruncate(fd, 100);
|
||||
printf("ftruncate exited with status code %d\n", status);
|
||||
close(fd);
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ int main(void) {
|
||||
if (strcmp(first, second)) {
|
||||
puts("Not matching");
|
||||
free(second);
|
||||
return 1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
free(second);
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#include <unistd.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main(void) {
|
||||
gid_t egid = getegid();
|
||||
@@ -11,5 +12,5 @@ int main(void) {
|
||||
uid_t uid = getuid();
|
||||
printf("egid: %d, euid: %d, gid: %d, pgid: %d, pid: %d, ppid %d, uid %d\n",
|
||||
egid, euid, gid, pgid, pid, ppid, uid);
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
+5
-4
@@ -1,5 +1,6 @@
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <sys/stat.h>
|
||||
#include <unistd.h>
|
||||
|
||||
@@ -11,7 +12,7 @@ int main(void) {
|
||||
// Stat for the inode
|
||||
if (stat("unistd/link.c", &buf)) {
|
||||
perror("stat");
|
||||
return 1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
unsigned long inode = buf.st_ino;
|
||||
printf("%ld\n", inode);
|
||||
@@ -19,7 +20,7 @@ int main(void) {
|
||||
// Create the link
|
||||
if (link("unistd/link.c", "link.out")) {
|
||||
perror("link");
|
||||
return 1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
// Make sure inodes match
|
||||
@@ -37,10 +38,10 @@ int main(void) {
|
||||
// Remove link
|
||||
if (unlink("link.out")) {
|
||||
perror("unlink");
|
||||
return 1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
if (!stat("link.out", &buf) || errno != ENOENT) {
|
||||
perror("stat");
|
||||
return 1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#define PC(N) { \
|
||||
@@ -29,5 +30,5 @@ int main(void) {
|
||||
PC(ALLOC_SIZE_MIN);
|
||||
PC(SYMLINK_MAX);
|
||||
PC(2_SYMLINKS);
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
+10
-9
@@ -1,5 +1,6 @@
|
||||
//http://www2.cs.uregina.ca/~hamilton/courses/330/notes/unix/pipes/pipes.html
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
|
||||
@@ -10,7 +11,7 @@ int main(void) {
|
||||
|
||||
if (pipe(pip) < 0) {
|
||||
perror("pipe");
|
||||
return 1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
pid = fork();
|
||||
@@ -28,13 +29,13 @@ int main(void) {
|
||||
/* check result */
|
||||
if (bytes < 0) {
|
||||
perror("pipe write");
|
||||
return 1;
|
||||
return EXIT_FAILURE;
|
||||
} else if (bytes != strlen(outstring)) {
|
||||
fprintf(stderr, "pipe write: %d != %ld\n", bytes, strlen(outstring));
|
||||
return 1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
else /* parent : receives message from child */
|
||||
{
|
||||
@@ -53,18 +54,18 @@ int main(void) {
|
||||
/* check result */
|
||||
if (bytes < 0) {
|
||||
perror("pipe read");
|
||||
return 1;
|
||||
return EXIT_FAILURE;
|
||||
} else if (bytes != strlen(outstring)) {
|
||||
fprintf(stderr, "pipe read: %d != %ld\n", bytes, strlen(outstring));
|
||||
return 1;
|
||||
return EXIT_FAILURE;
|
||||
} else if (memcmp(instring, outstring, strlen(outstring)) != 0) {
|
||||
fprintf(stderr, "pipe read does not match pipe write\n");
|
||||
return 1;
|
||||
return EXIT_FAILURE;
|
||||
} else {
|
||||
printf("%s\n", instring);
|
||||
}
|
||||
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
#include <unistd.h>
|
||||
#include <sys/stat.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main(void) {
|
||||
mkdir("foo", 0);
|
||||
int status = rmdir("foo");
|
||||
printf("rmdir exited with status code %d\n", status);
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -22,5 +22,5 @@ int main(void) {
|
||||
perror( "setreuid" );
|
||||
}
|
||||
printf("%d has euid %d and uid %d\n", getpid(), geteuid(), getuid());
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include <time.h>
|
||||
#include <unistd.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main(void) {
|
||||
sleep(2);
|
||||
@@ -10,5 +11,5 @@ int main(void) {
|
||||
struct timespec tm = {0, 10000};
|
||||
nanosleep(&tm, NULL);
|
||||
perror("nanosleep");
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
+2
-1
@@ -1,5 +1,6 @@
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <sys/stat.h>
|
||||
#include <unistd.h>
|
||||
|
||||
@@ -10,7 +11,7 @@ int main(void) {
|
||||
|
||||
if (stat("unistd/stat.c", &buf)) {
|
||||
perror("stat");
|
||||
return 1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
printf("st_size: %lu\n", buf.st_size);
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#define SC(N) { \
|
||||
@@ -22,5 +23,5 @@ int main(void) {
|
||||
SC(TTY_NAME_MAX);
|
||||
SC(SYMLOOP_MAX);
|
||||
SC(HOST_NAME_MAX);
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
|
||||
int main(void) {
|
||||
write(STDOUT_FILENO, "Hello World!\n", 13);
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
+2
-2
@@ -7,11 +7,11 @@ int main(void) {
|
||||
if (pid == 0) {
|
||||
// child
|
||||
sleep(1);
|
||||
exit(0);
|
||||
return EXIT_SUCCESS;
|
||||
} else {
|
||||
// parent
|
||||
int stat_loc;
|
||||
waitpid(pid, &stat_loc, 0);
|
||||
}
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -12,9 +12,9 @@ int main(void) {
|
||||
if (0xFFFFFFFFu == putwchar(wcs[i]))
|
||||
{
|
||||
printf("Unable to putwchar() the wide character.\n");
|
||||
exit(EXIT_FAILURE);
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user