summaryrefslogtreecommitdiff
path: root/node_modules/mmmagic/deps/libmagic/src/pread.c
diff options
context:
space:
mode:
authorMinteck <contact@minteck.org>2022-02-25 18:08:27 +0100
committerMinteck <contact@minteck.org>2022-02-25 18:08:27 +0100
commita5c417748112e9d88d9ca522561e338eb9ba9007 (patch)
treeddab6e854fe8b50942a397a0d9fd8330ad662a97 /node_modules/mmmagic/deps/libmagic/src/pread.c
downloadargon-cdn-a5c417748112e9d88d9ca522561e338eb9ba9007.tar.gz
argon-cdn-a5c417748112e9d88d9ca522561e338eb9ba9007.tar.bz2
argon-cdn-a5c417748112e9d88d9ca522561e338eb9ba9007.zip
Initial commit
Diffstat (limited to 'node_modules/mmmagic/deps/libmagic/src/pread.c')
-rw-r--r--node_modules/mmmagic/deps/libmagic/src/pread.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/node_modules/mmmagic/deps/libmagic/src/pread.c b/node_modules/mmmagic/deps/libmagic/src/pread.c
new file mode 100644
index 0000000..0de518f
--- /dev/null
+++ b/node_modules/mmmagic/deps/libmagic/src/pread.c
@@ -0,0 +1,26 @@
+#include "file.h"
+#ifndef lint
+FILE_RCSID("@(#)$File: pread.c,v 1.3 2014/09/15 19:11:25 christos Exp $")
+#endif /* lint */
+#include <fcntl.h>
+// XXX: change by mscdex
+#if HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+ssize_t
+pread(int fd, void *buf, size_t len, off_t off) {
+ off_t old;
+ ssize_t rv;
+
+ if ((old = lseek(fd, off, SEEK_SET)) == -1)
+ return -1;
+
+ if ((rv = read(fd, buf, len)) == -1)
+ return -1;
+
+ if (lseek(fd, old, SEEK_SET) == -1)
+ return -1;
+
+ return rv;
+}