Fixup fromcvs/togit conversion
[minix-pkgsrc.git] / filesystems / fuse-loggedfs / patches / patch-aa
blobc46413342db3db84378fd476af29f77dab7bbf60
1 $NetBSD$
3 --- src/loggedfs.cpp    2007/02/21 21:49:53     1.1
4 +++ src/loggedfs.cpp    2007/02/21 21:51:15
5 @@ -30,7 +30,11 @@
6  #include <fcntl.h>
7  #include <dirent.h>
8  #include <errno.h>
9 +#ifdef HAVE_SYS_STATVFS_H
10 +#include <sys/statvfs.h>
11 +#else
12  #include <sys/statfs.h>
13 +#endif
14  #ifdef HAVE_SETXATTR
15  #include <sys/xattr.h>
16  #endif
17 @@ -85,12 +89,14 @@
19  static char* getAbsolutePath(const char *path)
20  {
21 -    char *realPath=new char[strlen(path)+strlen(loggedfsArgs->mountPoint)+1];
22 +    char *realPath=new char[strlen(path)+strlen(loggedfsArgs->mountPoint)+2];
24 +    (void) snprintf(realPath, strlen(path)+strlen(loggedfsArgs->mountPoint)+2,
25 +               "%s%s%s",
26 +               loggedfsArgs->mountPoint,
27 +               (path[0] == '/') ? "" : "/",
28 +               path);
30 -    strcpy(realPath,loggedfsArgs->mountPoint);
31 -    if (realPath[strlen(realPath)-1]=='/')
32 -        realPath[strlen(realPath)-1]='\0';
33 -    strcat(realPath,path);
34      return realPath;
36  }
37 @@ -156,7 +162,7 @@
39      char *aPath=getAbsolutePath(path);
40      path=getRelativePath(path);
41 -    res = lstat(path, stbuf);
42 +    res = lstat(aPath, stbuf);
43      loggedfs_log(aPath,"getattr",res,"getattr %s",aPath);
44      if(res == -1)
45          return -errno;
46 @@ -210,7 +216,7 @@
47      path=getRelativePath(path);
50 -    dp = opendir(path);
51 +    dp = opendir(aPath);
52      if(dp == NULL) {
53          res = -errno;
54          loggedfs_log(aPath,"readdir",-1,"readdir %s",aPath);
55 @@ -427,7 +433,7 @@
56      return 0;
57  }
59 -#if (FUSE_USE_VERSION==25)
60 +#if (FUSE_USE_VERSION >= 25)
61  static int loggedFS_utime(const char *path, struct utimbuf *buf)
62  {
63      int res;
64 @@ -650,7 +656,11 @@
65  // logging the ~/.kde/share/config directory, in which hard links for lock
66  // files are verified by their inode equivalency.
68 +#ifdef __NetBSD__
69 +#define COMMON_OPTS ""
70 +#else
71  #define COMMON_OPTS "nonempty,use_ino"
72 +#endif
74      while ((res = getopt (argc, argv, "hpfec:l:")) != -1)
75      {
76 @@ -770,7 +780,7 @@
77      loggedFS_oper.chmod        = loggedFS_chmod;
78      loggedFS_oper.chown        = loggedFS_chown;
79      loggedFS_oper.truncate     = loggedFS_truncate;
80 -#if (FUSE_USE_VERSION==25)
81 +#if (FUSE_USE_VERSION >= 25)
82      loggedFS_oper.utime       = loggedFS_utime;
83  #else
84      loggedFS_oper.utimens      = loggedFS_utimens;