[srm-devel] [srm commit] srm/src sunlink.c,1.43,1.44
srm is a command-line program to delete files securely.
Brought to you by:
doj
From: Dirk J. <do...@us...> - 2013-12-24 19:11:54
|
Update of /cvsroot/srm/srm/src In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv7579/src Modified Files: sunlink.c Log Message: fiddle with header includes and defines Index: sunlink.c =================================================================== RCS file: /cvsroot/srm/srm/src/sunlink.c,v retrieving revision 1.43 retrieving revision 1.44 diff -u -d -r1.43 -r1.44 --- sunlink.c 24 Dec 2013 06:13:23 -0000 1.43 +++ sunlink.c 24 Dec 2013 19:11:51 -0000 1.44 @@ -25,6 +25,7 @@ #if defined(__APPLE__) #include <sys/disk.h> +#include <sys/paths.h> #endif #if defined(HAVE_SYS_PARAM_H) && defined(HAVE_SYS_MOUNT_H) @@ -54,8 +55,11 @@ #if defined(HAVE_ATTR_XATTR_H) #include <attr/xattr.h> +#undef HAVE_SYS_XATTR_H +#undef HAVE_SYS_EXTATTR_H #elif defined(HAVE_SYS_XATTR_H) #include <sys/xattr.h> +#undef HAVE_SYS_EXTATTR_H #elif defined(HAVE_SYS_EXTATTR_H) #include <sys/extattr.h> #include <libutil.h> @@ -68,8 +72,6 @@ #define O_SYNC 0 #endif -#define NO_UNLINK 0 - #define KiB 1024 #define MiB (KiB*KiB) #define GiB (KiB*KiB*KiB) @@ -206,7 +208,7 @@ #if defined(HAVE_ATTR_XATTR_H) || defined(HAVE_SYS_XATTR_H) #if defined(HAVE_ATTR_XATTR_H) len = flistxattr(srm->fd, list, list_size); -#elif defined(HAVE_SYS_XATTR_H) +#elif defined(HAVE_SYS_XATTR_H) && defined(__APPLE__) len = flistxattr(srm->fd, list, list_size, 0); #endif if (len < 0 && errno == ERANGE) { @@ -241,7 +243,7 @@ key_len = strlen(key); #if defined(HAVE_ATTR_XATTR_H) val_len = fgetxattr(srm->fd, key, NULL, 0); -#elif defined(HAVE_SYS_XATTR_H) +#elif defined(HAVE_SYS_XATTR_H) && defined(__APPLE__) val_len = fgetxattr(srm->fd, key, NULL, 0, 0, 0); #endif #elif defined(HAVE_SYS_EXTATTR_H) @@ -270,7 +272,7 @@ } #if defined(HAVE_ATTR_XATTR_H) ret = fsetxattr(srm->fd, key, value, val_len, XATTR_REPLACE); -#elif defined(HAVE_SYS_XATTR_H) +#elif defined(HAVE_SYS_XATTR_H) && defined(__APPLE__) ret = fsetxattr(srm->fd, key, value, val_len, 0, XATTR_REPLACE); #elif defined(HAVE_SYS_EXTATTR_H) ret = extattr_set_fd(srm->fd, attrnamespace, key, value, val_len); @@ -568,7 +570,7 @@ u_=((uint64_t)blocks)*secsize; if(u_ != u) - printf("!Warning! sectorsize*blocks:%llu != bytes:%llu\n", u_, u); + printf("!Warning! sectorsize*blocks:%llu != bytes:%llu\n", (long long unsigned) u_, (long long unsigned) u); srm.file_size = u; srm.buffer_size = secsize; @@ -719,14 +721,12 @@ ioctl(srm.fd, EXT2_IOC_SETFLAGS, EXT2_SECRM_FL); #endif -#if !NO_UNLINK if (ftruncate(srm.fd, 0) < 0) { int e=errno; close(srm.fd); errno=e; return -1; } -#endif close(srm.fd); srm.fd = -1; @@ -734,18 +734,17 @@ #ifdef __APPLE__ /* Also overwrite the file's resource fork, if present. */ { -#define RSRCFORKSPEC "/..namedfork/rsrc" struct srm_target rsrc; rsrc.buffer = srm.buffer; rsrc.buffer_size = srm.buffer_size; - rsrc.file_name = (char *)alloca(strlen(srm.file_name) + sizeof(RSRCFORKSPEC) + 1); + rsrc.file_name = (char *)alloca(strlen(srm.file_name) + sizeof(_PATH_RSRCFORKSPEC) + 1); if (rsrc.file_name == NULL) { errno = ENOMEM; goto rsrc_fork_failed; } - if (snprintf((char*)rsrc.file_name, MAXPATHLEN, RSRCFORKSPEC "%s", srm.file_name) > MAXPATHLEN - 1) + if (snprintf((char*)rsrc.file_name, MAXPATHLEN, _PATH_RSRCFORKSPEC "%s", srm.file_name) > MAXPATHLEN - 1) { errno = ENAMETOOLONG; goto rsrc_fork_failed; @@ -794,9 +793,5 @@ } #endif /* __APPLE__ */ -#if NO_UNLINK - return 0; -#else return rename_unlink(srm.file_name); -#endif } |