diff src/list.c @ 4227:a614423c648f

[gaim-migrate @ 4471] This is a patch from Nathan Walp that adds a "char server_alias[BUDDY_ALIAS_MAXLEN]" to struct buddy, and a preference option to show the server alias instead of the alias set by you. It shouldn't cause any problems. But then again, faceprint is a crazy patch writer, with an emphasis on crazy, if you know what I mean. Huh? Get it? "Crazy"? I kill me. But right after I kill Time Warner. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Tue, 07 Jan 2003 17:44:34 +0000
parents 988485669631
children 0c68d402f59f
line wrap: on
line diff
--- a/src/list.c	Tue Jan 07 16:18:08 2003 +0000
+++ b/src/list.c	Tue Jan 07 17:44:34 2003 +0000
@@ -139,7 +139,10 @@
 		good = buddy;
 
 	g_snprintf(b->name, sizeof(b->name), "%s", good);
-	g_snprintf(b->show, sizeof(b->show), "%s", show ? (show[0] ? show : good) : good);
+	if(show && show[0])
+		g_snprintf(b->alias, sizeof(b->alias), "%s", show);
+	else
+		b->alias[0] = '\0';
 
 	g->members = g_slist_append(g->members, b);
 
@@ -476,8 +479,8 @@
 		while (len > pos && mem) {
 			b = (struct buddy *)mem->data;
 			pos += g_snprintf(&s[pos], len - pos, "b %s%s%s\n", b->name,
-					  (show && strcmp(b->name, b->show)) ? ":" : "",
-					  (show && strcmp(b->name, b->show)) ? b->show : "");
+					  (show && b->alias[0]) ? ":" : "",
+					  (show && b->alias[0]) ? b->alias : "");
 			mem = mem->next;
 		}
 		grp = g_slist_next(grp);
@@ -872,3 +875,22 @@
 		g = g->next;
 	}
 }
+
+char *get_buddy_alias_only(struct buddy *b) {
+	if(!b)
+		return NULL;
+	if(b->alias[0])
+		return b->alias;
+	else if((misc_options & OPT_MISC_USE_SERVER_ALIAS) && b->server_alias[0])
+		return b->server_alias;
+	return NULL;
+}
+
+
+char *get_buddy_alias(struct buddy *b) {
+	char *ret = get_buddy_alias_only(b);
+	if(!ret)
+		return b ? b->name : _("Unknown");
+	return ret;
+}
+