Merge pull request #66 from dot-asm/master
Fix AFCFileRef[Read|Write] prototypes
This commit is contained in:
		| @@ -396,11 +396,11 @@ afc_error_t AFCFileRefOpen(afc_connection *conn, const char *path, | |||||||
| afc_error_t AFCFileRefSeek(afc_connection *conn, afc_file_ref ref, | afc_error_t AFCFileRefSeek(afc_connection *conn, afc_file_ref ref, | ||||||
|     unsigned long long offset1, unsigned long long offset2); |     unsigned long long offset1, unsigned long long offset2); | ||||||
| afc_error_t AFCFileRefRead(afc_connection *conn, afc_file_ref ref, | afc_error_t AFCFileRefRead(afc_connection *conn, afc_file_ref ref, | ||||||
|     void *buf, unsigned int *len); |     void *buf, size_t *len); | ||||||
| afc_error_t AFCFileRefSetFileSize(afc_connection *conn, afc_file_ref ref, | afc_error_t AFCFileRefSetFileSize(afc_connection *conn, afc_file_ref ref, | ||||||
|     unsigned long long offset); |     unsigned long long offset); | ||||||
| afc_error_t AFCFileRefWrite(afc_connection *conn, afc_file_ref ref, | afc_error_t AFCFileRefWrite(afc_connection *conn, afc_file_ref ref, | ||||||
|     const void *buf, unsigned int len); |     const void *buf, size_t len); | ||||||
| afc_error_t AFCFileRefClose(afc_connection *conn, afc_file_ref ref); | afc_error_t AFCFileRefClose(afc_connection *conn, afc_file_ref ref); | ||||||
|  |  | ||||||
| afc_error_t AFCFileInfoOpen(afc_connection *conn, const char *path, struct | afc_error_t AFCFileInfoOpen(afc_connection *conn, const char *path, struct | ||||||
|   | |||||||
							
								
								
									
										49
									
								
								ios-deploy.c
									
									
									
									
									
								
							
							
						
						
									
										49
									
								
								ios-deploy.c
									
									
									
									
									
								
							| @@ -644,12 +644,12 @@ void write_lldb_prep_cmds(AMDeviceRef device, CFURLRef disk_app_url) { | |||||||
|     if (args) { |     if (args) { | ||||||
|         CFStringRef cf_args = CFStringCreateWithCString(NULL, args, kCFStringEncodingASCII); |         CFStringRef cf_args = CFStringCreateWithCString(NULL, args, kCFStringEncodingASCII); | ||||||
|         CFStringFindAndReplace(cmds, CFSTR("{args}"), cf_args, range, 0); |         CFStringFindAndReplace(cmds, CFSTR("{args}"), cf_args, range, 0); | ||||||
|         rangeLLDB.length = CFStringGetLength(pmodule); |  | ||||||
|         CFStringFindAndReplace(pmodule, CFSTR("{args}"), cf_args, rangeLLDB, 0); |         CFStringFindAndReplace(pmodule, CFSTR("{args}"), cf_args, rangeLLDB, 0); | ||||||
|  |  | ||||||
|         CFRelease(cf_args); |         CFRelease(cf_args); | ||||||
|     } else { |     } else { | ||||||
|         CFStringFindAndReplace(cmds, CFSTR("{args}"), CFSTR(""), range, 0); |         CFStringFindAndReplace(cmds, CFSTR("{args}"), CFSTR(""), range, 0); | ||||||
|  |         CFStringFindAndReplace(pmodule, CFSTR("{args}"), CFSTR(""), rangeLLDB, 0); | ||||||
|     } |     } | ||||||
|     range.length = CFStringGetLength(cmds); |     range.length = CFStringGetLength(cmds); | ||||||
|  |  | ||||||
| @@ -1002,7 +1002,8 @@ CFStringRef get_bundle_id(CFURLRef app_url) | |||||||
|     return bundle_id; |     return bundle_id; | ||||||
| } | } | ||||||
|  |  | ||||||
| void read_dir(service_conn_t afcFd, afc_connection* afc_conn_p, const char* dir) | void read_dir(service_conn_t afcFd, afc_connection* afc_conn_p, const char* dir, | ||||||
|  |               void(*callback)(afc_connection *conn,const char *dir,int file)) | ||||||
| { | { | ||||||
|     char *dir_ent; |     char *dir_ent; | ||||||
|      |      | ||||||
| @@ -1014,24 +1015,38 @@ void read_dir(service_conn_t afcFd, afc_connection* afc_conn_p, const char* dir) | |||||||
|      |      | ||||||
|     printf("%s\n", dir); |     printf("%s\n", dir); | ||||||
|      |      | ||||||
|     afc_dictionary afc_dict; |     afc_dictionary* afc_dict_p; | ||||||
|     afc_dictionary* afc_dict_p = &afc_dict; |     char *key, *val; | ||||||
|     AFCFileInfoOpen(afc_conn_p, dir, &afc_dict_p); |     int not_dir; | ||||||
|  |  | ||||||
|     afc_directory afc_dir; |     AFCFileInfoOpen(afc_conn_p, dir, &afc_dict_p); | ||||||
|     afc_directory* afc_dir_p = &afc_dir; |     while((AFCKeyValueRead(afc_dict_p,&key,&val) == 0) && key && val) { | ||||||
|  |         if (strcmp(key,"st_ifmt")==0) { | ||||||
|  |             not_dir = strcmp(val,"S_IFDIR"); | ||||||
|  |             break; | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |     AFCKeyValueClose(afc_dict_p); | ||||||
|  |  | ||||||
|  |     if (not_dir) { | ||||||
|  |     	if (callback) (*callback)(afc_conn_p, dir, not_dir); | ||||||
|  |         return; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     afc_directory* afc_dir_p; | ||||||
|     afc_error_t err = AFCDirectoryOpen(afc_conn_p, dir, &afc_dir_p); |     afc_error_t err = AFCDirectoryOpen(afc_conn_p, dir, &afc_dir_p); | ||||||
|      |      | ||||||
|     if (err != 0) |     if (err != 0) { | ||||||
|     { |  | ||||||
|         // Couldn't open dir - was probably a file |         // Couldn't open dir - was probably a file | ||||||
|         return; |         return; | ||||||
|  |     } else { | ||||||
|  |         if (callback) (*callback)(afc_conn_p, dir, not_dir); | ||||||
|     } |     } | ||||||
|      |      | ||||||
|     while(true) { |     while(true) { | ||||||
|         err = AFCDirectoryRead(afc_conn_p, afc_dir_p, &dir_ent); |         err = AFCDirectoryRead(afc_conn_p, afc_dir_p, &dir_ent); | ||||||
|          |          | ||||||
|         if (!dir_ent) |         if (err != 0 || !dir_ent) | ||||||
|             break; |             break; | ||||||
|          |          | ||||||
|         if (strcmp(dir_ent, ".") == 0 || strcmp(dir_ent, "..") == 0) |         if (strcmp(dir_ent, ".") == 0 || strcmp(dir_ent, "..") == 0) | ||||||
| @@ -1042,7 +1057,7 @@ void read_dir(service_conn_t afcFd, afc_connection* afc_conn_p, const char* dir) | |||||||
|         if (dir_joined[strlen(dir)-1] != '/') |         if (dir_joined[strlen(dir)-1] != '/') | ||||||
|             strcat(dir_joined, "/"); |             strcat(dir_joined, "/"); | ||||||
|         strcat(dir_joined, dir_ent); |         strcat(dir_joined, dir_ent); | ||||||
|         read_dir(afcFd, afc_conn_p, dir_joined); |         read_dir(afcFd, afc_conn_p, dir_joined, callback); | ||||||
|         free(dir_joined); |         free(dir_joined); | ||||||
|     } |     } | ||||||
|      |      | ||||||
| @@ -1119,11 +1134,11 @@ void list_files(AMDeviceRef device) | |||||||
| { | { | ||||||
|     service_conn_t houseFd = start_house_arrest_service(device); |     service_conn_t houseFd = start_house_arrest_service(device); | ||||||
|      |      | ||||||
|     afc_connection afc_conn; |     afc_connection* afc_conn_p; | ||||||
|     afc_connection* afc_conn_p = &afc_conn; |     if (AFCConnectionOpen(houseFd, 0, &afc_conn_p) == 0) { | ||||||
|     AFCConnectionOpen(houseFd, 0, &afc_conn_p); |         read_dir(houseFd, afc_conn_p, "/", NULL); | ||||||
|      |         AFCConnectionClose(afc_conn_p); | ||||||
|     read_dir(houseFd, afc_conn_p, "/"); |     } | ||||||
| } | } | ||||||
|  |  | ||||||
| void upload_file(AMDeviceRef device) { | void upload_file(AMDeviceRef device) { | ||||||
| @@ -1135,7 +1150,7 @@ void upload_file(AMDeviceRef device) { | |||||||
|     afc_connection* afc_conn_p = &afc_conn; |     afc_connection* afc_conn_p = &afc_conn; | ||||||
|     AFCConnectionOpen(houseFd, 0, &afc_conn_p); |     AFCConnectionOpen(houseFd, 0, &afc_conn_p); | ||||||
|      |      | ||||||
|     //        read_dir(houseFd, NULL, "/"); |     //        read_dir(houseFd, NULL, "/", NULL); | ||||||
|      |      | ||||||
|     if (!target_filename) |     if (!target_filename) | ||||||
|     { |     { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Shazron Abdullah
					Shazron Abdullah