summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Martin Szulecki2014-12-09 14:52:26 +0100
committerGravatar Martin Szulecki2014-12-09 14:52:26 +0100
commite5795ac9abdecac6af43ef3c1e8bf636e8a70c13 (patch)
treefa71892d06c3f9433df827f59cec73236a8f62ec
parent05fa8d0a048cc92048a03eb06dd8883f9c76a632 (diff)
downloadlibimobiledevice-e5795ac9abdecac6af43ef3c1e8bf636e8a70c13.tar.gz
libimobiledevice-e5795ac9abdecac6af43ef3c1e8bf636e8a70c13.tar.bz2
debugserver: Remove const argv requirement for creating commands
-rw-r--r--include/libimobiledevice/debugserver.h2
-rw-r--r--src/debugserver.c7
2 files changed, 6 insertions, 3 deletions
diff --git a/include/libimobiledevice/debugserver.h b/include/libimobiledevice/debugserver.h
index 3b1969a..3626182 100644
--- a/include/libimobiledevice/debugserver.h
+++ b/include/libimobiledevice/debugserver.h
@@ -195,7 +195,7 @@ debugserver_error_t debugserver_client_set_environment_hex_encoded(debugserver_c
* @return DEBUGSERVER_E_SUCCESS on success,
* DEBUGSERVER_E_INVALID_ARG when name or command is NULL
*/
-debugserver_error_t debugserver_command_new(const char* name, int argc, const char* argv[], debugserver_command_t* command);
+debugserver_error_t debugserver_command_new(const char* name, int argc, char* argv[], debugserver_command_t* command);
/**
* Frees memory of command object.
diff --git a/src/debugserver.c b/src/debugserver.c
index 37b54de..e653a8e 100644
--- a/src/debugserver.c
+++ b/src/debugserver.c
@@ -153,7 +153,7 @@ LIBIMOBILEDEVICE_API debugserver_error_t debugserver_client_receive(debugserver_
return debugserver_client_receive_with_timeout(client, data, size, received, 1000);
}
-LIBIMOBILEDEVICE_API debugserver_error_t debugserver_command_new(const char* name, int argc, const char* argv[], debugserver_command_t* command)
+LIBIMOBILEDEVICE_API debugserver_error_t debugserver_command_new(const char* name, int argc, char* argv[], debugserver_command_t* command)
{
int i;
debugserver_command_t tmp = (debugserver_command_t) malloc(sizeof(struct debugserver_command_private));
@@ -541,13 +541,16 @@ LIBIMOBILEDEVICE_API debugserver_error_t debugserver_client_set_environment_hex_
return DEBUGSERVER_E_INVALID_ARG;
debugserver_error_t result = DEBUGSERVER_E_UNKNOWN_ERROR;
- const char* env_arg[] = { env, NULL };
+ char* env_tmp = strdup(env);
+ char* env_arg[2] = { env_tmp, NULL };
debugserver_command_t command = NULL;
debugserver_command_new("QEnvironmentHexEncoded:", 1, env_arg, &command);
result = debugserver_client_send_command(client, command, response);
debugserver_command_free(command);
+ free(env_tmp);
+
return result;
}