diff options
Diffstat (limited to 'utils/MTP/beastpatcher/mtp_win32.c')
-rw-r--r-- | utils/MTP/beastpatcher/mtp_win32.c | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/utils/MTP/beastpatcher/mtp_win32.c b/utils/MTP/beastpatcher/mtp_win32.c index f68faddbc2..ced930ab80 100644 --- a/utils/MTP/beastpatcher/mtp_win32.c +++ b/utils/MTP/beastpatcher/mtp_win32.c | |||
@@ -43,15 +43,12 @@ | |||
43 | #include <stddef.h> | 43 | #include <stddef.h> |
44 | #include <stdlib.h> | 44 | #include <stdlib.h> |
45 | #include <wchar.h> | 45 | #include <wchar.h> |
46 | #include <stdbool.h> | ||
47 | #include <windows.h> | 46 | #include <windows.h> |
48 | #include <tchar.h> | 47 | #include <tchar.h> |
49 | 48 | ||
50 | #include "mtp_common.h" | 49 | #include "mtp_common.h" |
51 | 50 | ||
52 | 51 | #include "../MTP_DLL/MTP_DLL.h" | |
53 | extern __declspec(dllimport) bool send_fw(LPWSTR file, int filesize, | ||
54 | void (*callback)(unsigned int progress, unsigned int max)); | ||
55 | 52 | ||
56 | int mtp_init(struct mtp_info_t* mtp_info) | 53 | int mtp_init(struct mtp_info_t* mtp_info) |
57 | { | 54 | { |
@@ -71,11 +68,18 @@ int mtp_finished(struct mtp_info_t* mtp_info) | |||
71 | 68 | ||
72 | int mtp_scan(struct mtp_info_t* mtp_info) | 69 | int mtp_scan(struct mtp_info_t* mtp_info) |
73 | { | 70 | { |
74 | strcpy(mtp_info->manufacturer,"<unknown>"); | 71 | wchar_t name[256]; |
75 | strcpy(mtp_info->modelname,"<unknown>"); | 72 | wchar_t manufacturer[256]; |
76 | strcpy(mtp_info->version,"<unknown>"); | 73 | DWORD version; |
74 | int num = 0; | ||
77 | 75 | ||
78 | return 0; | 76 | num = mtp_description(name, manufacturer, &version); |
77 | |||
78 | wcstombs(mtp_info->manufacturer, manufacturer, 200); | ||
79 | wcstombs(mtp_info->modelname, name, 200); | ||
80 | |||
81 | sprintf(mtp_info->version, "%x", (unsigned int)version); | ||
82 | return (num > 0) ? num : -1; | ||
79 | 83 | ||
80 | } | 84 | } |
81 | 85 | ||
@@ -147,11 +151,11 @@ int mtp_send_firmware(struct mtp_info_t* mtp_info, unsigned char* fwbuf, | |||
147 | return -1; | 151 | return -1; |
148 | } | 152 | } |
149 | 153 | ||
150 | tmp = (LPWSTR)malloc(strlen(szTempName)*2+1); | 154 | tmp = (LPWSTR)malloc(_tcslen(szTempName)*2+1); |
151 | mbstowcs(tmp, szTempName, strlen(szTempName)*2+1); | 155 | mbstowcs(tmp, (char*)szTempName, _tcslen(szTempName)*2+1); |
152 | 156 | ||
153 | fprintf(stderr, "[INFO] Sending firmware...\n"); | 157 | fprintf(stderr, "[INFO] Sending firmware...\n"); |
154 | if (send_fw(tmp, fwsize, &callback)) | 158 | if (mtp_sendnk(tmp, fwsize, &callback)) |
155 | { | 159 | { |
156 | fprintf(stderr, "[INFO] Firmware sent successfully\n"); | 160 | fprintf(stderr, "[INFO] Firmware sent successfully\n"); |
157 | ret = 0; | 161 | ret = 0; |
@@ -172,3 +176,4 @@ int mtp_send_firmware(struct mtp_info_t* mtp_info, unsigned char* fwbuf, | |||
172 | 176 | ||
173 | return ret; | 177 | return ret; |
174 | } | 178 | } |
179 | |||