libpurple/protocols/irc/irc.c

branch
soc.2013.gobjectification.plugins
changeset 37016
48f85579cc4c
parent 37004
c8dce7bef0e6
parent 35265
77664079d0f0
child 37038
8832d14d7d0c
equal deleted inserted replaced
37015:28ee14bbe0ab 37016:48f85579cc4c
394 } 394 }
395 395
396 static gboolean do_login(PurpleConnection *gc) { 396 static gboolean do_login(PurpleConnection *gc) {
397 char *buf, *tmp = NULL; 397 char *buf, *tmp = NULL;
398 char *server; 398 char *server;
399 const char *username, *realname; 399 const char *nickname, *identname, *realname;
400 struct irc_conn *irc = purple_connection_get_protocol_data(gc); 400 struct irc_conn *irc = purple_connection_get_protocol_data(gc);
401 const char *pass = purple_connection_get_password(gc); 401 const char *pass = purple_connection_get_password(gc);
402 #ifdef HAVE_CYRUS_SASL 402 #ifdef HAVE_CYRUS_SASL
403 const gboolean use_sasl = purple_account_get_bool(irc->account, "sasl", FALSE); 403 const gboolean use_sasl = purple_account_get_bool(irc->account, "sasl", FALSE);
404 #endif 404 #endif
416 } 416 }
417 g_free(buf); 417 g_free(buf);
418 } 418 }
419 419
420 realname = purple_account_get_string(irc->account, "realname", ""); 420 realname = purple_account_get_string(irc->account, "realname", "");
421 username = purple_account_get_string(irc->account, "username", ""); 421 identname = purple_account_get_string(irc->account, "username", "");
422 422
423 if (username == NULL || *username == '\0') { 423 if (identname == NULL || *identname == '\0') {
424 username = g_get_user_name(); 424 identname = g_get_user_name();
425 } 425 }
426 426
427 if (username != NULL && strchr(username, ' ') != NULL) { 427 if (identname != NULL && strchr(identname, ' ') != NULL) {
428 tmp = g_strdup(username); 428 tmp = g_strdup(identname);
429 while ((buf = strchr(tmp, ' ')) != NULL) { 429 while ((buf = strchr(tmp, ' ')) != NULL) {
430 *buf = '_'; 430 *buf = '_';
431 } 431 }
432 } 432 }
433 433
436 server = g_strdup_printf("0%s", irc->server); 436 server = g_strdup_printf("0%s", irc->server);
437 } else { 437 } else {
438 server = g_strdup(irc->server); 438 server = g_strdup(irc->server);
439 } 439 }
440 440
441 buf = irc_format(irc, "vvvv:", "USER", tmp ? tmp : username, "*", server, 441 buf = irc_format(irc, "vvvv:", "USER", tmp ? tmp : identname, "*", server,
442 strlen(realname) ? realname : IRC_DEFAULT_ALIAS); 442 strlen(realname) ? realname : IRC_DEFAULT_ALIAS);
443 g_free(tmp); 443 g_free(tmp);
444 g_free(server); 444 g_free(server);
445 if (irc_send(irc, buf) < 0) { 445 if (irc_send(irc, buf) < 0) {
446 g_free(buf); 446 g_free(buf);
447 return FALSE; 447 return FALSE;
448 } 448 }
449 g_free(buf); 449 g_free(buf);
450 username = purple_connection_get_display_name(gc); 450 nickname = purple_connection_get_display_name(gc);
451 buf = irc_format(irc, "vn", "NICK", username); 451 buf = irc_format(irc, "vn", "NICK", nickname);
452 irc->reqnick = g_strdup(username); 452 irc->reqnick = g_strdup(nickname);
453 irc->nickused = FALSE; 453 irc->nickused = FALSE;
454 if (irc_send(irc, buf) < 0) { 454 if (irc_send(irc, buf) < 0) {
455 g_free(buf); 455 g_free(buf);
456 return FALSE; 456 return FALSE;
457 } 457 }
946 protocol->protocol_options = g_list_append(protocol->protocol_options, option); 946 protocol->protocol_options = g_list_append(protocol->protocol_options, option);
947 947
948 option = purple_account_option_bool_new(_("Auto-detect incoming UTF-8"), "autodetect_utf8", IRC_DEFAULT_AUTODETECT); 948 option = purple_account_option_bool_new(_("Auto-detect incoming UTF-8"), "autodetect_utf8", IRC_DEFAULT_AUTODETECT);
949 protocol->protocol_options = g_list_append(protocol->protocol_options, option); 949 protocol->protocol_options = g_list_append(protocol->protocol_options, option);
950 950
951 option = purple_account_option_string_new(_("Username"), "username", ""); 951 option = purple_account_option_string_new(_("Ident name"), "username", "");
952 protocol->protocol_options = g_list_append(protocol->protocol_options, option); 952 protocol->protocol_options = g_list_append(protocol->protocol_options, option);
953 953
954 option = purple_account_option_string_new(_("Real name"), "realname", ""); 954 option = purple_account_option_string_new(_("Real name"), "realname", "");
955 protocol->protocol_options = g_list_append(protocol->protocol_options, option); 955 protocol->protocol_options = g_list_append(protocol->protocol_options, option);
956 956

mercurial