diff options
| -rw-r--r-- | configure.ac | 14 | ||||
| -rw-r--r-- | src/usbmux.c | 5 | 
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; | 
