Mercurial > pidgin
comparison src/protocols/irc/irc.c @ 5791:f5a4a17c58a5
[gaim-migrate @ 6216]
IRC works again.
committer: Tailor Script <tailor@pidgin.im>
author | Christian Hammond <chipx86@chipx86.com> |
---|---|
date | Sat, 07 Jun 2003 05:53:57 +0000 |
parents | 46d7ad0dfa26 |
children | 059d95c67cda |
comparison
equal
deleted
inserted
replaced
5790:995e63fb1a5a | 5791:f5a4a17c58a5 |
---|---|
1870 GaimAccount *account = gaim_connection_get_account(gc); | 1870 GaimAccount *account = gaim_connection_get_account(gc); |
1871 struct irc_data *idata; | 1871 struct irc_data *idata; |
1872 char hostname[256]; | 1872 char hostname[256]; |
1873 char buf[IRC_BUF_LEN]; | 1873 char buf[IRC_BUF_LEN]; |
1874 char *test; | 1874 char *test; |
1875 const char *alias; | |
1875 const char *charset = gaim_account_get_string(account, "charset", "UTF-8"); | 1876 const char *charset = gaim_account_get_string(account, "charset", "UTF-8"); |
1876 GError *err = NULL; | 1877 GError *err = NULL; |
1877 | |
1878 if (!g_list_find(gaim_connections_get_all(), gc)) { | |
1879 close(source); | |
1880 return; | |
1881 } | |
1882 | 1878 |
1883 idata = gc->proto_data; | 1879 idata = gc->proto_data; |
1884 | 1880 |
1885 if (source < 0) { | 1881 if (source < 0) { |
1886 gaim_connection_error(gc, "Write error"); | 1882 gaim_connection_error(gc, "Write error"); |
1900 | 1896 |
1901 g_free(test); | 1897 g_free(test); |
1902 | 1898 |
1903 gethostname(hostname, sizeof(hostname) - 1); | 1899 gethostname(hostname, sizeof(hostname) - 1); |
1904 hostname[sizeof(hostname) - 1] = 0; | 1900 hostname[sizeof(hostname) - 1] = 0; |
1901 | |
1905 if (!*hostname) | 1902 if (!*hostname) |
1906 g_snprintf(hostname, sizeof(hostname), "localhost"); | 1903 g_snprintf(hostname, sizeof(hostname), "localhost"); |
1907 | 1904 |
1908 if (gc->account->password != NULL) { | 1905 if (gaim_account_get_password(account) != NULL) { |
1909 g_snprintf(buf, sizeof(buf), "PASS %s\r\n", gaim_account_get_password(account)); | 1906 g_snprintf(buf, sizeof(buf), "PASS %s\r\n", |
1907 gaim_account_get_password(account)); | |
1910 | 1908 |
1911 if (irc_write(idata->fd, buf, strlen(buf)) < 0) { | 1909 if (irc_write(idata->fd, buf, strlen(buf)) < 0) { |
1912 gaim_connection_error(gc, "Write error"); | 1910 gaim_connection_error(gc, "Write error"); |
1913 return; | 1911 return; |
1914 } | 1912 } |
1915 } | 1913 } |
1916 | 1914 |
1915 alias = gaim_account_get_alias(account); | |
1916 | |
1917 g_snprintf(buf, sizeof(buf), "USER %s %s %s :%s\r\n", | 1917 g_snprintf(buf, sizeof(buf), "USER %s %s %s :%s\r\n", |
1918 g_get_user_name(), hostname, | 1918 g_get_user_name(), hostname, |
1919 idata->server, | 1919 idata->server, |
1920 *gc->account->alias ? gc->account->alias : "gaim"); | 1920 (alias == NULL ? "gaim" : alias)); |
1921 | |
1921 if (irc_write(idata->fd, buf, strlen(buf)) < 0) { | 1922 if (irc_write(idata->fd, buf, strlen(buf)) < 0) { |
1922 gaim_connection_error(gc, "Write error"); | 1923 gaim_connection_error(gc, "Write error"); |
1923 return; | 1924 return; |
1924 } | 1925 } |
1925 | 1926 |
1926 g_snprintf(buf, sizeof(buf), "NICK %s\r\n", gaim_connection_get_display_name(gc)); | 1927 g_snprintf(buf, sizeof(buf), "NICK %s\r\n", |
1928 gaim_connection_get_display_name(gc)); | |
1929 | |
1927 if (irc_write(idata->fd, buf, strlen(buf)) < 0) { | 1930 if (irc_write(idata->fd, buf, strlen(buf)) < 0) { |
1928 gaim_connection_error(gc, "Write error"); | 1931 gaim_connection_error(gc, "Write error"); |
1929 return; | 1932 return; |
1930 } | 1933 } |
1931 | 1934 |
1962 | 1965 |
1963 rc = gaim_proxy_connect(account, idata->server, | 1966 rc = gaim_proxy_connect(account, idata->server, |
1964 gaim_account_get_int(account, "port", 6667), | 1967 gaim_account_get_int(account, "port", 6667), |
1965 irc_login_callback, gc); | 1968 irc_login_callback, gc); |
1966 | 1969 |
1967 if (!account->gc || (rc != 0)) { | 1970 if (rc != 0) { |
1968 gaim_connection_error(gc, _("Unable to create socket")); | 1971 gaim_connection_error(gc, _("Unable to create socket")); |
1969 return; | 1972 return; |
1970 } | 1973 } |
1971 } | 1974 } |
1972 | 1975 |