libpurple/protocols/irc/irc.c

changeset 35265
77664079d0f0
parent 35005
bff56dfca65d
parent 35171
01b5caa9d79b
child 35499
c4c5e0a670b1
child 37016
48f85579cc4c
equal deleted inserted replaced
35176:b0659f31989d 35265:77664079d0f0
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 }
1066 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option); 1066 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option);
1067 1067
1068 option = purple_account_option_bool_new(_("Auto-detect incoming UTF-8"), "autodetect_utf8", IRC_DEFAULT_AUTODETECT); 1068 option = purple_account_option_bool_new(_("Auto-detect incoming UTF-8"), "autodetect_utf8", IRC_DEFAULT_AUTODETECT);
1069 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option); 1069 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option);
1070 1070
1071 option = purple_account_option_string_new(_("Username"), "username", ""); 1071 option = purple_account_option_string_new(_("Ident name"), "username", "");
1072 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option); 1072 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option);
1073 1073
1074 option = purple_account_option_string_new(_("Real name"), "realname", ""); 1074 option = purple_account_option_string_new(_("Real name"), "realname", "");
1075 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option); 1075 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option);
1076 1076

mercurial