1
2#include <stdio.h>
3
4#include <libdk4c/dk4path8.h>
5#include <libdk4base/dk4mem.h>
6#include <libdk4base/dk4str8.h>
7
8#include "string.h"
9
10static const char * const	p1[] = {
11"/usr/local",
12"my/file"
13};
14
15static const char * const	p2[] = {
16"../erwin.txt",
17"../../bla.blubb",
18"../../../test.was.passiert",
19"ganz-langer-test-was-nun-wohl-passiert"
20};
21
22
23static const char * const p3[] = {
24"/var",
25"/usr/local/var/test/nocheins/undimmernocheins",
26"test.dat"
27};
28
29int main(void)
30{
31  char buf[256];
32  char minbuf[16];
33  char *resptr;
34  dk4_er_t	er;
35  const size_t szp1 = sizeof(p1)/sizeof(DK4_PCHAR);
36  const size_t szp2 = sizeof(p2)/sizeof(DK4_PCHAR);
37  const size_t szmb = sizeof(minbuf);
38  size_t i;
39  size_t j;
40
41#if 0
42  for (i = 0; i < szp1; i++) {
43    for (j = 0; j < szp2; j++) {
44      strcpy(buf, p1[i]);
45      dk4error_init(&er);
46      if (dk4path8_append(buf, sizeof(buf), p2[j], &er)) {
47        printf("%u %u = \"%s\"\n", (unsigned)i, (unsigned)j, buf);
48      } else {
49        printf("%u %u ERROR %d\n", (unsigned)i, (unsigned)j, er.ec);
50      }
51    }
52  }
53#endif
54
55  if (0 != dk4path8_concatenate_buffer(minbuf, szmb, p3[0], p3[2], NULL)) {
56    fputs(minbuf, stdout);
57    fputc('\n', stdout);
58  }
59  else {
60    printf("ERROR: Not concatenated!\n");
61  }
62  resptr = dk4path8_concatenate_new(p3[0], p3[2], NULL);
63  if (NULL != resptr) {
64    fputs(resptr, stdout);
65    fputc('\n', stdout);
66    dk4mem_free(resptr);
67  }
68  else {
69    printf("ERROR: Function failed!\n");
70  }
71
72  if (0 != dk4path8_concatenate_buffer(minbuf, szmb, p3[1], p3[2], NULL)) {
73    fputs(minbuf, stdout);
74    fputc('\n', stdout);
75  }
76  else {
77    printf("ERROR: Not concatenated!\n");
78  }
79  resptr = dk4path8_concatenate_new(p3[1], p3[2], NULL);
80  if (NULL != resptr) {
81    fputs(resptr, stdout);
82    fputc('\n', stdout);
83    dk4mem_free(resptr);
84  }
85  else {
86    printf("ERROR: Function failed!\n");
87  }
88
89  return 0;
90}
91
92
93