summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Nikias Bassen2009-08-02 07:35:00 +0200
committerGravatar Nikias Bassen2009-08-02 07:35:00 +0200
commit6fbd2a72122d6bcd70edbf599baa7465e3e9acb6 (patch)
treefeb60a5383dffef6e095a59168547f6a13791c7d
parenta4ef4325ec1b6cddd4212a6fec954cba270cebb4 (diff)
downloadusbmuxd-6fbd2a72122d6bcd70edbf599baa7465e3e9acb6.tar.gz
usbmuxd-6fbd2a72122d6bcd70edbf599baa7465e3e9acb6.tar.bz2
include config.h and defined ENABLE_HACKS
Use --disable-hacks to NOT enable hacks like the N*128/N*512 hack when running configure. Hacks are enabled by default.
-rw-r--r--configure.ac14
-rw-r--r--src/usbmux.c5
2 files changed, 19 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index 55ce7af..d8c10f8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -18,6 +18,20 @@ AC_PROG_INSTALL
PKG_CHECK_MODULES(libusb, libusb >= 0.1.12)
+# check for options
+AC_ARG_ENABLE([hacks],
+ [AS_HELP_STRING([--disable-hacks],
+ [disable hacks that provide workarounds for certain problems])],
+ [enable_hacks=no],
+ [enable_hacks=yes])
+if test "x$enable_hacks" = xyes; then
+ AC_DEFINE(ENABLE_HACKS, 1, [Define if you want hacks enabled])
+ echo "Note: hacks are enabled."
+else
+ echo "Note: hacks are DISABLED."
+fi
+AM_CONDITIONAL(ENABLE_HACKS, test "x$enable_hacks" = xyes)
+
# Output files
AC_OUTPUT([
diff --git a/src/usbmux.c b/src/usbmux.c
index 2157e05..37538da 100644
--- a/src/usbmux.c
+++ b/src/usbmux.c
@@ -15,6 +15,9 @@
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
#include <stdint.h>
#include <stdarg.h>
#include <stdlib.h>
@@ -845,6 +848,7 @@ int usbmux_send(usbmux_client_t client, const char *data, uint32_t datalen,
uint32_t curlen = datalen;
uint32_t packetsize = blocksize;
+#ifdef ENABLE_HACKS
// BEGIN HACK
if ((blocksize % 128) == 0) {
int cutoff = 28;
@@ -886,6 +890,7 @@ int usbmux_send(usbmux_client_t client, const char *data, uint32_t datalen,
fullsendresult -= sizeof(usbmux_tcp_header);
}
// END HACK
+#endif
// Set the length
client->header->length = packetsize;