libpurple/protocols/irc/irc.c

branch
release-2.x.y
changeset 35171
01b5caa9d79b
parent 33404
bbd52f93184e
child 35265
77664079d0f0
child 36261
88ce4f534696
equal deleted inserted replaced
35170:41f194fab201 35171:01b5caa9d79b
388 } 388 }
389 389
390 static gboolean do_login(PurpleConnection *gc) { 390 static gboolean do_login(PurpleConnection *gc) {
391 char *buf, *tmp = NULL; 391 char *buf, *tmp = NULL;
392 char *server; 392 char *server;
393 const char *username, *realname; 393 const char *nickname, *identname, *realname;
394 struct irc_conn *irc = gc->proto_data; 394 struct irc_conn *irc = gc->proto_data;
395 const char *pass = purple_connection_get_password(gc); 395 const char *pass = purple_connection_get_password(gc);
396 #ifdef HAVE_CYRUS_SASL 396 #ifdef HAVE_CYRUS_SASL
397 const gboolean use_sasl = purple_account_get_bool(irc->account, "sasl", FALSE); 397 const gboolean use_sasl = purple_account_get_bool(irc->account, "sasl", FALSE);
398 #endif 398 #endif
410 } 410 }
411 g_free(buf); 411 g_free(buf);
412 } 412 }
413 413
414 realname = purple_account_get_string(irc->account, "realname", ""); 414 realname = purple_account_get_string(irc->account, "realname", "");
415 username = purple_account_get_string(irc->account, "username", ""); 415 identname = purple_account_get_string(irc->account, "username", "");
416 416
417 if (username == NULL || *username == '\0') { 417 if (identname == NULL || *identname == '\0') {
418 username = g_get_user_name(); 418 identname = g_get_user_name();
419 } 419 }
420 420
421 if (username != NULL && strchr(username, ' ') != NULL) { 421 if (identname != NULL && strchr(identname, ' ') != NULL) {
422 tmp = g_strdup(username); 422 tmp = g_strdup(identname);
423 while ((buf = strchr(tmp, ' ')) != NULL) { 423 while ((buf = strchr(tmp, ' ')) != NULL) {
424 *buf = '_'; 424 *buf = '_';
425 } 425 }
426 } 426 }
427 427
430 server = g_strdup_printf("0%s", irc->server); 430 server = g_strdup_printf("0%s", irc->server);
431 } else { 431 } else {
432 server = g_strdup(irc->server); 432 server = g_strdup(irc->server);
433 } 433 }
434 434
435 buf = irc_format(irc, "vvvv:", "USER", tmp ? tmp : username, "*", server, 435 buf = irc_format(irc, "vvvv:", "USER", tmp ? tmp : identname, "*", server,
436 strlen(realname) ? realname : IRC_DEFAULT_ALIAS); 436 strlen(realname) ? realname : IRC_DEFAULT_ALIAS);
437 g_free(tmp); 437 g_free(tmp);
438 g_free(server); 438 g_free(server);
439 if (irc_send(irc, buf) < 0) { 439 if (irc_send(irc, buf) < 0) {
440 g_free(buf); 440 g_free(buf);
441 return FALSE; 441 return FALSE;
442 } 442 }
443 g_free(buf); 443 g_free(buf);
444 username = purple_connection_get_display_name(gc); 444 nickname = purple_connection_get_display_name(gc);
445 buf = irc_format(irc, "vn", "NICK", username); 445 buf = irc_format(irc, "vn", "NICK", nickname);
446 irc->reqnick = g_strdup(username); 446 irc->reqnick = g_strdup(nickname);
447 irc->nickused = FALSE; 447 irc->nickused = FALSE;
448 if (irc_send(irc, buf) < 0) { 448 if (irc_send(irc, buf) < 0) {
449 g_free(buf); 449 g_free(buf);
450 return FALSE; 450 return FALSE;
451 } 451 }
1049 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option); 1049 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option);
1050 1050
1051 option = purple_account_option_bool_new(_("Auto-detect incoming UTF-8"), "autodetect_utf8", IRC_DEFAULT_AUTODETECT); 1051 option = purple_account_option_bool_new(_("Auto-detect incoming UTF-8"), "autodetect_utf8", IRC_DEFAULT_AUTODETECT);
1052 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option); 1052 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option);
1053 1053
1054 option = purple_account_option_string_new(_("Username"), "username", ""); 1054 option = purple_account_option_string_new(_("Ident name"), "username", "");
1055 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option); 1055 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option);
1056 1056
1057 option = purple_account_option_string_new(_("Real name"), "realname", ""); 1057 option = purple_account_option_string_new(_("Real name"), "realname", "");
1058 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option); 1058 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option);
1059 1059

mercurial