summaryrefslogtreecommitdiff
path: root/tests/readlink.c
blob: 65311c2ff7959cbdc3095182e27dd176d32391c1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/* test whether readlink returns a short buffer correctly. */

#if defined(HAVE_UNISTD_H)
#include <unistd.h>
#endif

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

#define DATA "readlink.test"
#define FNAME "rdlnk.file"

int main(void)
{
	char buf[7];
	int ret;
	ssize_t rl_ret;

	unlink(FNAME);
	ret = symlink(DATA, FNAME);
	if (ret == -1) {
		exit(1);
	}

	rl_ret = readlink(FNAME, buf, sizeof(buf));
	if (rl_ret == -1) {
		unlink(FNAME);
		exit(1);
	}
	unlink(FNAME);
	exit(0);
}