diff -urN fakechroot-0.2.6.1+1.1.5.orig/libfakeroot.c fakechroot-0.2.6.1+1.1.5/libfakeroot.c --- fakechroot-0.2.6.1+1.1.5.orig/libfakeroot.c 2005-08-31 17:25:05 +0400 +++ fakechroot-0.2.6.1+1.1.5/libfakeroot.c 2005-08-31 17:25:57 +0400 @@ -1325,6 +1325,27 @@ return fd; } +int mkstemp64(char *template) { + char tmp[MAXPATH], *oldtemplate, *ptr; + int fd,r; + + oldtemplate = template; + + expand_chroot_path(template); + if ((fd = next_mkstemp64(template)) == -1) { + return -1; + } + struct stat st; + r=NEXT_FSTAT(_STAT_VER, fd, &st); + if(!r) + send_stat(&st,chmod_func); + ptr = tmp; + strcpy(ptr, template); + narrow_chroot_path(ptr, fd, errno); + strcpy(oldtemplate, ptr); + return fd; +} + char *tempnam(const char *dir, const char *pfx) { expand_chroot_path(dir); return next_tempnam(dir, pfx); diff -urN fakechroot-0.2.6.1+1.1.5.orig/wrapfunc.inp fakechroot-0.2.6.1+1.1.5/wrapfunc.inp --- fakechroot-0.2.6.1+1.1.5.orig/wrapfunc.inp 2005-08-31 17:25:05 +0400 +++ fakechroot-0.2.6.1+1.1.5/wrapfunc.inp 2005-08-31 17:25:33 +0400 @@ -106,6 +106,7 @@ link;int;(const char *oldpath, const char *newpath);(oldpath, newpath) mktemp;char *;(char *template);(template) mkstemp;int;(char *template);(template) +mkstemp64;int;(char *template);(template) tempnam;char *;(const char *dir, const char *pfx);(dir, pfx) tmpnam;char *;(char *s);(s) mkfifo;int;(const char *pathname, mode_t mode);(pathname, mode)