diff options
| author | 2021-07-15 17:35:15 +0200 | |
|---|---|---|
| committer | 2021-07-15 17:37:00 +0200 | |
| commit | 47e2f5a3a07805a77e0cdf763fa0204136a93aa8 (patch) | |
| tree | 5e84d2a580a0475f0577c361d476f2400c220772 /src/libusbmuxd.c | |
| parent | e32bf7612912348d7af81afe1e8be2ecc93a93ca (diff) | |
| download | libusbmuxd-47e2f5a3a07805a77e0cdf763fa0204136a93aa8.tar.gz libusbmuxd-47e2f5a3a07805a77e0cdf763fa0204136a93aa8.tar.bz2 | |
Forward usbmuxd connect error codes instead of using -1 everywhere
Diffstat (limited to 'src/libusbmuxd.c')
| -rw-r--r-- | src/libusbmuxd.c | 36 | 
1 files changed, 22 insertions, 14 deletions
| diff --git a/src/libusbmuxd.c b/src/libusbmuxd.c index 93493a9..0c94cde 100644 --- a/src/libusbmuxd.c +++ b/src/libusbmuxd.c @@ -158,6 +158,7 @@ static usbmuxd_device_info_t *devices_find(uint32_t handle)   */  static int connect_usbmuxd_socket()  { +	int res = -1;  	char *usbmuxd_socket_addr = getenv("USBMUXD_SOCKET_ADDRESS");  	if (usbmuxd_socket_addr) {  		if (strncmp(usbmuxd_socket_addr, "UNIX:", 5) == 0) { @@ -165,7 +166,11 @@ static int connect_usbmuxd_socket()  			/* not supported, ignore */  #else  			if (usbmuxd_socket_addr[5] != '\0') { -				return socket_connect_unix(usbmuxd_socket_addr+5); +				res = socket_connect_unix(usbmuxd_socket_addr+5); +				if (res < 0) { +					res = -errno; +				} +				return res;  			}  #endif  		} else { @@ -194,11 +199,14 @@ static int connect_usbmuxd_socket()  					connect_addr[p - usbmuxd_socket_addr] = '\0';  				}  				if (connect_addr && *connect_addr != '\0') { -					int res = socket_connect(connect_addr, port); +					res = socket_connect(connect_addr, port);  #ifdef HAVE_INOTIFY  					use_inotify = 0;  #endif  					free(connect_addr); +					if (res < 0) { +						res = -errno; +					}  					return res;  				}  				free(connect_addr); @@ -206,10 +214,14 @@ static int connect_usbmuxd_socket()  		}  	}  #if defined(WIN32) || defined(__CYGWIN__) -	return socket_connect("127.0.0.1", USBMUXD_SOCKET_PORT); +	res = socket_connect("127.0.0.1", USBMUXD_SOCKET_PORT);  #else -	return socket_connect_unix(USBMUXD_SOCKET_FILE); +	res = socket_connect_unix(USBMUXD_SOCKET_FILE);  #endif +	if (res < 0) { +		res = -errno; +	} +	return res;  }  static void sanitize_udid(usbmuxd_device_info_t *devinfo) @@ -1522,9 +1534,8 @@ USBMUXD_API int usbmuxd_connect(const uint32_t handle, const unsigned short port  retry:  	sfd = connect_usbmuxd_socket();  	if (sfd < 0) { -		result = errno; -		LIBUSBMUXD_DEBUG(1, "%s: Error: Connection to usbmuxd failed: %s\n", __func__, strerror(result)); -		return -result; +		LIBUSBMUXD_DEBUG(1, "%s: Error: Connection to usbmuxd failed: %s\n", __func__, strerror(-sfd)); +		return sfd;  	}  	tag = ++use_tag; @@ -1626,7 +1637,7 @@ USBMUXD_API int usbmuxd_read_buid(char **buid)  	sfd = connect_usbmuxd_socket();  	if (sfd < 0) { -		LIBUSBMUXD_DEBUG(1, "%s: Error: Connection to usbmuxd failed: %s\n", __func__, strerror(errno)); +		LIBUSBMUXD_DEBUG(1, "%s: Error: Connection to usbmuxd failed: %s\n", __func__, strerror(-sfd));  		return sfd;  	} @@ -1668,8 +1679,7 @@ USBMUXD_API int usbmuxd_read_pair_record(const char* record_id, char **record_da  	sfd = connect_usbmuxd_socket();  	if (sfd < 0) { -		LIBUSBMUXD_DEBUG(1, "%s: Error: Connection to usbmuxd failed: %s\n", -				__func__, strerror(errno)); +		LIBUSBMUXD_DEBUG(1, "%s: Error: Connection to usbmuxd failed: %s\n", __func__, strerror(-sfd));  		return sfd;  	} @@ -1714,8 +1724,7 @@ USBMUXD_API int usbmuxd_save_pair_record_with_device_id(const char* record_id, u  	sfd = connect_usbmuxd_socket();  	if (sfd < 0) { -		LIBUSBMUXD_DEBUG(1, "%s: Error: Connection to usbmuxd failed: %s\n", -				__func__, strerror(errno)); +		LIBUSBMUXD_DEBUG(1, "%s: Error: Connection to usbmuxd failed: %s\n", __func__, strerror(-sfd));  		return sfd;  	} @@ -1758,8 +1767,7 @@ USBMUXD_API int usbmuxd_delete_pair_record(const char* record_id)  	sfd = connect_usbmuxd_socket();  	if (sfd < 0) { -		LIBUSBMUXD_DEBUG(1, "%s: Error: Connection to usbmuxd failed: %s\n", -				__func__, strerror(errno)); +		LIBUSBMUXD_DEBUG(1, "%s: Error: Connection to usbmuxd failed: %s\n", __func__, strerror(-sfd));  		return sfd;  	} | 
