diff -u -r -B vortex-1.0.12.b3182.g3182/src/vortex.c vortex/src/vortex.c --- vortex-1.0.12.b3182.g3182/src/vortex.c 2007-12-11 07:25:58.000000000 -0800 +++ vortex/src/vortex.c 2007-12-17 14:42:19.000000000 -0800 @@ -380,7 +380,7 @@ */ bool vortex_conf_set (VortexConfItem item, int value, - char * str_value) + const char * str_value) { /* get current context */ VortexCtx * ctx = vortex_ctx_get (); @@ -499,6 +499,10 @@ if (!vortex_log_is_enabled ()) { return; } /* end if */ + + /* acquire mutex so multiple threads will not mix their log messages together */ + VortexCtx * ctx = vortex_ctx_get (); + vortex_mutex_lock(&ctx->log_mutex); /* printout the process pid */ #if defined (__GNUC__) @@ -549,6 +553,10 @@ /* ensure that the log is droped to the console */ fflush (stdout); + + /* release mutex */ + vortex_mutex_unlock(&ctx->log_mutex); + #endif @@ -754,6 +762,7 @@ vortex_mutex_create (&ctx->listener_mutex); vortex_mutex_create (&ctx->listener_unlock); vortex_mutex_create (&ctx->exit_mutex); + vortex_mutex_create (&ctx->log_mutex); /* init channel module */ vortex_channel_init (ctx); @@ -1028,6 +1037,7 @@ vortex_mutex_destroy (&ctx->tls_init_mutex); vortex_mutex_destroy (&ctx->listener_mutex); vortex_mutex_destroy (&ctx->listener_unlock); + vortex_mutex_destroy (&ctx->log_mutex); /* lock/unlock to avoid race condition */ vortex_mutex_lock (&ctx->exit_mutex); @@ -1532,7 +1542,7 @@ * \code * Postal address: * Advanced Software Production Line, S.L. - * C/ Dr. Michavila Nº 14 + * C/ Dr. Michavila N∫ 14 * Coslada 28820 Madrid * Spain * Email address: @@ -3165,7 +3175,7 @@ * Locality Name (eg, city) []:Coslada * Organization Name (eg, company) [Internet Widgits Pty Ltd]:Advanced Software Production Line, S.L. * Organizational Unit Name (eg, section) []:Software Development - * Common Name (eg, YOUR name) []:Francis Brosnan Blázquez + * Common Name (eg, YOUR name) []:Francis Brosnan Bl·zquez * Email Address []:francis@aspl.es * Certificate (and private key) is in newreq.pem * \endcode diff -u -r -B vortex-1.0.12.b3182.g3182/src/vortex.h vortex/src/vortex.h --- vortex-1.0.12.b3182.g3182/src/vortex.h 2007-12-09 03:30:29.000000000 -0800 +++ vortex/src/vortex.h 2007-12-12 13:41:19.000000000 -0800 @@ -385,7 +385,7 @@ bool vortex_conf_set (VortexConfItem item, int value, - char * str_value); + const char * str_value); /* * @internal Debug levels to be used with \ref _vortex_log, which is used diff -u -r -B vortex-1.0.12.b3182.g3182/src/vortex_channel.c vortex/src/vortex_channel.c --- vortex-1.0.12.b3182.g3182/src/vortex_channel.c 2007-12-07 08:32:06.000000000 -0800 +++ vortex/src/vortex_channel.c 2007-12-12 13:50:50.000000000 -0800 @@ -1185,8 +1185,8 @@ */ VortexChannel * vortex_channel_new_fullv (VortexConnection * connection, int channel_num, - char * serverName, - char * profile, + const char * serverName, + const char * profile, VortexEncoding encoding, VortexOnCloseChannel close, axlPointer close_user_data, @@ -1194,7 +1194,7 @@ axlPointer received_user_data, VortexOnChannelCreated on_channel_created, axlPointer user_data, - char * profile_content_format, + const char * profile_content_format, ...) { va_list args; @@ -1319,7 +1319,7 @@ * @return a new allocated channel. */ VortexChannel * vortex_channel_empty_new (int channel_num, - char * profile, + const char * profile, VortexConnection * connection) { VortexChannel * channel = NULL; @@ -2060,7 +2060,7 @@ */ bool vortex_channel_send_msgv (VortexChannel * channel, int * msg_no, - char * format, + const char * format, ...) { char * msg; @@ -2137,7 +2137,7 @@ bool vortex_channel_send_msg_and_waitv (VortexChannel * channel, int * msg_no, WaitReplyData * wait_reply, - char * format, + const char * format, ...) { char * msg; @@ -4156,7 +4156,7 @@ * * @return the profile the channel have or NULL if fails */ -char * vortex_channel_get_profile (VortexChannel * channel) +const char * vortex_channel_get_profile (VortexChannel * channel) { v_return_val_if_fail (channel, NULL); diff -u -r -B vortex-1.0.12.b3182.g3182/src/vortex_channel.h vortex/src/vortex_channel.h --- vortex-1.0.12.b3182.g3182/src/vortex_channel.h 2007-12-07 08:27:34.000000000 -0800 +++ vortex/src/vortex_channel.h 2007-12-12 13:49:51.000000000 -0800 @@ -65,15 +65,15 @@ VortexChannel * vortex_channel_new_fullv (VortexConnection * connection, int channel_num, - char * serverName, - char * profile, + const char * serverName, + const char * profile, VortexEncoding encoding, VortexOnCloseChannel close, axlPointer close_user_data, VortexOnFrameReceived received, axlPointer received_user_data, VortexOnChannelCreated on_channel_created, axlPointer user_data, - char * profile_content_format, + const char * profile_content_format, ...); bool vortex_channel_close_full (VortexChannel * channel, @@ -84,7 +84,7 @@ VortexOnClosedNotification on_closed); VortexChannel * vortex_channel_empty_new (int channel_num, - char * profile, + const char * profile, VortexConnection * connection); void vortex_channel_set_close_handler (VortexChannel * channel, @@ -176,7 +176,7 @@ void vortex_channel_remove_pending_message (VortexChannel * channel); -char * vortex_channel_get_profile (VortexChannel * channel); +const char * vortex_channel_get_profile (VortexChannel * channel); bool vortex_channel_is_running_profile (VortexChannel * channel, const char * profile); @@ -222,7 +222,7 @@ bool vortex_channel_send_msgv (VortexChannel * channel, int * msg_no, - char * format, + const char * format, ...); bool vortex_channel_send_msg_and_wait (VortexChannel * channel, @@ -234,7 +234,7 @@ bool vortex_channel_send_msg_and_waitv (VortexChannel * channel, int * msg_no, WaitReplyData * wait_reply, - char * format, + const char * format, ...); bool vortex_channel_send_rpy (VortexChannel * channel, diff -u -r -B vortex-1.0.12.b3182.g3182/src/vortex_connection.c vortex/src/vortex_connection.c --- vortex-1.0.12.b3182.g3182/src/vortex_connection.c 2007-12-10 07:49:53.000000000 -0800 +++ vortex/src/vortex_connection.c 2007-12-17 14:45:55.000000000 -0800 @@ -1853,7 +1853,7 @@ * @return true if the connection reference was increased or false if * an error was found. */ -bool vortex_connection_ref (VortexConnection * connection, char * who) +bool vortex_connection_ref (VortexConnection * connection, const char * who) { v_return_val_if_fail (connection, false); v_return_val_if_fail (vortex_connection_is_ok (connection, false), false); @@ -1885,7 +1885,7 @@ * @param connection The connection to operate. * @param who Who have decreased the reference. This is a string value used to log which entity have decreased the connection counting. */ -void vortex_connection_unref (VortexConnection * connection, char * who) +void vortex_connection_unref (VortexConnection * connection, const char * who) { int count; v_return_if_fail (connection); @@ -2237,7 +2237,7 @@ */ void vortex_connection_push_channel_error (VortexConnection * connection, int code, - char * msg) + char * msg) { VortexChannelError * error; @@ -2643,7 +2643,7 @@ * * @return true if the profile is supported by remote peer or false if not. */ -bool vortex_connection_is_profile_supported (VortexConnection * connection, char * uri) +bool vortex_connection_is_profile_supported (VortexConnection * connection, const char * uri) { bool result; @@ -2660,7 +2660,7 @@ vortex_mutex_lock (&connection->op_mutex); /* check if the profile is found */ - result = (axl_list_lookup (connection->remote_supported_profiles, axl_list_find_string, uri) != NULL); + result = (axl_list_lookup (connection->remote_supported_profiles, axl_list_find_string, (axlPointer)uri) != NULL); /* unlock and return */ vortex_mutex_unlock (&connection->op_mutex); @@ -3523,7 +3523,7 @@ * @param connection the connection to set as. * @param message the new message to set. */ -void __vortex_connection_set_not_connected (VortexConnection * connection, char * message) +void __vortex_connection_set_not_connected (VortexConnection * connection, const char * message) { v_return_if_fail (connection); v_return_if_fail (message); @@ -3659,12 +3659,12 @@ * @param value The value to be stored. */ void vortex_connection_set_data (VortexConnection * connection, - char * key, + const char * key, axlPointer value) { /* use the full version so all source code is supported in one * function. */ - vortex_connection_set_data_full (connection, key, value, NULL, NULL); + vortex_connection_set_data_full (connection, (char*)key, value, NULL, NULL); return; } @@ -3794,7 +3794,7 @@ */ void vortex_connection_set_auto_tls (bool enabled, bool allow_tls_failures, - char * serverName) + const char * serverName) { /* get current context */ VortexCtx * ctx = vortex_ctx_get (); @@ -3826,12 +3826,12 @@ * @return the value or NULL if fails. */ axlPointer vortex_connection_get_data (VortexConnection * connection, - char * key) + const char * key) { v_return_val_if_fail (connection, NULL); v_return_val_if_fail (key, NULL); - return vortex_hash_lookup (connection->data, key); + return vortex_hash_lookup (connection->data, (axlPointer)key); } /** diff -u -r -B vortex-1.0.12.b3182.g3182/src/vortex_connection.h vortex/src/vortex_connection.h --- vortex-1.0.12.b3182.g3182/src/vortex_connection.h 2007-12-07 08:23:18.000000000 -0800 +++ vortex/src/vortex_connection.h 2007-12-17 14:45:43.000000000 -0800 @@ -79,10 +79,10 @@ bool also_channel_0); bool vortex_connection_ref (VortexConnection * connection, - char * who); + const char * who); void vortex_connection_unref (VortexConnection * connection, - char * who); + const char * who); int vortex_connection_ref_count (VortexConnection * connection); @@ -127,7 +127,7 @@ const char * serverName); bool vortex_connection_is_profile_supported (VortexConnection * connection, - char * uri); + const char * uri); bool vortex_connection_channel_exists (VortexConnection * connection, int channel_num); @@ -186,7 +186,7 @@ bool enable); void vortex_connection_set_data (VortexConnection * connection, - char * key, + const char * key, axlPointer value); void vortex_connection_set_data_full (VortexConnection * connection, @@ -197,10 +197,10 @@ void vortex_connection_set_auto_tls (bool enabled, bool allow_tls_failures, - char * serverName); + const char * serverName); axlPointer vortex_connection_get_data (VortexConnection * connection, - char * key); + const char * key); VortexChannelPool * vortex_connection_get_channel_pool (VortexConnection * connection, @@ -287,7 +287,7 @@ void vortex_connection_cleanup (VortexCtx * ctx); void __vortex_connection_set_not_connected (VortexConnection * connection, - char * message); + const char * message); int vortex_connection_do_a_sending_round (VortexConnection * connection); diff -u -r -B vortex-1.0.12.b3182.g3182/src/vortex_ctx_private.h vortex/src/vortex_ctx_private.h --- vortex-1.0.12.b3182.g3182/src/vortex_ctx_private.h 2007-12-05 10:18:36.000000000 -0800 +++ vortex/src/vortex_ctx_private.h 2007-12-17 14:51:34.000000000 -0800 @@ -57,6 +57,7 @@ VortexMutex tls_init_mutex; VortexMutex listener_mutex; VortexMutex listener_unlock; + VortexMutex log_mutex; /* default configurations */ int backlog; diff -u -r -B vortex-1.0.12.b3182.g3182/src/vortex_frame_factory.c vortex/src/vortex_frame_factory.c --- vortex-1.0.12.b3182.g3182/src/vortex_frame_factory.c 2007-12-05 10:06:43.000000000 -0800 +++ vortex/src/vortex_frame_factory.c 2007-12-17 14:24:17.000000000 -0800 @@ -226,7 +226,7 @@ unsigned int seqno, int size, int ansno, - char * payload) + const void * payload) { return vortex_frame_build_up_from_params_s (type, channel, msgno, more, seqno, size, ansno, NULL, NULL, payload, NULL); } @@ -276,9 +276,9 @@ unsigned int seqno, int size, int ansno, - char * content_type, - char * transfer_encoding, - char * payload, + const char * content_type, + const char * transfer_encoding, + const void * payload, int * frame_size) { char * message_type = NULL; @@ -453,7 +453,7 @@ unsigned int seqno, int size, int ansno, - const char * payload) + const void * payload) { /* create a new frame using new_full interface and return * it. */ @@ -501,9 +501,9 @@ unsigned int seqno, int size, int ansno, - char * content_type, - char * transfer_encoding, - const char * payload) + const char * content_type, + const char * transfer_encoding, + const void * payload) { VortexFrame * result = axl_new (VortexFrame, 1); @@ -570,7 +570,7 @@ * @param transfer_encoding The MIME Content-Transfer-Encoding value * to be used for this frame. Optional value. * - * @param payload The payload the frame hold. + * @param payload The payload the frame hold. Vortex takes ownership of this! * * @return A newly created \ref VortexFrame object that must be * unrefered using \ref vortex_frame_free when no longer needed. @@ -582,9 +582,9 @@ unsigned int seqno, int size, int ansno, - char * content_type, - char * transfer_encoding, - char * payload) + const char * content_type, + const char * transfer_encoding, + void * payload) { VortexFrame * result = axl_new (VortexFrame, 1); @@ -1661,7 +1661,7 @@ * with no content type and having a wrong frame (NULL value) you * should check if frame is not NULL first. **/ -char * vortex_frame_get_content_type (VortexFrame * frame) +const char * vortex_frame_get_content_type (VortexFrame * frame) { v_return_val_if_fail (frame, NULL); @@ -1677,7 +1677,7 @@ * @return Current mime header configuration request or NULL if not * defined. */ -char * vortex_frame_get_transfer_encoding (VortexFrame * frame) +const char * vortex_frame_get_transfer_encoding (VortexFrame * frame) { v_return_val_if_fail (frame, NULL); @@ -1908,7 +1908,7 @@ * @return A ok message. You must not free the returned message. It is * a copy to an internal Vortex Frame module. */ -char * vortex_frame_get_ok_message () +const char * vortex_frame_get_ok_message () { return _ok_msg; } @@ -1926,8 +1926,8 @@ * @return A newly allocated error message. */ char * vortex_frame_get_error_message (char * code, - char * error_content, - char * xml_lang) + const char * error_content, + const char * xml_lang) { return axl_strdup_printf ("registered_profiles, false); - profile = vortex_hash_lookup (ctx->registered_profiles, uri); + profile = vortex_hash_lookup (ctx->registered_profiles, (axlPointer)uri); if ((profile == NULL) || (profile->received == NULL)) { vortex_log (LOG_DOMAIN, VORTEX_LEVEL_DEBUG, "invoking frame received handler on a profile which haven't been defined"); diff -u -r -B vortex-1.0.12.b3182.g3182/src/vortex_profiles.h vortex/src/vortex_profiles.h --- vortex-1.0.12.b3182.g3182/src/vortex_profiles.h 2007-12-07 08:56:58.000000000 -0800 +++ vortex/src/vortex_profiles.h 2007-12-12 13:44:55.000000000 -0800 @@ -75,7 +75,7 @@ bool vortex_profiles_is_defined_close (const char * uri); -bool vortex_profiles_invoke_frame_received (char * uri, +bool vortex_profiles_invoke_frame_received (const char * uri, int channel_num, VortexConnection * connection, VortexFrame * frame); diff -u -r -B vortex-1.0.12.b3182.g3182/src/vortex_sasl.c vortex/src/vortex_sasl.c --- vortex-1.0.12.b3182.g3182/src/vortex_sasl.c 2007-12-05 10:02:38.000000000 -0800 +++ vortex/src/vortex_sasl.c 2007-12-17 14:30:34.000000000 -0800 @@ -1085,7 +1085,7 @@ * @param user_data User space defined data to be passed to process_status */ void vortex_sasl_start_auth (VortexConnection * connection, - char * profile, + const char * profile, VortexSaslAuthNotify process_status, axlPointer user_data) { @@ -1221,7 +1221,7 @@ * @param status_message A reference to notify the caller a textual diagnostic about SASL finish status. */ void vortex_sasl_start_auth_sync (VortexConnection * connection, - char * profile, + const char * profile, VortexStatus * status, char ** status_message) diff -u -r -B vortex-1.0.12.b3182.g3182/src/vortex_sasl.h vortex/src/vortex_sasl.h --- vortex-1.0.12.b3182.g3182/src/vortex_sasl.h 2007-11-02 02:50:22.000000000 -0700 +++ vortex/src/vortex_sasl.h 2007-12-17 14:28:48.000000000 -0800 @@ -290,12 +290,12 @@ void vortex_sasl_start_auth (VortexConnection * connection, - char * profile, + const char * profile, VortexSaslAuthNotify process_status, axlPointer user_data); void vortex_sasl_start_auth_sync (VortexConnection * connection, - char * profile, + const char * profile, VortexStatus * status, char ** status_message); diff -u -r -B vortex-1.0.12.b3182.g3182/src/vortex_tls.c vortex/src/vortex_tls.c --- vortex-1.0.12.b3182.g3182/src/vortex_tls.c 2007-12-05 10:19:25.000000000 -0800 +++ vortex/src/vortex_tls.c 2007-12-17 14:35:18.000000000 -0800 @@ -1085,7 +1085,7 @@ * */ void vortex_tls_start_negociation (VortexConnection * connection, - char * serverName, + const char * serverName, VortexTlsActivation process_status, axlPointer user_data) { @@ -1141,7 +1141,7 @@ /* create and prepare invocation */ data = axl_new (VortexTlsBeginData, 1); data->connection = connection; - data->serverName = (serverName != NULL) ? axl_strdup (serverName) : serverName; + data->serverName = (serverName != NULL) ? axl_strdup (serverName) : NULL; data->process_status = process_status; data->user_data = user_data; @@ -1589,7 +1589,7 @@ * @return The new connection with TLS profile activated. */ VortexConnection * vortex_tls_start_negociation_sync (VortexConnection * connection, - char * serverName, + const char * serverName, VortexStatus * status, char ** status_message) { diff -u -r -B vortex-1.0.12.b3182.g3182/src/vortex_tls.h vortex/src/vortex_tls.h --- vortex-1.0.12.b3182.g3182/src/vortex_tls.h 2007-11-10 01:47:07.000000000 -0800 +++ vortex/src/vortex_tls.h 2007-12-17 14:28:48.000000000 -0800 @@ -85,12 +85,12 @@ axlPointer user_data); void vortex_tls_start_negociation (VortexConnection * connection, - char * serverName, + const char * serverName, VortexTlsActivation process_status, axlPointer user_data); VortexConnection * vortex_tls_start_negociation_sync (VortexConnection * connection, - char * serverName, + const char * serverName, VortexStatus * status, char ** status_message); diff -u -r -B vortex-1.0.12.b3182.g3182/src/vortex_xml_rpc_types.c vortex/src/vortex_xml_rpc_types.c --- vortex-1.0.12.b3182.g3182/src/vortex_xml_rpc_types.c 2007-11-18 03:22:12.000000000 -0800 +++ vortex/src/vortex_xml_rpc_types.c 2007-12-17 14:35:39.000000000 -0800 @@ -740,8 +740,8 @@ * parameter received is NULL or the type specification is not * properly formated. */ -XmlRpcMethodValue * vortex_xml_rpc_method_value_new_from_string2 (char * type, - char * string_value) +XmlRpcMethodValue * vortex_xml_rpc_method_value_new_from_string2 (const char * type, + const char * string_value) { /* perform some environment checks */ v_return_val_if_fail (type, NULL); @@ -929,7 +929,7 @@ */ void vortex_xml_rpc_method_call_create_value_from_string (XmlRpcMethodCall * method_call, XmlRpcParamType type, - char * string_value) + const char * string_value) { XmlRpcMethodValue * _value; @@ -1590,7 +1590,7 @@ * @return true if method match, otherwise false is returned. */ bool vortex_xml_rpc_method_call_is (XmlRpcMethodCall * method_call, - char * method_name, + const char * method_name, int param_num, ...) { @@ -1913,7 +1913,7 @@ */ XmlRpcMethodResponse * vortex_xml_rpc_method_response_new (XmlRpcResponseStatus status, int fault_code, - char * fault_string, + const char * fault_string, XmlRpcMethodValue * value) { XmlRpcMethodResponse * response; @@ -2518,7 +2518,7 @@ * Internal function to get the struct member inside, looking by its name. */ XmlRpcStructMember * __vortex_xml_rpc_struct_get_member_by_name (XmlRpcStruct * _struct, - char * member_name) + const char * member_name) { int iterator = 0; XmlRpcStructMember * member; @@ -2558,7 +2558,7 @@ * fails. */ XmlRpcMethodValue * vortex_xml_rpc_struct_get_member_value (XmlRpcStruct * _struct, - char * member_name) + const char * member_name) { XmlRpcStructMember * member; @@ -2640,7 +2640,7 @@ * properly function. */ int vortex_xml_rpc_struct_get_member_value_as_int (XmlRpcStruct * _struct, - char * member_name) + const char * member_name) { XmlRpcStructMember * member; @@ -2676,7 +2676,7 @@ * the member doesn't exist. */ char * vortex_xml_rpc_struct_get_member_value_as_string (XmlRpcStruct * _struct, - char * member_name) + const char * member_name) { XmlRpcStructMember * member; @@ -2709,7 +2709,7 @@ * @return Returns the double inside the struct or 0.0 if it fails. */ double vortex_xml_rpc_struct_get_member_value_as_double (XmlRpcStruct * _struct, - char * member_name) + const char * member_name) { XmlRpcStructMember * member; @@ -2741,7 +2741,7 @@ * provided member or NULL if fails. */ XmlRpcStruct * vortex_xml_rpc_struct_get_member_value_as_struct (XmlRpcStruct * _struct, - char * member_name) + const char * member_name) { XmlRpcStructMember * member; @@ -2778,7 +2778,7 @@ * the member or NULL if it fails. The result must not be deallocated. */ XmlRpcArray * vortex_xml_rpc_struct_get_member_value_as_array (XmlRpcStruct * _struct, - char * member_name) + const char * member_name) { XmlRpcStructMember * member; diff -u -r -B vortex-1.0.12.b3182.g3182/src/vortex_xml_rpc_types.h vortex/src/vortex_xml_rpc_types.h --- vortex-1.0.12.b3182.g3182/src/vortex_xml_rpc_types.h 2007-11-02 02:50:34.000000000 -0700 +++ vortex/src/vortex_xml_rpc_types.h 2007-12-17 14:35:18.000000000 -0800 @@ -561,7 +561,7 @@ void vortex_xml_rpc_method_call_create_value_from_string (XmlRpcMethodCall * method_call, XmlRpcParamType type, - char * string_value); + const char * string_value); char * vortex_xml_rpc_method_call_get_name (XmlRpcMethodCall * method_call); @@ -600,7 +600,7 @@ bool vortex_xml_rpc_method_call_must_release (XmlRpcMethodCall * method_call); bool vortex_xml_rpc_method_call_is (XmlRpcMethodCall * method_call, - char * method_name, + const char * method_name, int param_num, ...); @@ -682,8 +682,8 @@ XmlRpcMethodValue * vortex_xml_rpc_method_value_new_from_string (XmlRpcParamType type, const char * string_value); -XmlRpcMethodValue * vortex_xml_rpc_method_value_new_from_string2 (char * type, - char * string_value); +XmlRpcMethodValue * vortex_xml_rpc_method_value_new_from_string2 (const char * type, + const char * string_value); XmlRpcParamType vortex_xml_rpc_method_value_get_type (XmlRpcMethodValue * value); @@ -796,7 +796,7 @@ */ XmlRpcMethodResponse * vortex_xml_rpc_method_response_new (XmlRpcResponseStatus status, int fault_code, - char * fault_string, + const char * fault_string, XmlRpcMethodValue * value); XmlRpcMethodResponse * vortex_xml_rpc_method_response_create (XmlRpcParamType type, @@ -842,7 +842,7 @@ XmlRpcStructMember * member); XmlRpcMethodValue * vortex_xml_rpc_struct_get_member_value (XmlRpcStruct * _struct, - char * member_name); + const char * member_name); XmlRpcMethodValue * vortex_xml_rpc_struct_get_member_value_at (XmlRpcStruct * _struct, int position); @@ -851,19 +851,19 @@ int position); int vortex_xml_rpc_struct_get_member_value_as_int (XmlRpcStruct * _struct, - char * member_name); + const char * member_name); char * vortex_xml_rpc_struct_get_member_value_as_string (XmlRpcStruct * _struct, - char * member_name); + const char * member_name); double vortex_xml_rpc_struct_get_member_value_as_double (XmlRpcStruct * _struct, - char * member_name); + const char * member_name); XmlRpcStruct * vortex_xml_rpc_struct_get_member_value_as_struct (XmlRpcStruct * _struct, - char * member_name); + const char * member_name); XmlRpcArray * vortex_xml_rpc_struct_get_member_value_as_array (XmlRpcStruct * _struct, - char * member_name); + const char * member_name); void vortex_xml_rpc_struct_free (XmlRpcStruct * _struct);