# HG changeset patch # User Richard Laager # Date 1180765584 0 # Node ID 79ecaab86f91fdac893ca9372784deb8b3ebbd3d # Parent a90e2e720762584b97848154e0d47740a4f03f78 Eliminate some type punning warnings in proxy.c. This was inspired by a patch from o_sukhodolsky. He added a second variable and cast p to char *. I instead opted to make p a char *, which I think is more clear, and it eliminates more casts than it adds. diff -r a90e2e720762 -r 79ecaab86f91 libpurple/proxy.c --- a/libpurple/proxy.c Sat Jun 02 06:19:50 2007 +0000 +++ b/libpurple/proxy.c Sat Jun 02 06:26:24 2007 +0000 @@ -559,7 +559,7 @@ int len, headers_len, status = 0; gboolean error; PurpleProxyConnectData *connect_data = data; - guchar *p; + char *p; gsize max_read; if (connect_data->read_buffer == NULL) @@ -569,7 +569,7 @@ connect_data->read_len = 0; } - p = connect_data->read_buffer + connect_data->read_len; + p = (char *)connect_data->read_buffer + connect_data->read_len; max_read = connect_data->read_buf_len - connect_data->read_len - 1; len = read(connect_data->fd, p, max_read); @@ -596,11 +596,11 @@ connect_data->read_len += len; p[len] = '\0'; - p = (guchar *)g_strstr_len((const gchar *)connect_data->read_buffer, + p = g_strstr_len((const gchar *)connect_data->read_buffer, connect_data->read_len, "\r\n\r\n"); if (p != NULL) { *p = '\0'; - headers_len = (p - connect_data->read_buffer) + 4; + headers_len = (p - (char *)connect_data->read_buffer) + 4; } else if(len == max_read) headers_len = len; else @@ -610,34 +610,34 @@ if (!error) { int major; - p = connect_data->read_buffer + 5; - major = strtol((const char *)p, (char**)&p, 10); + p = (char *)connect_data->read_buffer + 5; + major = strtol(p, &p, 10); error = (major == 0) || (*p != '.'); if(!error) { int minor; p++; - minor = strtol((const char *)p, (char **)&p, 10); + minor = strtol(p, &p, 10); error = (*p != ' '); if(!error) { p++; - status = strtol((const char *)p, (char **)&p, 10); + status = strtol(p, &p, 10); error = (*p != ' '); } } } /* Read the contents */ - p = (guchar *)g_strrstr((const gchar *)connect_data->read_buffer, "Content-Length: "); + p = g_strrstr((const gchar *)connect_data->read_buffer, "Content-Length: "); if (p != NULL) { gchar *tmp; int len = 0; char tmpc; p += strlen("Content-Length: "); - tmp = strchr((const char *)p, '\r'); + tmp = strchr(p, '\r'); if(tmp) *tmp = '\0'; - len = atoi((const char *)p); + len = atoi(p); if(tmp) *tmp = '\r';