From 6bdcf9c361fea713ae0c24d1b09142093721a5b0 Mon Sep 17 00:00:00 2001 From: Nigel Kukard Date: Thu, 17 Apr 2008 13:23:20 +0000 Subject: [PATCH] * Fix _llseek not being defined in some cases * Add index & rindex defines if they're not defined either (legacy susv4 functions) --- package/sfdisk/sfdisk.005.no-llseek-fix.patch | 21 +++++++++++++++++++ .../sfdisk/sfdisk.010.index-rindex-fix.patch | 21 +++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 package/sfdisk/sfdisk.005.no-llseek-fix.patch create mode 100644 package/sfdisk/sfdisk.010.index-rindex-fix.patch diff --git a/package/sfdisk/sfdisk.005.no-llseek-fix.patch b/package/sfdisk/sfdisk.005.no-llseek-fix.patch new file mode 100644 index 0000000000..4ea571ce47 --- /dev/null +++ b/package/sfdisk/sfdisk.005.no-llseek-fix.patch @@ -0,0 +1,21 @@ +diff -ur sfdisk_vanilla/sfdisk.c sfdisk_llseek-fix/sfdisk.c +--- sfdisk_vanilla/sfdisk.c 2004-01-13 13:03:11.000000000 +0000 ++++ sfdisk_llseek-fix/sfdisk.c 2008-04-17 08:42:35.000000000 +0000 +@@ -134,9 +137,17 @@ + * Note: we use 512-byte sectors here, irrespective of the hardware ss. + */ + #if defined(__linux__) && !defined (__alpha__) && !defined (__ia64__) && !defined (__x86_64__) && !defined (__s390x__) ++#if defined(_llseek) + static + _syscall5(int, _llseek, unsigned int, fd, ulong, hi, ulong, lo, + loff_t *, res, unsigned int, wh); ++#else ++static int _llseek (unsigned int fd, unsigned long oh, ++ unsigned long ol, long long *result, ++ unsigned int origin) { ++ return syscall (__NR__llseek, fd, oh, ol, result, origin); ++#endif ++} + #endif + + static int diff --git a/package/sfdisk/sfdisk.010.index-rindex-fix.patch b/package/sfdisk/sfdisk.010.index-rindex-fix.patch new file mode 100644 index 0000000000..0eb15af098 --- /dev/null +++ b/package/sfdisk/sfdisk.010.index-rindex-fix.patch @@ -0,0 +1,21 @@ +diff -ru sfdisk_llseek-fix/sfdisk.c sfdisk_index-rindex-fix/sfdisk.c +--- sfdisk_llseek-fix/sfdisk.c 2008-04-17 08:42:35.000000000 +0000 ++++ sfdisk_index-rindex-fix/sfdisk.c 2008-04-17 09:50:17.000000000 +0000 +@@ -58,6 +58,17 @@ + + #define SIZE(a) (sizeof(a)/sizeof(a[0])) + ++/* ++ * Why these wouldn't be defined in string.h, I don't know, there is a block ++ * testing for BSD, and no other mention of these functions ... NK ++ */ ++#if !defined(index) ++# define index(s,c) strchr((s), (c)) ++#endif ++#if !defined(rindex) ++# define rindex(s,c) strrchr((s), (c)) ++#endif ++ + /* + * Table of contents: + * A. About seeking -- 2.30.2