From 122621c5586e9859fea83fa8abce68ceefb353d9 Mon Sep 17 00:00:00 2001 From: "Jay Freeman (saurik)" Date: Wed, 20 May 2009 06:35:14 +0000 Subject: Make ldid workaround the stupid inode issue. --- ldid.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/ldid.cpp b/ldid.cpp index 334fd1f..16824d5 100644 --- a/ldid.cpp +++ b/ldid.cpp @@ -780,6 +780,22 @@ int main(int argc, const char *argv[]) { memset(blob + offset, 0, size - offset); } + if (flag_S) { + uint8_t *top = reinterpret_cast(framework.GetBase()); + size_t size = framework.GetSize(); + + char *copy; + asprintf(©, "%s.%s.cp", dir, base); + FILE *file = fopen(copy, "w+"); + size_t writ = fwrite(top, 1, size, file); + _assert(writ == size); + fclose(file); + + _syscall(unlink(temp)); + free(temp); + temp = copy; + } + if (temp) { struct stat info; _syscall(stat(path, &info)); -- cgit v1.2.3-56-ge451