# HG changeset patch # User Mark Doliner # Date 1134110631 0 # Node ID 97167ff8668364315084381c03b4ef3dac5e7775 # Parent 3ac0000247e91aae7bc29d97104c6eb7ba1ccde7 [gaim-migrate @ 14746] Holy crap this was a pain to track down. Before this change, the value of lst was getting overwritten, I guess by the output of the DNS query. After this change I'm able to attempt to sign on to SIP in Windows. I'm getting "Wrong Password" now. Not sure what's up with that. I'll try to figure something out at work tomorrow. But hey, at least it's not crashing anymore. committer: Tailor Script diff -r 3ac0000247e9 -r 97167ff86683 src/dnssrv.c --- a/src/dnssrv.c Fri Dec 09 06:21:21 2005 +0000 +++ b/src/dnssrv.c Fri Dec 09 06:43:51 2005 +0000 @@ -225,7 +225,7 @@ } static gpointer res_thread(gpointer data) { - DNS_RECORD *dr = NULL; + PDNS_RECORD *dr = NULL; GSList *lst = NULL; struct srv_response *srvres; DNS_SRV_DATA *srv_data; @@ -233,11 +233,11 @@ DNS_STATUS ds; struct resdata *rdata = data; - ds = MyDnsQuery_UTF8(rdata->query, type, DNS_QUERY_STANDARD, NULL, &dr, NULL); + ds = MyDnsQuery_UTF8(rdata->query, type, DNS_QUERY_STANDARD, NULL, dr, NULL); if (ds != ERROR_SUCCESS) { rdata->errmsg = g_strdup_printf("Couldn't look up SRV record. Error = %d\n", (int) ds); } else { - DNS_RECORD *dr_tmp = dr; + DNS_RECORD *dr_tmp = *dr; while (dr_tmp != NULL) { /* Discard any incorrect entries. I'm not sure if this is necessary */ if (dr_tmp->wType != type || strcmp(dr_tmp->pName, rdata->query) != 0) { @@ -258,7 +258,7 @@ dr_tmp = dr_tmp->pNext; } - MyDnsRecordListFree(dr, DnsFreeRecordList); + MyDnsRecordListFree(*dr, DnsFreeRecordList); rdata->results = lst; }