File: abs_path.c

package info (click to toggle)
libcdio 2.2.0-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 16,140 kB
  • sloc: ansic: 39,407; cpp: 2,556; sh: 1,263; makefile: 826; yacc: 324; ruby: 116; perl: 34
file content (47 lines) | stat: -rw-r--r-- 836 bytes parent folder | download | duplicates (4)
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#ifdef HAVE_CONFIG_H
#include "config.h"
#define __CDIO_CONFIG_H__ 1
#endif

#ifdef HAVE_STDIO_H
#include <stdio.h>
#endif
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
#endif
#ifdef HAVE_STRING_H
#include <string.h>
#endif

char *cdio_abspath(const char *cwd, const char *fname);
char *cdio_dirname(const char *fname);

int
main(int argc, const char *argv[])
{
    const char *cue_filename[] = {
	"/tmp/foo.bar",
	"foo.bar"
    };
    const char *expect[] = {
	"/tmp/baz",
	"./baz"
    };

  int rc=0;
  int i;

  for (i=0; i<2; i++) {
      char *dirname = cdio_dirname(cue_filename[i]);
      char *dest = cdio_abspath(dirname, "baz");
      if (0 != strcmp(expect[i], dest)) {
	  fprintf(stderr, 
		  "Incorrect: expecting %s, got %s.\n",
		  expect[i], dest);
	  rc=i+1;
      }
      free(dirname);
      free(dest);
  }
  exit(rc);
}