Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 4717 → Rev 4718

/branches/network/uspace/app/tester/stdio/stdio2.c
31,38 → 31,53
#include <errno.h>
#include "../tester.h"
 
char * test_stdio2(bool quiet)
char *test_stdio2(void)
{
FILE *f;
FILE *file;
char *file_name = "/test";
int c;
 
printf("Open file '%s' for writing\n", file_name);
TPRINTF("Open file \"%s\" for writing...", file_name);
errno = 0;
f = fopen(file_name, "wt");
 
if (f == NULL)
return "Failed opening file.";
 
fprintf(f, "Integer: %d, string: '%s'\n", 42, "Hello!");
if (fclose(f) != 0)
return "Failed closing file.";
 
printf("Open file '%s' for reading\n", file_name);
 
f = fopen(file_name, "rt");
if (f == NULL)
return "Failed opening file.";
 
printf("File contains:\n");
file = fopen(file_name, "wt");
if (file == NULL) {
TPRINTF("errno = %d\n", errno);
return "Failed opening file";
} else
TPRINTF("OK\n");
TPRINTF("Write to file...");
fprintf(file, "integer: %u, string: \"%s\"", 42, "Hello!");
TPRINTF("OK\n");
TPRINTF("Close...");
if (fclose(file) != 0) {
TPRINTF("errno = %d\n", errno);
return "Failed closing file";
} else
TPRINTF("OK\n");
TPRINTF("Open file \"%s\" for reading...", file_name);
file = fopen(file_name, "rt");
if (file == NULL) {
TPRINTF("errno = %d\n", errno);
return "Failed opening file";
} else
TPRINTF("OK\n");
TPRINTF("File contains:\n");
while (true) {
c = fgetc(f);
if (c == EOF) break;
putchar(c);
int c = fgetc(file);
if (c == EOF)
break;
TPRINTF("%c", c);
}
 
if (fclose(f) != 0)
return "Failed closing file.";
 
TPRINTF("\nClose...");
if (fclose(file) != 0) {
TPRINTF("errno = %d\n", errno);
return "Failed closing file";
} else
TPRINTF("OK\n");
return NULL;
}