diff options
| -rw-r--r-- | Makefile | 12 | ||||
| -rw-r--r-- | src/libirecovery.c | 9 |
2 files changed, 13 insertions, 8 deletions
| @@ -1,4 +1,4 @@ | |||
| 1 | all: static | 1 | all: |
| 2 | @echo "Please choose either macosx, linux, or windows" | 2 | @echo "Please choose either macosx, linux, or windows" |
| 3 | 3 | ||
| 4 | static: | 4 | static: |
| @@ -18,6 +18,16 @@ macosx: | |||
| 18 | windows: | 18 | windows: |
| 19 | gcc -o libirecovery.dll -c src/libirecovery.c -I. -lusb-1.0 -lreadline -shared -fPIC | 19 | gcc -o libirecovery.dll -c src/libirecovery.c -I. -lusb-1.0 -lreadline -shared -fPIC |
| 20 | gcc -o irecovery irecovery.c -I. -lirecovery -lreadline | 20 | gcc -o irecovery irecovery.c -I. -lirecovery -lreadline |
| 21 | |||
| 22 | install: | ||
| 23 | cp libirecovery.so /usr/local/lib/libirecovery.so | ||
| 24 | cp include/libirecovery.h /usr/local/include/libirecovery.h | ||
| 25 | cp irecovery /usr/local/bin/irecovery | ||
| 26 | |||
| 27 | uninstall: | ||
| 28 | rm -rf /usr/local/lib/libirecovery.so | ||
| 29 | rm -rf include/libirecovery.h /usr/local/include/libirecovery.h | ||
| 30 | rm -rf /usr/local/bin/irecovery | ||
| 21 | 31 | ||
| 22 | clean: | 32 | clean: |
| 23 | rm -rf irecovery libirecovery.o libirecovery.so libirecovery.a | 33 | rm -rf irecovery libirecovery.o libirecovery.so libirecovery.a |
diff --git a/src/libirecovery.c b/src/libirecovery.c index 18097ee..0be16c6 100644 --- a/src/libirecovery.c +++ b/src/libirecovery.c | |||
| @@ -332,7 +332,7 @@ irecv_error_t irecv_send_buffer(irecv_device_t* device, unsigned char* buffer, u | |||
| 332 | unsigned int status = 0; | 332 | unsigned int status = 0; |
| 333 | for (i = 0; i < packets; i++) { | 333 | for (i = 0; i < packets; i++) { |
| 334 | int size = i + 1 < packets ? 0x800 : last; | 334 | int size = i + 1 < packets ? 0x800 : last; |
| 335 | int bytes = libusb_control_transfer(device->handle, 0x21, 1, i, 0, &buffer[i * 0x800], size, 1000); | 335 | int bytes = libusb_control_transfer(device->handle, 0x21, 1, 0, 0, &buffer[i * 0x800], size, 1000); |
| 336 | if (bytes != size) { | 336 | if (bytes != size) { |
| 337 | return IRECV_ERROR_USB_UPLOAD; | 337 | return IRECV_ERROR_USB_UPLOAD; |
| 338 | } | 338 | } |
| @@ -350,10 +350,7 @@ irecv_error_t irecv_send_buffer(irecv_device_t* device, unsigned char* buffer, u | |||
| 350 | 350 | ||
| 351 | } | 351 | } |
| 352 | 352 | ||
| 353 | //char command[0x100]; | 353 | libusb_control_transfer(device->handle, 0x21, 1, 0, 0, buffer, 0, 1000); |
| 354 | //memset(command, '\0', 0x100); | ||
| 355 | //snprintf(command, 0x100, "setenv filesize %d", length); | ||
| 356 | libusb_control_transfer(device->handle, 0x21, 1, i, 0, buffer, 0, 1000); | ||
| 357 | for (i = 0; i < 3; i++) { | 354 | for (i = 0; i < 3; i++) { |
| 358 | error = irecv_get_status(device, &status); | 355 | error = irecv_get_status(device, &status); |
| 359 | if(error != IRECV_SUCCESS) { | 356 | if(error != IRECV_SUCCESS) { |
| @@ -361,8 +358,6 @@ irecv_error_t irecv_send_buffer(irecv_device_t* device, unsigned char* buffer, u | |||
| 361 | } | 358 | } |
| 362 | } | 359 | } |
| 363 | 360 | ||
| 364 | //irecv_send_command(device, command); | ||
| 365 | |||
| 366 | return IRECV_SUCCESS; | 361 | return IRECV_SUCCESS; |
| 367 | } | 362 | } |
| 368 | 363 | ||
