up io error count if not exiting
[tridge/junkcode.git] / maxpath.c
1 #include <sys/param.h>
2 #include <stdio.h>
3 #include <string.h>
4 #include <stdlib.h>
5
6  size_t strlcpy(char *d, const char *s, size_t bufsize)
7 {
8         size_t len = strlen(s);
9         size_t ret = len;
10         if (bufsize <= 0) return 0;
11         if (len >= bufsize) len = bufsize-1;
12         memcpy(d, s, len);
13         d[len] = 0;
14         return ret;
15 }
16
17 static unsigned char read_byte(void)
18 {
19         return 254;
20 }
21
22 main()
23 {
24         char *dirname;
25         int off;
26         char *p;
27         char *basename = "test";
28         p = malloc(MAXPATHLEN);
29         int len = read_byte();
30
31         printf("len=%d\n", len);
32
33         dirname = malloc(MAXPATHLEN+1);
34         memset(dirname, 'x', MAXPATHLEN);
35         dirname[MAXPATHLEN-2] = 0;
36
37         off = strlcpy(p, dirname, MAXPATHLEN);
38         printf("off=%d\n", off);
39         off += strlcpy(p + off, "/", MAXPATHLEN - off);
40         printf("off=%d\n", off);
41         off += strlcpy(p + off, basename, MAXPATHLEN - off);
42         printf("off=%d\n", off);
43
44         printf("%d\n", MAXPATHLEN);
45 }