comparison src/buddy.c @ 1713:14caa7df478c

[gaim-migrate @ 1723] fun stuff committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Fri, 13 Apr 2001 23:18:02 +0000
parents 9b86520e04ac
children 8987160e446b
comparison
equal deleted inserted replaced
1712:560b3117aedf 1713:14caa7df478c
1039 char *text[1]; 1039 char *text[1];
1040 char buf[256]; 1040 char buf[256];
1041 struct buddy *b; 1041 struct buddy *b;
1042 struct group *g; 1042 struct group *g;
1043 struct group_show *gs = find_group_show(group); 1043 struct group_show *gs = find_group_show(group);
1044 char *good;
1044 1045
1045 if ((b = find_buddy(gc, buddy)) != NULL) 1046 if ((b = find_buddy(gc, buddy)) != NULL)
1046 return b; 1047 return b;
1047 1048
1048 g = find_group(gc, group); 1049 g = find_group(gc, group);
1057 1058
1058 b->edittype = EDIT_BUDDY; 1059 b->edittype = EDIT_BUDDY;
1059 b->gc = gc; 1060 b->gc = gc;
1060 b->present = 0; 1061 b->present = 0;
1061 1062
1062 g_snprintf(b->name, sizeof(b->name), "%s", buddy); 1063 if (gc->prpl->normalize)
1063 g_snprintf(b->show, sizeof(b->show), "%s", show ? (show[0] ? show : buddy) : buddy); 1064 good = (*gc->prpl->normalize)(buddy);
1065 else
1066 good = buddy;
1067
1068 g_snprintf(b->name, sizeof(b->name), "%s", good);
1069 g_snprintf(b->show, sizeof(b->show), "%s", show ? (show[0] ? show : good) : good);
1064 1070
1065 g->members = g_slist_append(g->members, b); 1071 g->members = g_slist_append(g->members, b);
1066 1072
1067 b->idle = 0; 1073 b->idle = 0;
1068 b->caps = 0; 1074 b->caps = 0;
1346 { 1352 {
1347 struct group *g; 1353 struct group *g;
1348 struct buddy *b; 1354 struct buddy *b;
1349 GSList *grp; 1355 GSList *grp;
1350 GSList *mem; 1356 GSList *mem;
1351 char *whoname = g_malloc(strlen(who) + 1); 1357 char *whoname;
1352 1358 char *(*norm)(const char *);
1353 strcpy(whoname, normalize(who)); 1359
1354
1355 if (gc) { 1360 if (gc) {
1361 if (gc->prpl->normalize)
1362 norm = gc->prpl->normalize;
1363 else
1364 norm = normalize;
1365 whoname = g_strdup((*norm)(who));
1356 grp = gc->groups; 1366 grp = gc->groups;
1357 while(grp) { 1367 while(grp) {
1358 g = (struct group *)grp->data; 1368 g = (struct group *)grp->data;
1359 1369
1360 mem = g->members; 1370 mem = g->members;
1361 while(mem) { 1371 while(mem) {
1362 b = (struct buddy *)mem->data; 1372 b = (struct buddy *)mem->data;
1363 if (!strcasecmp(normalize(b->name), whoname)) { 1373 if (!strcmp((*norm)(b->name), whoname)) {
1364 g_free(whoname); 1374 g_free(whoname);
1365 return g; 1375 return g;
1366 } 1376 }
1367 mem = mem->next; 1377 mem = mem->next;
1368 } 1378 }
1373 } else { 1383 } else {
1374 GSList *c = connections; 1384 GSList *c = connections;
1375 struct gaim_connection *z; 1385 struct gaim_connection *z;
1376 while (c) { 1386 while (c) {
1377 z = (struct gaim_connection *)c->data; 1387 z = (struct gaim_connection *)c->data;
1388 if (z->prpl->normalize)
1389 norm = z->prpl->normalize;
1390 else
1391 norm = normalize;
1392 whoname = g_strdup((*norm)(who));
1378 grp = z->groups; 1393 grp = z->groups;
1379 while(grp) { 1394 while(grp) {
1380 g = (struct group *)grp->data; 1395 g = (struct group *)grp->data;
1381 1396
1382 mem = g->members; 1397 mem = g->members;
1383 while(mem) { 1398 while(mem) {
1384 b = (struct buddy *)mem->data; 1399 b = (struct buddy *)mem->data;
1385 if (!strcasecmp(normalize(b->name), whoname)) { 1400 if (!strcmp((*norm)(b->name), whoname)) {
1386 g_free(whoname); 1401 g_free(whoname);
1387 return g; 1402 return g;
1388 } 1403 }
1389 mem = mem->next; 1404 mem = mem->next;
1390 } 1405 }
1391 grp = g_slist_next(grp); 1406 grp = g_slist_next(grp);
1392 } 1407 }
1393 c = c->next; 1408 c = c->next;
1394 } 1409 g_free(whoname);
1395 g_free(whoname); 1410 }
1396 return NULL; 1411 return NULL;
1397 } 1412 }
1398 } 1413 }
1399 1414
1400 1415
1404 struct buddy *b; 1419 struct buddy *b;
1405 GSList *grp; 1420 GSList *grp;
1406 GSList *c; 1421 GSList *c;
1407 struct gaim_connection *z; 1422 struct gaim_connection *z;
1408 GSList *mem; 1423 GSList *mem;
1409 char *whoname = g_malloc(strlen(who) + 1); 1424 char *whoname;
1410 1425 char *(*norm)(const char *);
1411 strcpy(whoname, normalize(who)); 1426
1412 if (gc) { 1427 if (gc) {
1428 if (gc->prpl->normalize)
1429 norm = gc->prpl->normalize;
1430 else
1431 norm = normalize;
1432 whoname = g_strdup((*norm)(who));
1413 grp = gc->groups; 1433 grp = gc->groups;
1414 while(grp) { 1434 while(grp) {
1415 g = (struct group *)grp->data; 1435 g = (struct group *)grp->data;
1416 1436
1417 mem = g->members; 1437 mem = g->members;
1418 while(mem) { 1438 while(mem) {
1419 b = (struct buddy *)mem->data; 1439 b = (struct buddy *)mem->data;
1420 if (!strcasecmp(normalize(b->name), whoname)) { 1440 if (!strcmp((*norm)(b->name), whoname)) {
1421 g_free(whoname); 1441 g_free(whoname);
1422 return b; 1442 return b;
1423 } 1443 }
1424 mem = mem->next; 1444 mem = mem->next;
1425 } 1445 }
1429 return NULL; 1449 return NULL;
1430 } else { 1450 } else {
1431 c = connections; 1451 c = connections;
1432 while (c) { 1452 while (c) {
1433 z = (struct gaim_connection *)c->data; 1453 z = (struct gaim_connection *)c->data;
1454 if (z->prpl->normalize)
1455 norm = z->prpl->normalize;
1456 else
1457 norm = normalize;
1458 whoname = g_strdup((*norm)(who));
1434 grp = z->groups; 1459 grp = z->groups;
1435 while(grp) { 1460 while(grp) {
1436 g = (struct group *)grp->data; 1461 g = (struct group *)grp->data;
1437 1462
1438 mem = g->members; 1463 mem = g->members;
1439 while(mem) { 1464 while(mem) {
1440 b = (struct buddy *)mem->data; 1465 b = (struct buddy *)mem->data;
1441 if (!strcasecmp(normalize(b->name), whoname)) { 1466 if (!strcmp((*norm)(b->name), whoname)) {
1442 g_free(whoname); 1467 g_free(whoname);
1443 return b; 1468 return b;
1444 } 1469 }
1445 mem = mem->next; 1470 mem = mem->next;
1446 } 1471 }
1447 grp = g_slist_next(grp); 1472 grp = g_slist_next(grp);
1448 } 1473 }
1449 c = c->next; 1474 c = c->next;
1450 } 1475 g_free(whoname);
1451 g_free(whoname); 1476 }
1452 return NULL; 1477 return NULL;
1453 } 1478 }
1454 } 1479 }
1455 1480
1456 1481