X-Git-Url: https://git.saurik.com/cydia.git/blobdiff_plain/c44a19de0129e0c7d966a2264b2879e6e050c334..ad502f71d5cd68490d27171c98c0377a2a4ab6fc:/setnsfpn.cpp diff --git a/setnsfpn.cpp b/setnsfpn.cpp index 88dbffdd..9fe555c0 100644 --- a/setnsfpn.cpp +++ b/setnsfpn.cpp @@ -37,18 +37,7 @@ } \ } _value; }) -int $getdirentries(int, char *, int, long *) __asm("_getdirentries"); - -struct $dirent { - __uint32_t d_ino; - __uint16_t d_reclen; - __uint8_t d_type; - __uint8_t d_namlen; - char d_name[__DARWIN_MAXNAMLEN + 1]; -}; - -#define getdirentries $getdirentries -#define dirent $dirent +extern "C" int __getdirentries64(int, char *, int, long *); enum Recurse { RecurseYes, @@ -106,7 +95,7 @@ static int setnsfpn(const char *path, size_t before, Recurse recurse) { if (recurse == RecurseYes) for (long address(0);;) { char buffer[4096]; - int size(_syscall(getdirentries(fd, buffer, sizeof(buffer), &address))); + int size(_syscall(__getdirentries64(fd, buffer, sizeof(buffer), &address))); if (size == 0) break; @@ -116,7 +105,7 @@ static int setnsfpn(const char *path, size_t before, Recurse recurse) { const char *name(dir->d_name); size_t after(strlen(name)); - if (false); + if (dir->d_ino == 0); else if (after == 1 && name[0] == '.'); else if (after == 2 && name[0] == '.' && name[1] == '.'); else {