comparison src/protocols/novell/nmuser.c @ 8744:0f73e8204529

[gaim-migrate @ 9499] "This patch fixes some memory leaks and also fixes the title for the contact info dialog -- no longer using "Title" :)" --Mike Stoddard (16:51:04) Sean: Mike Stoddard is the Novell guy who wrote it. Accept any patches from him committer: Tailor Script <tailor@pidgin.im>
author Luke Schierer <lschiere@pidgin.im>
date Wed, 21 Apr 2004 21:01:42 +0000
parents 046dd8ef2920
children 5a2b5e4abf3a
comparison
equal deleted inserted replaced
8743:fb48b9472ea5 8744:0f73e8204529
1272 } 1272 }
1273 1273
1274 const char * 1274 const char *
1275 nm_lookup_dn(NMUser * user, const char *display_id) 1275 nm_lookup_dn(NMUser * user, const char *display_id)
1276 { 1276 {
1277 const char *dn;
1278 char *lower;
1279
1277 if (user == NULL || display_id == NULL) 1280 if (user == NULL || display_id == NULL)
1278 return NULL; 1281 return NULL;
1279 1282
1280 return (const char *) g_hash_table_lookup(user->display_id_to_dn, 1283 lower = g_utf8_strdown(display_id, -1);
1281 g_utf8_strdown(display_id, -1)); 1284 dn = g_hash_table_lookup(user->display_id_to_dn, lower);
1285 g_free(lower);
1286
1287 return dn;
1282 } 1288 }
1283 1289
1284 NMFolder * 1290 NMFolder *
1285 nm_find_folder(NMUser * user, const char *name) 1291 nm_find_folder(NMUser * user, const char *name)
1286 { 1292 {
1405 if (strcmp("login", cmd) == 0) { 1411 if (strcmp("login", cmd) == 0) {
1406 1412
1407 user->user_record = nm_create_user_record_from_fields(fields); 1413 user->user_record = nm_create_user_record_from_fields(fields);
1408 1414
1409 /* Save the users fields */ 1415 /* Save the users fields */
1410 user->fields = fields; 1416 user->fields = nm_copy_field_array(fields);
1411 1417
1412 } else if (strcmp("setstatus", cmd) == 0) { 1418 } else if (strcmp("setstatus", cmd) == 0) {
1413 1419
1414 /* Nothing to do */ 1420 /* Nothing to do */
1415 1421
1434 conf = (NMConference *) nm_request_get_data(request); 1440 conf = (NMConference *) nm_request_get_data(request);
1435 nm_conference_list_remove(user, conf); 1441 nm_conference_list_remove(user, conf);
1436 1442
1437 } else if (strcmp("joinconf", cmd) == 0) { 1443 } else if (strcmp("joinconf", cmd) == 0) {
1438 GSList *list = NULL, *node; 1444 GSList *list = NULL, *node;
1439
1440 nm_print_fields(fields);
1441 1445
1442 conf = nm_request_get_data(request); 1446 conf = nm_request_get_data(request);
1443 1447
1444 locate = nm_locate_field(NM_A_FA_CONTACT_LIST, fields); 1448 locate = nm_locate_field(NM_A_FA_CONTACT_LIST, fields);
1445 if (locate && locate->value != 0) { 1449 if (locate && locate->value != 0) {
1605 if (req != NULL) { 1609 if (req != NULL) {
1606 rc = nm_call_handler(user, req, fields); 1610 rc = nm_call_handler(user, req, fields);
1607 } 1611 }
1608 } 1612 }
1609 } 1613 }
1614
1615 if (fields)
1616 nm_free_fields(&fields);
1610 1617
1611 return rc; 1618 return rc;
1612 } 1619 }
1613 1620
1614 /* 1621 /*