22 lines
474 B
C
Executable file
22 lines
474 B
C
Executable file
/* Try a 0-byte read, which should return 0 without reading
|
|
anything. */
|
|
|
|
#include <syscall.h>
|
|
#include "tests/lib.h"
|
|
#include "tests/main.h"
|
|
|
|
void
|
|
test_main (void)
|
|
{
|
|
int handle, byte_cnt;
|
|
char buf;
|
|
|
|
CHECK ((handle = open ("sample.txt")) > 1, "open \"sample.txt\"");
|
|
|
|
buf = 123;
|
|
byte_cnt = read (handle, &buf, 0);
|
|
if (byte_cnt != 0)
|
|
fail ("read() returned %d instead of 0", byte_cnt);
|
|
else if (buf != 123)
|
|
fail ("0-byte read() modified buffer");
|
|
}
|