# HG changeset patch # User Tobias Markmann # Date 1217630271 0 # Node ID 3c3480683075ec5f10beae8433ee7c89b3e7e522 # Parent affaa4c4836ea9b43985904ddd53858916d0a0f9 * fixing some bugs, finishing support for TXT queries diff -r affaa4c4836e -r 3c3480683075 libpurple/dnssrv.c --- a/libpurple/dnssrv.c Fri Aug 01 12:34:33 2008 +0000 +++ b/libpurple/dnssrv.c Fri Aug 01 22:37:51 2008 +0000 @@ -198,7 +198,7 @@ end: size = g_list_length(ret); write(out, &(query.type), sizeof(query.type)); - write(out, &size, sizeof(int)); + write(out, &size, sizeof(size)); while (ret != NULL) { if (query.type == T_SRV) write(out, ret->data, sizeof(PurpleSrvResponse)); @@ -223,7 +223,6 @@ int status; if (read(source, &type, sizeof(type)) == sizeof(type)) { - purple_debug_info("dnssrv","type: %d\n", type); if (type == T_SRV) { PurpleSrvResponse *res; PurpleSrvResponse *tmp; @@ -511,6 +510,7 @@ { char *query; PurpleSrvQueryData *query_data; + PurpleSrvInternalQuery internal_query; #ifndef _WIN32 int in[2], out[2]; int pid; @@ -552,7 +552,10 @@ close(out[1]); close(in[0]); - if (write(in[1], query, strlen(query)+1) < 0) + internal_query.type = T_TXT; + strncpy(internal_query.query, query, 255); + + if (write(in[1], &internal_query, sizeof(internal_query)) < 0) purple_debug_error("dnssrv", "Could not write to TXT resolver\n"); query_data = g_new0(PurpleSrvQueryData, 1);