# SOME DESCRIPTIVE TITLE. # This file is put in the public domain. # # Translators: # Shankar Prasad , 2010. msgid "" msgstr "" "Project-Id-Version: HexChat\n" "Report-Msgid-Bugs-To: www.hexchat.org\n" "POT-Creation-Date: 2013-03-28 23:54+0100\n" "PO-Revision-Date: 2013-03-28 23:04+0000\n" "Last-Translator: bviktor \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: kn\n" "Plural-Forms: nplurals=1; plural=0;\n" #: src/common/cfgfiles.c:746 msgid "I'm busy" msgstr "ನಾನು ಕಾರ್ಯನಿರತವಾಗಿದ್ದೇನೆ" #: src/common/cfgfiles.c:773 msgid "Leaving" msgstr "ಹೊರಹೋಗಲಾಗುತ್ತಿದೆ" #: src/common/cfgfiles.c:834 msgid "" "* Running IRC as root is stupid! You should\n" " create a User Account and use that to login.\n" msgstr "* IRC ಅನ್ನು ನಿರ್ವಾಹಕರಾಗಿ ಚಲಾಯಿಸುವುದು ಮೂರ್ಖತನ! \n ನೀವು ಒಂದು ಬಳಕೆದಾರ ಖಾತೆಯನ್ನು ರಚಿಸಿ ನಂತರ ಒಳಕ್ಕೆ ಪ್ರವೇಶಿಸಬೇಕು.\n" #: src/common/dcc.c:81 msgid "Waiting" msgstr "ಕಾಯಲಾಗುತ್ತಿದೆ" #: src/common/dcc.c:82 msgid "Active" msgstr "ಸಕ್ರಿಯ" #: src/common/dcc.c:83 msgid "Failed" msgstr "ವಿಫಲವಾಗಿದೆ" #: src/common/dcc.c:84 msgid "Done" msgstr "ಆಯಿತು" #: src/common/dcc.c:85 src/fe-gtk/menu.c:943 msgid "Connect" msgstr "ಸಂಪರ್ಕಿತಗೊಂಡಿದೆ" #: src/common/dcc.c:86 msgid "Aborted" msgstr "ನಿಲ್ಲಿಸಿದೆ" #: src/common/dcc.c:1885 src/common/outbound.c:2539 #, c-format msgid "Cannot access %s\n" msgstr "%s ಅನ್ನು ನಿಲುಕಿಸಕೊಳ್ಳಲು ಸಾಧ್ಯವಿಲ್ಲ\n" #: src/common/dcc.c:1886 src/common/text.c:1302 src/common/text.c:1340 #: src/common/text.c:1351 src/common/text.c:1358 src/common/text.c:1371 #: src/common/text.c:1388 src/common/text.c:1488 src/common/util.c:358 msgid "Error" msgstr "ದೋಷ" #: src/common/dcc.c:2364 #, c-format msgid "%s is offering \"%s\". Do you want to accept?" msgstr "%s ರವರು \"%s\" ಅನ್ನು ನೀಡುತ್ತಿದ್ದಾರೆ. ನೀವು ಸ್ವೀಕರಿಸಲು ಬಯಸುತ್ತೀರೆ?" #: src/common/dcc.c:2579 msgid "No active DCCs\n" msgstr "ಯಾವುದೆ ಸಕ್ರಿಯ DCCಗಳಿಲ್ಲ\n" #: src/common/hexchat.c:842 msgid "_Open Dialog Window" msgstr "ಸಂವಾದ ವಿಂಡೊವನ್ನು ತೆರೆ(_O)" #: src/common/hexchat.c:843 msgid "_Send a File" msgstr "ಕಡತವನ್ನು ಕಳುಹಿಸು(_S)" #: src/common/hexchat.c:844 msgid "_User Info (WhoIs)" msgstr "ಬಳಕೆದಾರ ಮಾಹಿತಿ (WhoIs)(_U)" #: src/common/hexchat.c:845 msgid "_Add to Friends List" msgstr "ಗೆಳೆಯರ ಪಟ್ಟಿಗೆ ಸೇರಿಸು(_A)" #: src/common/hexchat.c:846 msgid "_Ignore" msgstr "" #: src/common/hexchat.c:847 msgid "O_perator Actions" msgstr "ನಿರ್ವಾಹಕರ ಕ್ರಿಯೆಗಳು(_p)" #: src/common/hexchat.c:849 msgid "Give Ops" msgstr "Ops ಅನ್ನು ನೀಡಿ" #: src/common/hexchat.c:850 msgid "Take Ops" msgstr "Ops ಅನ್ನು ತೆಗೆದುಕೊಳ್ಳಿ" #: src/common/hexchat.c:851 msgid "Give Voice" msgstr "ಧ್ವನಿಯನ್ನು ನೀಡಿ" #: src/common/hexchat.c:852 msgid "Take Voice" msgstr "ಧ್ವನಿಯನ್ನು ತೆಗೆದುಕೊಳ್ಳಿ" #: src/common/hexchat.c:854 msgid "Kick/Ban" msgstr "ಹೊರಗಟ್ಟು/ನಿಶೇಧಿಸು" #: src/common/hexchat.c:855 src/common/hexchat.c:892 msgid "Kick" msgstr "ಹೊರಗಟ್ಟು" #: src/common/hexchat.c:856 src/common/hexchat.c:857 src/common/hexchat.c:858 #: src/common/hexchat.c:859 src/common/hexchat.c:860 src/common/hexchat.c:891 #: src/fe-gtk/banlist.c:60 msgid "Ban" msgstr "ನಿಶೇಧಿಸು" #: src/common/hexchat.c:861 src/common/hexchat.c:862 src/common/hexchat.c:863 #: src/common/hexchat.c:864 msgid "KickBan" msgstr "ಹೊರಗಟ್ಟಿ ನಿಶೇಧಿಸು" #: src/common/hexchat.c:874 msgid "Leave Channel" msgstr "ಚಾನಲ್‌ನಿಂದ ಹೊರನಡೆಯಿರಿ" #: src/common/hexchat.c:875 msgid "Join Channel..." msgstr "ಒಂದು ಚಾನಲ್ ಅನ್ನು ಸೇರು..." #: src/common/hexchat.c:876 src/fe-gtk/menu.c:1336 msgid "Enter Channel to Join:" msgstr "ಸೇರಬೇಕಿರುವ ಚಾನಲ್‌ ಅನ್ನು ನಮೂದಿಸಿ:" #: src/common/hexchat.c:877 msgid "Server Links" msgstr "ಪರಿಚಾರಕದ ಕೊಂಡಿಗಳು" #: src/common/hexchat.c:878 msgid "Ping Server" msgstr "ಪರಿಚಾರಕವನ್ನು ಪಿಂಗ್‌ ಮಾಡು" #: src/common/hexchat.c:879 msgid "Hide Version" msgstr "ಆವೃತ್ತಿಯನ್ನು ಅಡಗಿಸು" #: src/common/hexchat.c:889 msgid "Op" msgstr "Op" #: src/common/hexchat.c:890 msgid "DeOp" msgstr "DeOp" #: src/common/hexchat.c:893 msgid "bye" msgstr "ಶುಭವಾಗಲಿ" #: src/common/hexchat.c:894 #, c-format msgid "Enter reason to kick %s:" msgstr "%s ಅನ್ನು ಹೊರಗಟ್ಟಲು ಕಾರಣ ಕೊಡಿ:" #: src/common/hexchat.c:895 msgid "Sendfile" msgstr "Sendfile" #: src/common/hexchat.c:896 msgid "Dialog" msgstr "ಸಂವಾದ" #: src/common/hexchat.c:905 msgid "WhoIs" msgstr "WhoIs" #: src/common/hexchat.c:906 msgid "Send" msgstr "ಕಳುಹಿಸು" #: src/common/hexchat.c:907 msgid "Chat" msgstr "ಮಾತುಕತೆ" #: src/common/hexchat.c:908 src/fe-gtk/banlist.c:778 #: src/fe-gtk/ignoregui.c:400 src/fe-gtk/urlgrab.c:213 msgid "Clear" msgstr "ಖಾಲಿಮಾಡಿ" #: src/common/hexchat.c:909 msgid "Ping" msgstr "ಪಿಂಗ್" #: src/common/ignore.c:126 src/common/ignore.c:130 src/common/ignore.c:134 #: src/common/ignore.c:138 src/common/ignore.c:142 src/common/ignore.c:146 #: src/common/ignore.c:150 msgid "YES " msgstr "ಹೌದು " #: src/common/ignore.c:128 src/common/ignore.c:132 src/common/ignore.c:136 #: src/common/ignore.c:140 src/common/ignore.c:144 src/common/ignore.c:148 #: src/common/ignore.c:152 msgid "NO " msgstr "ಇಲ್ಲ " #: src/common/ignore.c:383 #, c-format msgid "You are being CTCP flooded from %s, ignoring %s\n" msgstr "ನಿಮ್ಮತ್ತ %s ಇಂದ CTCP ಹರಿಸುತ್ತಿದ್ದಾರೆ, %s ಅನ್ನು ಆಲಕ್ಷಿಸಲಾಗುತ್ತಿದೆ\n" #: src/common/ignore.c:408 #, c-format msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" msgstr "" #: src/common/notify.c:478 #, c-format msgid " %-20s online\n" msgstr " %-20s ಆನ್‌ಲೈನ್\n" #: src/common/notify.c:480 #, c-format msgid " %-20s offline\n" msgstr " %-20s ಆಫ್‍ಲೈನ್\n" #: src/common/outbound.c:72 msgid "No channel joined. Try /join #\n" msgstr "ಯಾವುದೆ ಚಾನಲ್‌ಗೆ ಸೇರ್ಪಡೆಗೊಂಡಿಲ್ಲ. /join # ಅನ್ನು ಪ್ರಯತ್ನಿಸಿ ನೋಡಿ\n" #: src/common/outbound.c:78 msgid "Not connected. Try /server []\n" msgstr "ಸಂಪರ್ಕಿತಗೊಂಡಿಲ್ಲ. /server [] ಅನ್ನು ಪ್ರಯತ್ನಿಸಿ ನೋಡಿ\n" #: src/common/outbound.c:281 #, c-format msgid "Server %s already exists on network %s.\n" msgstr "" #: src/common/outbound.c:287 #, c-format msgid "Added server %s to network %s.\n" msgstr "" #: src/common/outbound.c:373 #, c-format msgid "Already marked away: %s\n" msgstr "ಈಗಾಗಲೆ ಆಚೆ ಹೋಗಿದ್ದಾರೆ ಎಂದು ಗುರುತು ಹಾಕಲಾಗಿದೆ: %s\n" #: src/common/outbound.c:446 msgid "Already marked back.\n" msgstr "ಮರಳಿಬಂದಿದ್ದಾರೆ ಎಂದು ಈಗಾಗಲೆ ಗುರುತುಹಾಕಲಾಗಿದೆ.\n" #: src/common/outbound.c:1812 msgid "I need /bin/sh to run!\n" msgstr "ಚಲಾಯಿಸಲು ನನಗೆ /bin/sh ನ ಅಗತ್ಯವಿದೆ!\n" #: src/common/outbound.c:2203 msgid "Commands Available:" msgstr "ಲಭ್ಯವಿರುವ ಆಜ್ಞೆಗಳು:" #: src/common/outbound.c:2217 msgid "User defined commands:" msgstr "ಬಳಕೆದಾರರಿಂದ ಸೂಚಿಸಲಾದ ಆಜ್ಞೆಗಳು:" #: src/common/outbound.c:2233 msgid "Plugin defined commands:" msgstr "ಪ್ಲಗ್‌ಇನ್‌ನಿಂದ ಸೂಚಿಸಲಾದ ಆಜ್ಞೆಗಳು:" #: src/common/outbound.c:2244 msgid "Type /HELP for more information, or /HELP -l" msgstr "ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ /HELP ಅನ್ನು, ಅಥವ /HELP -l ಅನ್ನು ಪ್ರಯತ್ನಿಸಿ" #: src/common/outbound.c:2328 #, c-format msgid "Unknown arg '%s' ignored." msgstr "'%s' ಎಂಬ ಆಜ್ಞಾತ ಆಜ್ಞೆಯನ್ನು ಆಲಕ್ಷಿಸಲಾಗಿದೆ." #: src/common/outbound.c:3329 msgid "No such plugin found.\n" msgstr "ಅಂತಹ ಯಾವುದೆ ಪ್ಲಗ್‌ಇನ್ ಕಂಡುಬಂದಿಲ್ಲ.\n" #: src/common/outbound.c:3334 src/fe-gtk/plugingui.c:190 msgid "That plugin is refusing to unload.\n" msgstr "ಆ ಪ್ಲಗ್‌ಇನ್ ಲೋಡ್ ಆಗಲು ನಿರಾಕರಿಸಿದೆ.\n" #: src/common/outbound.c:3609 msgid "ADDBUTTON , adds a button under the user-list" msgstr "ADDBUTTON , ಇದು ಬಳಕೆದಾರ ಪಟ್ಟಿಯಲ್ಲಿ ಒಂದು ಗುಂಡಿಯನ್ನು ಸೇರಿಸುತ್ತದೆ" #: src/common/outbound.c:3610 msgid "" "ADDSERVER , adds a new network with a new " "server to the network list" msgstr "" #: src/common/outbound.c:3612 msgid "ALLCHAN , sends a command to all channels you're in" msgstr "ALLCHAN , ನೀವು ಇರುವ ಎಲ್ಲಾ ಚಾನಲ್‌ಗೂ ಒಂದು ಆಜ್ಞೆಯನ್ನು ಕಳುಹಿಸುತ್ತದೆ" #: src/common/outbound.c:3614 msgid "ALLCHANL , sends a command to all channels on the current server" msgstr "" #: src/common/outbound.c:3616 msgid "ALLSERV , sends a command to all servers you're in" msgstr "ALLSERV , ನೀವು ಇರುವ ಎಲ್ಲಾ ಪರಿಚಾರಕಕ್ಕೂ ಒಂದು ಆಜ್ಞೆಯನ್ನು ಕಳುಹಿಸುತ್ತದೆ" #: src/common/outbound.c:3617 msgid "AWAY [], sets you away" msgstr "AWAY [], ಆಚೆ ಹೋಗಿದ್ದಾರೆ ಎಂದು ಸೂಚಿಸುತ್ತದೆ" #: src/common/outbound.c:3618 msgid "BACK, sets you back (not away)" msgstr "BACK, ಮರಳಿದ್ದಾರೆ ಎಂದು ಗುರುತುಹಾಕುತ್ತದೆ (ಆಚೆ ಎಂದಲ್ಲ)" #: src/common/outbound.c:3620 msgid "" "BAN [], bans everyone matching the mask from the current " "channel. If they are already on the channel this doesn't kick them (needs " "chanop)" msgstr "BAN [], ಮುಸುಕಿಗೆ(ಮಾಸ್ಕ್) ತಾಳೆಯಾಗುವ ಪ್ರಸಕ್ತ ಚಾನಲ್‌ನಲ್ಲಿನ ಎಲ್ಲರನ್ನೂ ನಿರ್ಬಂಧಿಸಲಾಗುತ್ತದೆ. ಅವರು ಈಗಾಗಲೆ ಚಾನಲ್‌ನಲ್ಲಿದ್ದಲ್ಲಿ ಇದು ಅವರನ್ನು ಹೊರಹಾಕುವುದಿಲ್ಲ (chanop ಅಗತ್ಯವಿರುತ್ತದೆ)" #: src/common/outbound.c:3621 msgid "CHANOPT [-quiet] []" msgstr "CHANOPT [-quiet] []" #: src/common/outbound.c:3622 msgid "" "CHARSET [], get or set the encoding used for the current " "connection" msgstr "" #: src/common/outbound.c:3623 msgid "CLEAR [ALL|HISTORY], Clears the current text window or command history" msgstr "CLEAR [ALL|HISTORY], ಪ್ರಸಕ್ತ ಪಠ್ಯ ವಿಂಡೊವನ್ನು ಅಥವ ಆಜ್ಞೆಯ ಇತಿಹಾಸವನ್ನು ಅಳಿಸಿಹಾಕುತ್ತದೆ" #: src/common/outbound.c:3624 msgid "CLOSE, Closes the current window/tab" msgstr "CLOSE, ಪ್ರಸಕ್ತ ವಿಂಡೊ/ಹಾಳೆಯನ್ನು ಮುಚ್ಚುತ್ತದೆ" #: src/common/outbound.c:3627 msgid "COUNTRY [-s] , finds a country code, eg: au = australia" msgstr "COUNTRY [-s] , ಒಂದು ದೇಶದ ಸಂಕೇತವನ್ನು ಹುಡುಕುತ್ತದೆ, ಉದಾ: au = australia" #: src/common/outbound.c:3629 msgid "" "CTCP , send the CTCP message to nick, common messages are " "VERSION and USERINFO" msgstr "CTCP , ನಿಗದಿತ ಅಡ್ಡಹೆಸರಿಗೆ CTCP ಸಂದೇಶವನ್ನು ಕಳುಹಿಸುತ್ತದೆ, ಸಾಮಾನ್ಯ ಸಂದೇಶಗಳೆಂದರೆ VERSION ಹಾಗು USERINFO ಆಗಿರುತ್ತದೆ" #: src/common/outbound.c:3631 msgid "" "CYCLE [], parts the current or given channel and immediately " "rejoins" msgstr "CYCLE [], ಪ್ರಸಕ್ತ ಅಥವ ಸೂಚಿಸಲಾದ ಚಾನಲ್‌ನಿಂದ ನಿರ್ಗಮಿಸಿ ನಂತರ ತಕ್ಷಣ ಮರಳಿ ಸೇರಿಕೊಳ್ಳಲಾಗುತ್ತದೆ" #: src/common/outbound.c:3633 msgid "" "\n" "DCC GET - accept an offered file\n" "DCC SEND [-maxcps=#] [file] - send a file to someone\n" "DCC PSEND [-maxcps=#] [file] - send a file using passive mode\n" "DCC LIST - show DCC list\n" "DCC CHAT - offer DCC CHAT to someone\n" "DCC PCHAT - offer DCC CHAT using passive mode\n" "DCC CLOSE example:\n" " /dcc close send johnsmith file.tar.gz" msgstr "\nDCC GET - ಕಳುಹಿಸಲಾದ ಕಡತವನ್ನು ಸ್ವೀಕರಿಸಿ\nDCC SEND [-maxcps=#] [ಕಡತ] - ನಿಗದಿತ ವ್ಯಕ್ತಿಗೆ ಕಡತವನ್ನು ಕಳುಹಿಸಿ\nDCC PSEND [-maxcps=#] [ಕಡತ] - ನಿಷ್ಕ್ರಿಯ ಕ್ರಮದಲ್ಲಿ ಒಂದು ಕಡತವನ್ನು ಕಳುಹಿಸಿ\nDCC LIST - DCC ಪಟ್ಟಿಯನ್ನು ತೋರಿಸಿ\nDCC CHAT - ನಿಗದಿತ ವ್ಯಕ್ತಿಯೊಂದಿಗೆ DCC CHAT ನಡೆಸಿ\nDCC PCHAT - ನಿಗದಿತ ವ್ಯಕ್ತಿಯೊಂದಿಗೆ ನಿಷ್ಕ್ರಿಯ ಕ್ರಮದಲ್ಲಿ DCC CHAT ನಡೆಸಿ\nDCC CLOSE ಉದಾಹರಣೆ:\n /dcc close send johnsmith file.tar.gz" #: src/common/outbound.c:3645 msgid "" "DEHOP , removes chanhalf-op status from the nick on the current " "channel (needs chanop)" msgstr "DEHOP , ಪ್ರಸಕ್ತ ಚಾನಲ್‌ನಲ್ಲಿ ಅಡ್ಡಹೆಸರಿನಿಂದ chanhalf-op ಸ್ಥಿತಿಯನ್ನು ತೆಗೆದು ಹಾಕುತ್ತದೆ (chanop ನ ಅಗತ್ಯವಿರುತ್ತದೆ)" #: src/common/outbound.c:3647 msgid "DELBUTTON , deletes a button from under the user-list" msgstr "DELBUTTON , ಇದು ಬಳಕೆದಾರ ಪಟ್ಟಿಯಲ್ಲಿನ ಒಂದು ಗುಂಡಿಯನ್ನು ಅಳಿಸುತ್ತದೆ" #: src/common/outbound.c:3649 msgid "" "DEOP , removes chanop status from the nick on the current channel " "(needs chanop)" msgstr "DEOP , ಪ್ರಸಕ್ತ ಚಾನಲ್‌ನಲ್ಲಿ ಅಡ್ಡಹೆಸರಿನಿಂದ chanop ಸ್ಥಿತಿಯನ್ನು ತೆಗೆದು ಹಾಕುತ್ತದೆ (chanop ನ ಅಗತ್ಯವಿರುತ್ತದೆ)" #: src/common/outbound.c:3651 msgid "" "DEVOICE , removes voice status from the nick on the current channel " "(needs chanop)" msgstr "DEVOICE , ಪ್ರಸಕ್ತ ಚಾನಲ್‌ನಲ್ಲಿ ಅಡ್ಡಹೆಸರಿನಿಂದ ಧ್ವನಿ ಸ್ಥಿತಿಯನ್ನು ತೆಗೆದು ಹಾಕುತ್ತದೆ (chanop ನ ಅಗತ್ಯವಿರುತ್ತದೆ)" #: src/common/outbound.c:3652 msgid "DISCON, Disconnects from server" msgstr "DISCON, ಪರಿಚಾರಕದಿಂದ ಸಂಪರ್ಕವನ್ನು ಕಡಿದು ಹಾಕುತ್ತದೆ" #: src/common/outbound.c:3653 msgid "DNS , Finds a users IP number" msgstr "DNS , ಒಬ್ಬ ಬಳಕೆದಾರರ IP ಸಂಖ್ಯೆಯನ್ನು ತಿಳಿಸುತ್ತದೆ" #: src/common/outbound.c:3654 msgid "ECHO , Prints text locally" msgstr "ECHO , ಪಠ್ಯವನ್ನು ನಿಮಗೆ ಮಾತ್ರ ಕಾಣಿಸುವಂತೆ ಗೋಚರಿಸುತ್ತದೆ" #: src/common/outbound.c:3657 msgid "" "EXEC [-o] , runs the command. If -o flag is used then output is " "sent to current channel, else is printed to current text box" msgstr "EXEC [-o] , ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸುತ್ತದೆ. -o ಫ್ಲಾಗ್‌ ಅನ್ನು ಬಳಸಲಾಗಿದ್ದರೆ ಔಟ್‌ಪುಟ್ ಅನ್ನು ಪ್ರಸಕ್ತ ಚಾನಲ್‌ಗೆ ಕಳುಹಿಸಲಾಗುತ್ತದೆ, ಇಲ್ಲದೆ ಹೋದಲ್ಲಿ ಪ್ರಸಕ್ತ ಪಠ್ಯ ಚೌಕಕ್ಕೆ ಮುದ್ರಿಸಲಾಗುತ್ತದೆ" #: src/common/outbound.c:3659 msgid "EXECCONT, sends the process SIGCONT" msgstr "EXECCONT, ಪ್ರಕ್ರಿಯೆ SIGCONT ಅನ್ನು ಕಳುಹಿಸುತ್ತದೆ" #: src/common/outbound.c:3662 msgid "" "EXECKILL [-9], kills a running exec in the current session. If -9 is given " "the process is SIGKILL'ed" msgstr "EXECKILL [-9], ಚಾಲನೆಯಲ್ಲಿರುವ exec ಅನ್ನು ಅಂತ್ಯಗೊಳಿಸುತ್ತದೆ. -9 ಅನ್ನು ನೀಡಲಾಗಿದ್ದರೆ SIGKILL ಆಗುತ್ತದೆ" #: src/common/outbound.c:3664 msgid "EXECSTOP, sends the process SIGSTOP" msgstr "EXECCONT, ಪ್ರಕ್ರಿಯೆ SIGSTOP ಅನ್ನು ಕಳುಹಿಸುತ್ತದೆ" #: src/common/outbound.c:3665 msgid "EXECWRITE, sends data to the processes stdin" msgstr "EXECWRITE, ಪ್ರಕ್ರಿಯೆಗಳ stdin ಗೆ ದತ್ತಾಂಶವನ್ನು ಕಳುಹಿಸುತ್ತದೆ" #: src/common/outbound.c:3669 msgid "EXPORTCONF, exports HexChat settings" msgstr "" #: src/common/outbound.c:3672 msgid "FLUSHQ, flushes the current server's send queue" msgstr "FLUSHQ, ಇದು ಪ್ರಸಕ್ತ ಪರಿಚಾರಕದ ಕಳುಹಿಸುವ ಸರತಿಯನ್ನು ಸ್ವಚ್ಛಗೊಳಿಸುತ್ತದೆ" #: src/common/outbound.c:3674 msgid "GATE [], proxies through a host, port defaults to 23" msgstr "GATE [], ಒಂದು ಆತಿಥೇಯದ ಮೂಲಕ ಪ್ರಾಕ್ಸಿಗಳು, ಪೂರ್ವನಿಯೋಜಿತ ಸಂಪರ್ಕಸ್ಥಾನವು 23 ಆಗಿರುತ್ತದೆ" #: src/common/outbound.c:3678 msgid "GHOST [password], Kills a ghosted nickname" msgstr "" #: src/common/outbound.c:3683 msgid "HOP , gives chanhalf-op status to the nick (needs chanop)" msgstr "HOP , ಅಡ್ಡಹೆಸರಿಗೆ chanhalf-op ಸ್ಥಿತಿಯನ್ನು ಒದಗಿಸುತ್ತದೆ (chanop ನ ಅಗತ್ಯವಿರುತ್ತದೆ)" #: src/common/outbound.c:3684 msgid "ID , identifies yourself to nickserv" msgstr "ID , nickserv ನಿಮ್ಮನ್ನು ಗುರುತಿಸುತ್ತದೆ" #: src/common/outbound.c:3686 msgid "" "IGNORE \n" " mask - host mask to ignore, eg: *!*@*.aol.com\n" " types - types of data to ignore, one or all of:\n" " PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" " options - NOSAVE, QUIET" msgstr "IGNORE \n mask - ಕಡೆಗಣಿಸಬೇಕಿರುವ ಆತಿಥೇಯ ಮುಸುಕು, ಉದಾ: *!*@*.aol.com\n types - ಕಡೆಗಣಿಸಬೇಕಿರುವ ದತ್ತಾಂಶದ ಬಗೆಗಳು, ಇವುಗಳಲ್ಲಿ ಒಂದು ಅಥವ ಎಲ್ಲವೂ:\n PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n options - NOSAVE, QUIET" #: src/common/outbound.c:3693 msgid "" "INVITE [], invites someone to a channel, by default the " "current channel (needs chanop)" msgstr "INVITE [], ನಿಗದಿತ ವ್ಯಕ್ತಿಯನ್ನು ಚಾನಲ್‌ಗೆ ಆಮಂತ್ರಿಸುತ್ತದೆ, ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಪ್ರಸಕ್ತ ಚಾನಲ್‌ ಆಗಿರುತ್ತದೆ (chanop ಅಗತ್ಯವಿರುತ್ತದೆ)" #: src/common/outbound.c:3694 msgid "JOIN , joins the channel" msgstr "JOIN , ಚಾನಲ್‌ಗೆ ಸೇರ್ಪಡೆಗೊಳ್ಳುತ್ತದೆ" #: src/common/outbound.c:3696 msgid "KICK , kicks the nick from the current channel (needs chanop)" msgstr "KICK , ನಿಗದಿತ ವ್ಯಕ್ತಿಯನ್ನು ಪ್ರಸಕ್ತ ಚಾನಲ್‌ನಿಂದ ಹೊರಹಾಕುತ್ತದೆ (chanop ನ ಅಗತ್ಯವಿರುತ್ತದೆ)" #: src/common/outbound.c:3698 msgid "" "KICKBAN , bans then kicks the nick from the current channel (needs " "chanop)" msgstr "KICKBAN , ನಿಗದಿತ ವ್ಯಕ್ತಿಯನ್ನು ಪ್ರಸಕ್ತ ಚಾನಲ್‌ನಲ್ಲಿ ಮೊದಲು ನಿಷೇಧಿಸಿ ನಂತರ ಹೊರಹಾಕುತ್ತದೆ (chanop ನ ಅಗತ್ಯವಿರುತ್ತದೆ)" #: src/common/outbound.c:3701 msgid "LAGCHECK, forces a new lag check" msgstr "LAGCHECK, ಹೊಸ ಲ್ಯಾಗ್ ಪರಿಶೀಲನೆಯನ್ನು ಒತ್ತಾಯಿಸುತ್ತದೆ" #: src/common/outbound.c:3703 msgid "" "LASTLOG [-h] [-m] [-r] [--] , searches for a string in the buffer\n" " Use -h to highlight the found string(s)\n" " Use -m to match case\n" " Use -r when string is a Regular Expression\n" " Use -- (double hyphen) to end options when searching for, say, the string '-r'" msgstr "" #: src/common/outbound.c:3709 msgid "LOAD [-e] , loads a plugin or script" msgstr "LOAD [-e] , ಪ್ಲಗ್‌ಇನ್ ಅಥವ ಸ್ಕ್ರಿಪ್ಟನ್ನು ಲೋಡ್ ಮಾಡುತ್ತದೆ" #: src/common/outbound.c:3712 msgid "" "MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" msgstr "MDEHOP, ಪ್ರಸಕ್ತ ಚಾನಲ್‌ನಲ್ಲಿನ ಎಲ್ಲಾ chanhalf-op ಗಳನ್ನು ಒಟ್ಟಿಗೆ deop ಮಾಡುತ್ತದೆ (chanop ನ ಅಗತ್ಯವಿರುತ್ತದೆ)" #: src/common/outbound.c:3714 msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" msgstr "MDEOP, ಪ್ರಸಕ್ತ ಚಾನಲ್‌ನಲ್ಲಿನ ಎಲ್ಲಾ chanop ಗಳನ್ನು ಒಟ್ಟಿಗೆ deop ಮಾಡುತ್ತದೆ (chanop ನ ಅಗತ್ಯವಿರುತ್ತದೆ)" #: src/common/outbound.c:3716 msgid "" "ME , sends the action to the current channel (actions are written in" " the 3rd person, like /me jumps)" msgstr "ME , ಕ್ರಿಯೆಯನ್ನು ಪ್ರಸಕ್ತ ಚಾನಲ್‌ಗೆ ಕಳುಹಿಸುತ್ತದೆ (ಕ್ರಿಯೆಗಳನ್ನು ಮೂರನೆ ವ್ಯಕ್ತಿ ಹೇಳುವಂತೆ ಬರೆಯಲಾಗುತ್ತದೆ, ಉದಾ., /me jumps)" #: src/common/outbound.c:3720 msgid "" "MKICK, Mass kicks everyone except you in the current channel (needs chanop)" msgstr "MKICK, ನಿಮ್ಮನ್ನು ಹೊರತು ಪಡಿಸಿ ಎಲ್ಲರನ್ನೂ ಪ್ರಸಕ್ತ ಚಾನಲ್‌ನಿಂದ ಹೊರಹಾಕುತ್ತದೆ (chanop ನ ಅಗತ್ಯವಿರುತ್ತದೆ)" #: src/common/outbound.c:3723 msgid "MOP, Mass op's all users in the current channel (needs chanop)" msgstr "MOP, ಚಾನಲ್‌ನಲ್ಲಿನ ಎಲ್ಲಾ ಬಳಕೆದಾರರಿಗೂ ಒಟ್ಟಿಗೆ op ಮಾಡಲಾಗುತ್ತದೆ (chanop ಅಗತ್ಯವಿರುತ್ತದೆ)" #: src/common/outbound.c:3724 msgid "MSG , sends a private message" msgstr "MSG , ಒಂದು ಖಾಸಗಿ ಸಂದೇಶವನ್ನು ಕಳುಹಿಸುತ್ತದೆ" #: src/common/outbound.c:3727 msgid "NAMES, Lists the nicks on the current channel" msgstr "NAMES, ಪ್ರಸಕ್ತ ಚಾನಲ್‌ನಲ್ಲಿನ ಅಡ್ಡಹೆಸರುಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡುತ್ತದೆ" #: src/common/outbound.c:3729 msgid "NCTCP , Sends a CTCP notice" msgstr "NCTCP , ಒಂದು CTCP ಸೂಚನೆಯನ್ನು ಕಳುಹಿಸುತ್ತದೆ" #: src/common/outbound.c:3730 msgid "NEWSERVER [-noconnect] []" msgstr "NEWSERVER [-noconnect] []" #: src/common/outbound.c:3731 msgid "NICK , sets your nick" msgstr "NICK , ನಿಮ್ಮ ಅಡ್ಡಹೆಸರನ್ನು ಹೊಂದಿಸುತ್ತದೆ" #: src/common/outbound.c:3734 msgid "" "NOTICE , sends a notice. Notices are a type of " "message that should be auto reacted to" msgstr "NOTICE , ಒಂದು ಸೂಚನೆಯನ್ನು ಕಳುಹಿಸುತ್ತದೆ. ಸೂಚನೆಗಳೆಂದರೆ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪ್ರತಿಕ್ರಿಯಿಸಬೇಕಿರುವ ಸಂದೇಶಗಳಾಗಿರುತ್ತವೆ" #: src/common/outbound.c:3736 msgid "" "NOTIFY [-n network1[,network2,...]] [], displays your notify list or " "adds someone to it" msgstr "NOTIFY [-n network1[,network2,...]] [], ನಿಮ್ಮ ಸೂಚನಾ ಪಟ್ಟಿಯನ್ನು ತೋರಿಸುತ್ತದೆ ಅಥವ ಅದಕ್ಕೆ ನಿಶ್ಚಿತ ವ್ಯಕ್ತಿಯನ್ನು ಸೇರಿಸುತ್ತದೆ" #: src/common/outbound.c:3738 msgid "OP , gives chanop status to the nick (needs chanop)" msgstr "OP , ಅಡ್ಡಹೆಸರಿಗೆ chanop ಸ್ಥಿತಿಯನ್ನು ನೀಡುತ್ತದೆ (chanop ನ ಅಗತ್ಯವಿರುತ್ತದೆ)" #: src/common/outbound.c:3740 msgid "" "PART [] [], leaves the channel, by default the current one" msgstr "PART [] [], ಚಾನಲ್‌ನಿಂದ ಹೊರಹೋಗಲಾಗುತ್ತದೆ, ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಪ್ರಸಕ್ತ ಚಾನಲ್ ಆಗಿರುತ್ತದೆ" #: src/common/outbound.c:3742 msgid "PING , CTCP pings nick or channel" msgstr "PING , ಅಡ್ಡಹೆಸರಿಗೆ ಅಥವ ಚಾನಲ್‌ಗೆ CTCP ಪಿಂಗ್‌ಗಳನ್ನು ಕಳುಹಿಸುತ್ತದೆ" #: src/common/outbound.c:3744 msgid "QUERY [-nofocus] , opens up a new privmsg window to someone" msgstr "QUERY [-nofocus] , ನಿಶ್ಚಿತ ವ್ಯಕ್ತಿಯೊಂದಿಗೆ privmsg ವಿಂಡೊವನ್ನು ತೆರೆಯುತ್ತದೆ" #: src/common/outbound.c:3746 msgid "QUIT [], disconnects from the current server" msgstr "QUIT [], ಪರಿಚಾರಕದಿಂದ ಸಂಪರ್ಕವನ್ನು ಕಡಿದು ಹಾಕುತ್ತದೆ" #: src/common/outbound.c:3748 msgid "QUOTE , sends the text in raw form to the server" msgstr "QUOTE , ಇದು ಪಠ್ಯವನ್ನು ಕಚ್ಛಾ ರೂಪದಲ್ಲಿ ಪರಿಚಾರಕಕ್ಕೆ ಕಳುಹಿಸುತ್ತದೆ" #: src/common/outbound.c:3751 msgid "" "RECONNECT [-ssl] [] [] [], Can be called just as " "/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " "reconnect to all the open servers" msgstr "RECONNECT [-ssl] [] [] [], ಪ್ರಸಕ್ತ ಪರಿಚಾರಕದೊಂದಿಗೆ ಮರಳಿ ಸಂಪರ್ಕ ಹೊಂದಲು /RECONNECT ಬಳಸಬಹುದು ಅಥವ ಲಭ್ಯವಿರುವ ಎಲ್ಲಾ ಮುಕ್ತ ಪರಿಚಾರಕಗಳೊಂದಿಗೆ ಸಂಪರ್ಕಸಾಧಿಸಲು /RECONNECT ALL ಅನ್ನು ಬಳಸಬಹುದು" #: src/common/outbound.c:3754 msgid "" "RECONNECT [] [] [], Can be called just as /RECONNECT " "to reconnect to the current server or with /RECONNECT ALL to reconnect to " "all the open servers" msgstr "RECONNECT [] [] [], ಪ್ರಸಕ್ತ ಪರಿಚಾರಕದೊಂದಿಗೆ ಮರಳಿ ಸಂಪರ್ಕ ಹೊಂದಲು /RECONNECT ಬಳಸಬಹುದು ಅಥವ ಲಭ್ಯವಿರುವ ಎಲ್ಲಾ ಮುಕ್ತ ಪರಿಚಾರಕಗಳೊಂದಿಗೆ ಸಂಪರ್ಕಸಾಧಿಸಲು /RECONNECT ALL ಅನ್ನು ಬಳಸಬಹುದು" #: src/common/outbound.c:3756 msgid "" "RECV , send raw data to HexChat, as if it was received from the IRC " "server" msgstr "" #: src/common/outbound.c:3759 msgid "SAY , sends the text to the object in the current window" msgstr "SAY , ಪ್ರಸಕ್ತ ವಿಂಡೊದಲ್ಲಿ ಪಠ್ಯವನ್ನು ವಸ್ತುವಾಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ" #: src/common/outbound.c:3760 msgid "SEND []" msgstr "SEND []" #: src/common/outbound.c:3763 msgid "SERVCHAN [-ssl] , connects and joins a channel" msgstr "SERVCHAN [-ssl] , ಒಂದು ಚಾನಲ್‌ಗೆ ಸಂಪರ್ಕಿತಗಗೊಂಡು ನಂತರ ಸೇರ್ಪಡೆಗೊಳ್ಳುತ್ತದೆ" #: src/common/outbound.c:3766 msgid "SERVCHAN , connects and joins a channel" msgstr "SERVCHAN , ಒಂದು ಚಾನಲ್‌ಗೆ ಸಂಪರ್ಕಿತಗಗೊಂಡು ನಂತರ ಸೇರ್ಪಡೆಗೊಳ್ಳುತ್ತದೆ" #: src/common/outbound.c:3770 msgid "" "SERVER [-ssl] [] [], connects to a server, the " "default port is 6667 for normal connections, and 6697 for ssl connections" msgstr "" #: src/common/outbound.c:3773 msgid "" "SERVER [] [], connects to a server, the default port " "is 6667" msgstr "SERVER [] [], ಒಂದು ಪರಿಚಾರಕಕ್ಕೆ ಸಂಪರ್ಕಿತಗೊಳ್ಳುತ್ತದೆ, ಪೂರ್ವನಿಯೋಜಿತ ಸಂಪರ್ಕಸ್ಥಾನವು 6667 ಆಗಿರುತ್ತದೆ" #: src/common/outbound.c:3775 msgid "SET [-e] [-off|-on] [-quiet] []" msgstr "" #: src/common/outbound.c:3776 msgid "SETCURSOR [-|+], reposition the cursor in the inputbox" msgstr "" #: src/common/outbound.c:3777 msgid "SETTAB , change a tab's name, tab_trunc limit still applies" msgstr "" #: src/common/outbound.c:3778 msgid "SETTEXT , replace the text in the input box" msgstr "" #: src/common/outbound.c:3781 msgid "" "TOPIC [], sets the topic if one is given, else shows the current " "topic" msgstr "TOPIC [], ಸೂಚಿಸಿದ ವಿಷಯವನ್ನು ಹೊಂದಿಸುತ್ತದೆ, ಅಥವ ಪ್ರಸಕ್ತ ವಿಷಯವನ್ನು ತೋರಿಸುತ್ತದೆ " #: src/common/outbound.c:3783 msgid "" "\n" "TRAY -f [] Blink tray between two icons.\n" "TRAY -f Set tray to a fixed icon.\n" "TRAY -i Blink tray with an internal icon.\n" "TRAY -t Set the tray tooltip.\n" "TRAY -b <text> Set the tray balloon." msgstr "\nTRAY -f <timeout> <file1> [<file2>] ಎರಡು ಚಿಹ್ನೆಗಳ ನಡುವೆ ಟ್ರೇಯನ್ನು ಮಿನುಗಿಸುತ್ತದೆ.\nTRAY -f <filename> ಟ್ರೇ ಅನ್ನು ಒಂದು ನಿಶ್ಚಿತ ಚಿಹ್ನೆಗೆ ಹೊಂದಿಸುತ್ತದೆ.\nTRAY -i <number> ಒಂದು ಆಂತರಿಕ ಚಿಹ್ನೆಯೊಂದಿಗೆ ಟ್ರೇಯನ್ನು ಮಿನುಗಿಸುತ್ತದೆ.\nTRAY -t <text> ಟ್ರೇಯ ಸಲಹೆಉಪಕರಣವನ್ನು ಹೊಂದಿಸುತ್ತದೆ.\nTRAY -b <title> <text> ಟ್ರೇ ಬಲೂನ್ ಅನ್ನು ಹೊಂದಿಸುತ್ತದೆ." #: src/common/outbound.c:3790 msgid "UNBAN <mask> [<mask>...], unbans the specified masks." msgstr "UNBAN <mask> [<mask>...], ಸೂಚಿತ ಮುಸುಕುಗಳ(ಮಾಸ್ಕ್) ನಿಶೇಧವನ್ನು ರದ್ದುಗೊಳಿಸುತ್ತದೆ" #: src/common/outbound.c:3791 msgid "UNIGNORE <mask> [QUIET]" msgstr "UNIGNORE <mask> [QUIET]" #: src/common/outbound.c:3792 msgid "UNLOAD <name>, unloads a plugin or script" msgstr "UNLOAD <name>, ಪ್ಲಗ್‌ಇನ್ ಅಥವ ಸ್ಕ್ರಿಪ್ಟನ್ನು ಅನ್‌ಲೋಡ್ ಮಾಡುತ್ತದೆ" #: src/common/outbound.c:3793 msgid "URL <url>, opens a URL in your browser" msgstr "URL <url>, ಒಂದು URL ಅನ್ನು ನಿಮ್ಮ ಜಾಲವೀಕ್ಷಕದಲ್ಲಿ ತೆರೆಯುತ್ತದೆ" #: src/common/outbound.c:3795 msgid "" "USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " "userlist" msgstr "USELECT [-a] [-s] <nick1> <nick2> ಇತರೆ, ಚಾನಲ್‌ನ ಬಳಕೆದಾರಪಟ್ಟಿಯಲ್ಲಿ ಅಡ್ಡಹೆಸರನ್ನು೯(ಗಳನ್ನು) ಹೈಲೈಟ್ ಮಾಡುತ್ತದೆ" #: src/common/outbound.c:3798 msgid "VOICE <nick>, gives voice status to someone (needs chanop)" msgstr "VOICE <nick>, ಬೇರೆಯೊಬ್ಬರಿಗೆ ಧ್ವನಿ ಸ್ಥಿತಿಯನ್ನು ಒದಗಿಸುತ್ತದೆ (chanop ನ ಅಗತ್ಯವಿರುತ್ತದೆ)" #: src/common/outbound.c:3800 msgid "WALLCHAN <message>, writes the message to all channels" msgstr "WALLCHAN <message>, ಎಲ್ಲಾ ಚಾನಲ್‌ಗಳಲ್ಲಿಯೂ ಸಂದೇಶವನ್ನು ಬರೆಯುತ್ತದೆ" #: src/common/outbound.c:3802 msgid "" "WALLCHOP <message>, sends the message to all chanops on the current channel" msgstr "WALLCHOP <message>, ಪ್ರಸಕ್ತ ಚಾನಲ್‌ನಲ್ಲಿನ ಎಲ್ಲಾ chanops ಸಂದೇಶವನ್ನು ಕಳುಹಿಸುತ್ತದೆ" #: src/common/outbound.c:3835 #, c-format msgid "Usage: %s\n" msgstr "ಬಳಕೆ: %s\n" #: src/common/outbound.c:3840 msgid "" "\n" "No help available on that command.\n" msgstr "\nಆ ಆಜ್ಞೆಗೆ ಯಾವುದೆ ನೆರವು ಲಭ್ಯವಿಲ್ಲ.\n" #: src/common/outbound.c:3846 msgid "No such command.\n" msgstr "ಅಂತಹ ಯಾವುದೇ ಆಜ್ಞೆ ಇಲ್ಲ.\n" #: src/common/outbound.c:4177 msgid "Bad arguments for user command.\n" msgstr "ಬಳಕೆದಾರ ಆಜ್ಞೆಯಲ್ಲಿ ಸರಿಯಲ್ಲದ ಆರ್ಗುಮೆಂಟ್‌ಗಳು.\n" #: src/common/outbound.c:4338 msgid "Too many recursive usercommands, aborting." msgstr "ಬಹಳಷ್ಟು ಪುನರಾವರ್ತಿತ ಬಳಕೆದಾರ ಆಜ್ಞೆಗಳು, ನಿಲ್ಲಿಸಲಾಗುತ್ತಿದೆ." #: src/common/outbound.c:4421 msgid "Unknown Command. Try /help\n" msgstr "ಗೊತ್ತಿಲ್ಲದ ಆಜ್ಞೆ. /help ಅನ್ನು ಪ್ರಯತ್ನಿಸಿ\n" #: src/common/plugin.c:383 src/common/plugin.c:424 msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" msgstr "" #: src/common/server.c:643 msgid "Are you sure this is a SSL capable server and port?\n" msgstr "ಇದು ಒಂದು SSL ಸಮರ್ಥವಾದ ಪರಿಚಾರಕ ಹಾಗು ಸಂಪರ್ಕಸ್ಥಾನ ಎಂದು ನೀವು ಖಚಿತವೆ?\n" #: src/common/server.c:1011 #, c-format msgid "" "Cannot resolve hostname %s\n" "Check your IP Settings!\n" msgstr "%s ಎಂಬ ಆತಿಥೇಯ ಹೆಸರನ್ನು ಪರಿಹರಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ\nನಿಮ್ಮ IP ಸಿದ್ಧತೆಗಳನ್ನು ಪರಿಶೀಲಿಸಿ!\n" #: src/common/server.c:1016 msgid "Proxy traversal failed.\n" msgstr "ಪ್ರಾಕ್ಸಿ ಚಲನೆಯು ವಿಫಲಗೊಂಡಿದೆ.\n" #: src/common/servlist.c:767 #, c-format msgid "Cycling to next server in %s...\n" msgstr "%s ನಲ್ಲಿ ಮುಂದಿನ ಪರಿಚಾರಕಕ್ಕೆ ಪ್ರಯತ್ನಿಸಲಾಗುತ್ತದೆ...\n" #: src/common/servlist.c:1252 #, c-format msgid "" "Warning: \"%s\" character set is unknown. No conversion will be applied for " "network %s." msgstr "ಎಚ್ಚರಿಕೆ: \"%s\" ಅಕ್ಷರದ ಸೆಟ್‌ ತಿಳಿದಿಲ್ಲ. %s ಎಂಬ ಜಾಲಬಂಧಕ್ಕೆ ಯಾವುದೆ ಮಾತುಕತೆಯನ್ನು ಅನ್ವಯಿಸಲಾಗಿಲ್ಲ." #: src/common/textevents.h:6 msgid "%C18*%O$t%C18$1%O added to notify list." msgstr "" #: src/common/textevents.h:9 msgid "%C22*%O$t%C22$1%O Banlist: %C18$2%O on %C24$4%O by %C26$3%O" msgstr "" #: src/common/textevents.h:12 msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." msgstr "" #: src/common/textevents.h:18 msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" msgstr "" #: src/common/textevents.h:21 msgid "%C23*%O$tCapabilities supported: %C29$2%O" msgstr "" #: src/common/textevents.h:24 msgid "%C23*%O$tCapabilities requested: %C29$1%O" msgstr "" #: src/common/textevents.h:27 msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" msgstr "" #: src/common/textevents.h:36 msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" msgstr "" #: src/common/textevents.h:39 msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" msgstr "" #: src/common/textevents.h:42 msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" msgstr "" #: src/common/textevents.h:45 msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" msgstr "" #: src/common/textevents.h:48 msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" msgstr "" #: src/common/textevents.h:51 msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" msgstr "" #: src/common/textevents.h:54 msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" msgstr "" #: src/common/textevents.h:57 msgid "%C22*%O$t%C26$1%C sets invite on %C18$2%O" msgstr "" #: src/common/textevents.h:60 msgid "%UChannel Users Topic" msgstr "%Uಚಾನಲ್ ಬಳಕೆದಾರರ ವಿಷಯ" #: src/common/textevents.h:66 msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" msgstr "" #: src/common/textevents.h:69 msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" msgstr "" #: src/common/textevents.h:78 msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" msgstr "" #: src/common/textevents.h:81 msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" msgstr "" #: src/common/textevents.h:84 msgid "%C22*%O$t%C26$1%O removes invite on %C18$2%O" msgstr "" #: src/common/textevents.h:87 msgid "%C22*%O$t%C26$1%O removes channel keyword" msgstr "" #: src/common/textevents.h:90 msgid "%C22*%O$t%C26$1%O removes user limit" msgstr "" #: src/common/textevents.h:93 msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" msgstr "" #: src/common/textevents.h:96 msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" msgstr "" #: src/common/textevents.h:99 msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" msgstr "" #: src/common/textevents.h:102 msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" msgstr "" #: src/common/textevents.h:105 msgid "%C23*%O$tConnected. Now logging in." msgstr "" #: src/common/textevents.h:108 msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" msgstr "" #: src/common/textevents.h:111 msgid "%C20*%O$tConnection failed (%C20$1%O)" msgstr "" #: src/common/textevents.h:114 msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" msgstr "" #: src/common/textevents.h:117 msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" msgstr "" #: src/common/textevents.h:123 msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" msgstr "" #: src/common/textevents.h:126 msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" msgstr "" #: src/common/textevents.h:129 msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." msgstr "" #: src/common/textevents.h:132 msgid "" "%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" msgstr "" #: src/common/textevents.h:135 msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" msgstr "" #: src/common/textevents.h:138 msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" msgstr "" #: src/common/textevents.h:141 msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" msgstr "" #: src/common/textevents.h:144 msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" msgstr "" #: src/common/textevents.h:147 msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" msgstr "" #: src/common/textevents.h:150 msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" msgstr "" #: src/common/textevents.h:153 #, c-format msgid "%C16,17 Type To/From Status Size Pos File " msgstr "" #: src/common/textevents.h:156 msgid "" "%C20*%O$tReceived a malformed DCC request from " "%C18$1%O.%010%C23*%O$tContents of packet: %C23$2%O" msgstr "" #: src/common/textevents.h:159 msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" msgstr "" #: src/common/textevents.h:162 msgid "%C23*%O$tNo such DCC offer." msgstr "" #: src/common/textevents.h:165 msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." msgstr "" #: src/common/textevents.h:168 msgid "" "%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" msgstr "" #: src/common/textevents.h:171 msgid "" "%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" msgstr "" #: src/common/textevents.h:174 msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" msgstr "" #: src/common/textevents.h:177 msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" msgstr "" #: src/common/textevents.h:180 msgid "" "%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " "instead." msgstr "" #: src/common/textevents.h:183 msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." msgstr "" #: src/common/textevents.h:186 msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." msgstr "" #: src/common/textevents.h:189 msgid "" "%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" msgstr "" #: src/common/textevents.h:192 msgid "" "%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" msgstr "" #: src/common/textevents.h:195 msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" msgstr "" #: src/common/textevents.h:198 msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" msgstr "" #: src/common/textevents.h:201 msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." msgstr "" #: src/common/textevents.h:204 msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." msgstr "" #: src/common/textevents.h:207 msgid "%C24*%O$t%C18$1%O deleted from notify list." msgstr "" #: src/common/textevents.h:210 msgid "%C20*%O$tDisconnected (%C20$1%O)" msgstr "" #: src/common/textevents.h:213 msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" msgstr "" #: src/common/textevents.h:219 msgid "%O%C18$1%O added to ignore list." msgstr "" #: src/common/textevents.h:222 msgid "%OIgnore on %C18$1%O changed." msgstr "" #: src/common/textevents.h:225 #, c-format msgid "%C16,17 " msgstr "" #: src/common/textevents.h:228 #, c-format msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG " msgstr "" #: src/common/textevents.h:231 msgid "%O%C18$1%O removed from ignore list." msgstr "" #: src/common/textevents.h:234 msgid "%OIgnore list is empty." msgstr "" #: src/common/textevents.h:237 msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" msgstr "" #: src/common/textevents.h:240 msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" msgstr "" #: src/common/textevents.h:243 #, c-format msgid "%C23*$t$1 ($3) has joined" msgstr "" #: src/common/textevents.h:246 msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" msgstr "" #: src/common/textevents.h:249 msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" msgstr "" #: src/common/textevents.h:252 msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" msgstr "" #: src/common/textevents.h:261 msgid "%C29*%O$t%C29MOTD Skipped%O" msgstr "" #: src/common/textevents.h:264 msgid "%C23*%O$t%C28$1%C already in use. Retrying with %C18$2%O..." msgstr "" #: src/common/textevents.h:267 msgid "%C20*%O$tNickname already in use. Use /NICK to try another." msgstr "" #: src/common/textevents.h:270 msgid "%C20*%O$tNo such DCC." msgstr "" #: src/common/textevents.h:273 msgid "%C23*%O$tNo process is currently running" msgstr "" #: src/common/textevents.h:282 msgid "$tNotify list is empty." msgstr "$tಸೂಚನಾ ಪಟ್ಟಿ ಖಾಲಿ ಇದೆ." #: src/common/textevents.h:285 #, c-format msgid "%C16,17 Notify List " msgstr "" #: src/common/textevents.h:288 msgid "%C23*%O$t%C23$1%O users in notify list." msgstr "" #: src/common/textevents.h:291 msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" msgstr "" #: src/common/textevents.h:294 msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" msgstr "" #: src/common/textevents.h:300 #, c-format msgid "%C24*$t$1 ($2) has left" msgstr "" #: src/common/textevents.h:303 #, c-format msgid "%C24*$t$1 ($2) has left ($4)" msgstr "" #: src/common/textevents.h:306 msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" msgstr "" #: src/common/textevents.h:309 msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." msgstr "" #: src/common/textevents.h:324 msgid "%C24*%O$tA process is already running" msgstr "" #: src/common/textevents.h:327 #, c-format msgid "%C24*$t$1 has quit ($2)" msgstr "" #: src/common/textevents.h:330 msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" msgstr "" #: src/common/textevents.h:333 msgid "%O-%C29$1/Wallops%O-$t$2" msgstr "" #: src/common/textevents.h:336 msgid "%C24*%O$tLooking up IP number for %C18$1%O..." msgstr "" #: src/common/textevents.h:339 msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O" msgstr "" #: src/common/textevents.h:345 msgid "%C29*%O$tConnected." msgstr "" #: src/common/textevents.h:351 msgid "%C29*%O$tLooking up %C29$1%O" msgstr "" #: src/common/textevents.h:363 msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" msgstr "" #: src/common/textevents.h:366 msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" msgstr "" #: src/common/textevents.h:369 msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" msgstr "" #: src/common/textevents.h:372 msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" msgstr "" #: src/common/textevents.h:375 msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" msgstr "" #: src/common/textevents.h:378 msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" msgstr "" #: src/common/textevents.h:381 msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" msgstr "" #: src/common/textevents.h:387 msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" msgstr "" #: src/common/textevents.h:393 msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." msgstr "" #: src/common/textevents.h:399 msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" msgstr "" #: src/common/textevents.h:402 msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" msgstr "" #: src/common/textevents.h:408 msgid "" "%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" msgstr "" #: src/common/textevents.h:417 msgid "%C19*%O$tNow talking on %C22$2%O" msgstr "" #: src/common/textevents.h:420 msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" msgstr "" #: src/common/textevents.h:423 msgid "%C19*%O$tYou have left channel %C22$3%O" msgstr "" #: src/common/textevents.h:426 msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" msgstr "" #: src/common/textevents.h:432 msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" msgstr "" #: src/common/textevents.h:438 msgid "%C20*%O$tYou are now known as %C18$2%O" msgstr "" #: src/common/text.c:336 msgid "Loaded log from" msgstr "ಇಲ್ಲಿಂದ ದಾಖಲೆಯನ್ನು ಲೋಡ್ ಮಾಡಲಾಗಿದೆ" #: src/common/text.c:353 #, c-format msgid "**** ENDING LOGGING AT %s\n" msgstr "**** ದಾಖಲೆಯನ್ನು %s ಎಂಬಲ್ಲಿ ಕೊನೆಗೊಳಿಸಲಾಗಿದೆ\n" #: src/common/text.c:575 #, c-format msgid "**** BEGIN LOGGING AT %s\n" msgstr "**** %s ಯಲ್ಲಿ ದಾಖಲೆಯನ್ನು ಆರಂಭಿಸಲಾಗಿದೆ\n" #: src/common/text.c:594 #, c-format msgid "" "* Can't open log file(s) for writing. Check the\n" "permissions on %s" msgstr "" #: src/common/text.c:970 msgid "Left message" msgstr "ಎಡ ಸಂದೇಶ" #: src/common/text.c:971 msgid "Right message" msgstr "ಬಲ ಸಂದೇಶ" #: src/common/text.c:976 src/common/text.c:1338 src/common/text.c:1376 #: src/common/text.c:1381 src/common/text.c:1422 msgid "IP address" msgstr "IP ವಿಳಾಸ" #: src/common/text.c:977 src/common/text.c:1205 src/common/text.c:1264 #: src/common/text.c:1270 msgid "Username" msgstr "ಬಳಕೆದಾರರ ಹೆಸರು " #: src/common/text.c:982 msgid "The nick of the joining person" msgstr "ಸೇರ್ಪಡೆಗೊಂಡ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" #: src/common/text.c:983 msgid "The chann<style>pre { line-height: 125%; } td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } .highlight .hll { background-color: #ffffcc } .highlight .c { color: #888888 } /* Comment */ .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ .highlight .k { color: #008800; font-weight: bold } /* Keyword */ .highlight .ch { color: #888888 } /* Comment.Hashbang */ .highlight .cm { color: #888888 } /* Comment.Multiline */ .highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */ .highlight .cpf { color: #888888 } /* Comment.PreprocFile */ .highlight .c1 { color: #888888 } /* Comment.Single */ .highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */ .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ .highlight .gr { color: #aa0000 } /* Generic.Error */ .highlight .gh { color: #333333 } /* Generic.Heading */ .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ .highlight .go { color: #888888 } /* Generic.Output */ .highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #666666 } /* Generic.Subheading */ .highlight .gt { color: #aa0000 } /* Generic.Traceback */ .highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */</style><div class="highlight"><pre><span></span><span class="cm">/* X-Chat</span> <span class="cm"> * Copyright (C) 1998 Peter Zelezny.</span> <span class="cm"> *</span> <span class="cm"> * This program is free software; you can redistribute it and/or modify</span> <span class="cm"> * it under the terms of the GNU General Public License as published by</span> <span class="cm"> * the Free Software Foundation; either version 2 of the License, or</span> <span class="cm"> * (at your option) any later version.</span> <span class="cm"> *</span> <span class="cm"> * This program is distributed in the hope that it will be useful,</span> <span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span> <span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span> <span class="cm"> * GNU General Public License for more details.</span> <span class="cm"> *</span> <span class="cm"> * You should have received a copy of the GNU General Public License</span> <span class="cm"> * along with this program; if not, write to the Free Software</span> <span class="cm"> * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA</span> <span class="cm"> */</span> <span class="cp">#include</span><span class="w"> </span><span class="cpf"><string.h></span> <span class="cp">#include</span><span class="w"> </span><span class="cpf"><ctype.h></span> <span class="cp">#include</span><span class="w"> </span><span class="cpf"><stdlib.h></span> <span class="cp">#include</span><span class="w"> </span><span class="cpf"><stdio.h></span> <span class="cp">#include</span><span class="w"> </span><span class="cpf"><sys/types.h></span> <span class="cp">#include</span><span class="w"> </span><span class="cpf"><time.h></span> <span class="cp">#ifdef WIN32</span> <span class="cp">#include</span><span class="w"> </span><span class="cpf"><io.h></span> <span class="cp">#else</span> <span class="cp">#include</span><span class="w"> </span><span class="cpf"><unistd.h></span> <span class="cp">#endif</span> <span class="cp">#define WANTARPA</span> <span class="cp">#define WANTDNS</span> <span class="cp">#include</span><span class="w"> </span><span class="cpf">"inet.h"</span> <span class="cp">#include</span><span class="w"> </span><span class="cpf">"xchat.h"</span> <span class="cp">#include</span><span class="w"> </span><span class="cpf">"util.h"</span> <span class="cp">#include</span><span class="w"> </span><span class="cpf">"ignore.h"</span> <span class="cp">#include</span><span class="w"> </span><span class="cpf">"fe.h"</span> <span class="cp">#include</span><span class="w"> </span><span class="cpf">"modes.h"</span> <span class="cp">#include</span><span class="w"> </span><span class="cpf">"notify.h"</span> <span class="cp">#include</span><span class="w"> </span><span class="cpf">"outbound.h"</span> <span class="cp">#include</span><span class="w"> </span><span class="cpf">"inbound.h"</span> <span class="cp">#include</span><span class="w"> </span><span class="cpf">"server.h"</span> <span class="cp">#include</span><span class="w"> </span><span class="cpf">"servlist.h"</span> <span class="cp">#include</span><span class="w"> </span><span class="cpf">"text.h"</span> <span class="cp">#include</span><span class="w"> </span><span class="cpf">"ctcp.h"</span> <span class="cp">#include</span><span class="w"> </span><span class="cpf">"plugin.h"</span> <span class="cp">#include</span><span class="w"> </span><span class="cpf">"xchatc.h"</span> <span class="kt">void</span> <span class="nf">clear_channel</span><span class="w"> </span><span class="p">(</span><span class="n">session</span><span class="w"> </span><span class="o">*</span><span class="n">sess</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">channel</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> <span class="w"> </span><span class="n">strcpy</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">waitchannel</span><span class="p">,</span><span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">channel</span><span class="p">);</span> <span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">channel</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span> <span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">doing_who</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">FALSE</span><span class="p">;</span> <span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">done_away_check</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">FALSE</span><span class="p">;</span> <span class="w"> </span><span class="n">log_close</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">current_modes</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">free</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">current_modes</span><span class="p">);</span> <span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">current_modes</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">NULL</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">mode_timeout_tag</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">fe_timeout_remove</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">mode_timeout_tag</span><span class="p">);</span> <span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">mode_timeout_tag</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="n">fe_clear_channel</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">);</span> <span class="w"> </span><span class="n">userlist_clear</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">);</span> <span class="w"> </span><span class="n">fe_set_nonchannel</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">FALSE</span><span class="p">);</span> <span class="w"> </span><span class="n">fe_set_title</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">);</span> <span class="p">}</span> <span class="kt">void</span> <span class="nf">set_topic</span><span class="w"> </span><span class="p">(</span><span class="n">session</span><span class="w"> </span><span class="o">*</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">topic</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">stripped_topic</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">topic</span><span class="p">)</span> <span class="w"> </span><span class="n">free</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">topic</span><span class="p">);</span> <span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">topic</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">strdup</span><span class="w"> </span><span class="p">(</span><span class="n">stripped_topic</span><span class="p">);</span> <span class="w"> </span><span class="n">fe_set_topic</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">topic</span><span class="p">,</span><span class="w"> </span><span class="n">stripped_topic</span><span class="p">);</span> <span class="p">}</span> <span class="k">static</span><span class="w"> </span><span class="n">session</span><span class="w"> </span><span class="o">*</span> <span class="nf">find_session_from_nick</span><span class="w"> </span><span class="p">(</span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">nick</span><span class="p">,</span><span class="w"> </span><span class="n">server</span><span class="w"> </span><span class="o">*</span><span class="n">serv</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="n">session</span><span class="w"> </span><span class="o">*</span><span class="n">sess</span><span class="p">;</span> <span class="w"> </span><span class="n">GSList</span><span class="w"> </span><span class="o">*</span><span class="n">list</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">sess_list</span><span class="p">;</span> <span class="w"> </span><span class="n">sess</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">find_dialog</span><span class="w"> </span><span class="p">(</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="n">nick</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">)</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">sess</span><span class="p">;</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">serv</span><span class="o">-></span><span class="n">front_session</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">userlist_find</span><span class="w"> </span><span class="p">(</span><span class="n">serv</span><span class="o">-></span><span class="n">front_session</span><span class="p">,</span><span class="w"> </span><span class="n">nick</span><span class="p">))</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">serv</span><span class="o">-></span><span class="n">front_session</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">current_sess</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="n">current_sess</span><span class="o">-></span><span class="n">server</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">serv</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">userlist_find</span><span class="w"> </span><span class="p">(</span><span class="n">current_sess</span><span class="p">,</span><span class="w"> </span><span class="n">nick</span><span class="p">))</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">current_sess</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="k">while</span><span class="w"> </span><span class="p">(</span><span class="n">list</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">sess</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">list</span><span class="o">-></span><span class="n">data</span><span class="p">;</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">server</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">serv</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">userlist_find</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">nick</span><span class="p">))</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">sess</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="n">list</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">list</span><span class="o">-></span><span class="n">next</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span> <span class="p">}</span> <span class="k">static</span><span class="w"> </span><span class="n">session</span><span class="w"> </span><span class="o">*</span> <span class="nf">inbound_open_dialog</span><span class="w"> </span><span class="p">(</span><span class="n">server</span><span class="w"> </span><span class="o">*</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">from</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="n">session</span><span class="w"> </span><span class="o">*</span><span class="n">sess</span><span class="p">;</span> <span class="w"> </span><span class="n">sess</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">new_ircwindow</span><span class="w"> </span><span class="p">(</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="n">from</span><span class="p">,</span><span class="w"> </span><span class="n">SESS_DIALOG</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span> <span class="w"> </span><span class="cm">/* for playing sounds */</span> <span class="w"> </span><span class="n">EMIT_SIGNAL</span><span class="w"> </span><span class="p">(</span><span class="n">XP_TE_OPENDIALOG</span><span class="p">,</span><span class="w"> </span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="nb">NULL</span><span class="p">,</span><span class="w"> </span><span class="nb">NULL</span><span class="p">,</span><span class="w"> </span><span class="nb">NULL</span><span class="p">,</span><span class="w"> </span><span class="nb">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">sess</span><span class="p">;</span> <span class="p">}</span> <span class="k">static</span><span class="w"> </span><span class="kt">void</span> <span class="nf">inbound_make_idtext</span><span class="w"> </span><span class="p">(</span><span class="n">server</span><span class="w"> </span><span class="o">*</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">idtext</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">max</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">id</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="n">idtext</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">serv</span><span class="o">-></span><span class="n">have_idmsg</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">id</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">safe_strcpy</span><span class="w"> </span><span class="p">(</span><span class="n">idtext</span><span class="p">,</span><span class="w"> </span><span class="n">prefs</span><span class="p">.</span><span class="n">irc_id_ytext</span><span class="p">,</span><span class="w"> </span><span class="n">max</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">safe_strcpy</span><span class="w"> </span><span class="p">(</span><span class="n">idtext</span><span class="p">,</span><span class="w"> </span><span class="n">prefs</span><span class="p">.</span><span class="n">irc_id_ntext</span><span class="p">,</span><span class="w"> </span><span class="n">max</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="cm">/* convert codes like %C,%U to the proper ones */</span> <span class="w"> </span><span class="n">check_special_chars</span><span class="w"> </span><span class="p">(</span><span class="n">idtext</span><span class="p">,</span><span class="w"> </span><span class="n">TRUE</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span> <span class="p">}</span> <span class="kt">void</span> <span class="nf">inbound_privmsg</span><span class="w"> </span><span class="p">(</span><span class="n">server</span><span class="w"> </span><span class="o">*</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">from</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">ip</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">text</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">id</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="n">session</span><span class="w"> </span><span class="o">*</span><span class="n">sess</span><span class="p">;</span> <span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="n">idtext</span><span class="p">[</span><span class="mi">64</span><span class="p">];</span> <span class="w"> </span><span class="n">sess</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">find_dialog</span><span class="w"> </span><span class="p">(</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="n">from</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="n">prefs</span><span class="p">.</span><span class="n">autodialog</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="cm">/*0=ctcp 1=priv will set autodialog=0 here is flud detected */</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">sess</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">flood_check</span><span class="w"> </span><span class="p">(</span><span class="n">from</span><span class="p">,</span><span class="w"> </span><span class="n">ip</span><span class="p">,</span><span class="w"> </span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="n">current_sess</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">))</span> <span class="w"> </span><span class="cm">/* Create a dialog session */</span> <span class="w"> </span><span class="n">sess</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">inbound_open_dialog</span><span class="w"> </span><span class="p">(</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="n">from</span><span class="p">);</span> <span class="w"> </span><span class="k">else</span> <span class="w"> </span><span class="n">sess</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">serv</span><span class="o">-></span><span class="n">server_session</span><span class="p">;</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">sess</span><span class="p">)</span> <span class="w"> </span><span class="k">return</span><span class="p">;</span><span class="w"> </span><span class="cm">/* ?? */</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">ip</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="n">ip</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">prefs</span><span class="p">.</span><span class="n">logging</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">logfd</span><span class="w"> </span><span class="o">!=</span><span class="w"> </span><span class="mi">-1</span><span class="w"> </span><span class="o">&&</span> <span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">sess</span><span class="o">-></span><span class="n">topic</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="n">strcmp</span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">topic</span><span class="p">,</span><span class="w"> </span><span class="n">ip</span><span class="p">)))</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="n">tbuf</span><span class="p">[</span><span class="mi">1024</span><span class="p">];</span> <span class="w"> </span><span class="n">snprintf</span><span class="w"> </span><span class="p">(</span><span class="n">tbuf</span><span class="p">,</span><span class="w"> </span><span class="k">sizeof</span><span class="w"> </span><span class="p">(</span><span class="n">tbuf</span><span class="p">),</span><span class="w"> </span><span class="s">"[%s has address %s]</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span><span class="w"> </span><span class="n">from</span><span class="p">,</span><span class="w"> </span><span class="n">ip</span><span class="p">);</span> <span class="w"> </span><span class="n">write</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">logfd</span><span class="p">,</span><span class="w"> </span><span class="n">tbuf</span><span class="p">,</span><span class="w"> </span><span class="n">strlen</span><span class="w"> </span><span class="p">(</span><span class="n">tbuf</span><span class="p">));</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="n">set_topic</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">ip</span><span class="p">,</span><span class="w"> </span><span class="n">ip</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="n">inbound_chanmsg</span><span class="w"> </span><span class="p">(</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="nb">NULL</span><span class="p">,</span><span class="w"> </span><span class="nb">NULL</span><span class="p">,</span><span class="w"> </span><span class="n">from</span><span class="p">,</span><span class="w"> </span><span class="n">text</span><span class="p">,</span><span class="w"> </span><span class="n">FALSE</span><span class="p">,</span><span class="w"> </span><span class="n">id</span><span class="p">);</span> <span class="w"> </span><span class="k">return</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="n">inbound_make_idtext</span><span class="w"> </span><span class="p">(</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="n">idtext</span><span class="p">,</span><span class="w"> </span><span class="k">sizeof</span><span class="w"> </span><span class="p">(</span><span class="n">idtext</span><span class="p">),</span><span class="w"> </span><span class="n">id</span><span class="p">);</span> <span class="w"> </span><span class="n">sess</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">find_session_from_nick</span><span class="w"> </span><span class="p">(</span><span class="n">from</span><span class="p">,</span><span class="w"> </span><span class="n">serv</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">sess</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">sess</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">serv</span><span class="o">-></span><span class="n">front_session</span><span class="p">;</span> <span class="w"> </span><span class="n">EMIT_SIGNAL</span><span class="w"> </span><span class="p">(</span><span class="n">XP_TE_PRIVMSG</span><span class="p">,</span><span class="w"> </span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">from</span><span class="p">,</span><span class="w"> </span><span class="n">text</span><span class="p">,</span><span class="w"> </span><span class="n">idtext</span><span class="p">,</span><span class="w"> </span><span class="nb">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span> <span class="w"> </span><span class="k">return</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">type</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">SESS_DIALOG</span><span class="p">)</span> <span class="w"> </span><span class="n">EMIT_SIGNAL</span><span class="w"> </span><span class="p">(</span><span class="n">XP_TE_DPRIVMSG</span><span class="p">,</span><span class="w"> </span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">from</span><span class="p">,</span><span class="w"> </span><span class="n">text</span><span class="p">,</span><span class="w"> </span><span class="n">idtext</span><span class="p">,</span><span class="w"> </span><span class="nb">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span> <span class="w"> </span><span class="k">else</span> <span class="w"> </span><span class="n">EMIT_SIGNAL</span><span class="w"> </span><span class="p">(</span><span class="n">XP_TE_PRIVMSG</span><span class="p">,</span><span class="w"> </span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">from</span><span class="p">,</span><span class="w"> </span><span class="n">text</span><span class="p">,</span><span class="w"> </span><span class="n">idtext</span><span class="p">,</span><span class="w"> </span><span class="nb">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span> <span class="p">}</span> <span class="cm">/* used for Alerts section. Masks can be separated by commas and spaces. */</span> <span class="n">gboolean</span> <span class="nf">alert_match_word</span><span class="w"> </span><span class="p">(</span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">word</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">masks</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">p</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">masks</span><span class="p">;</span> <span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="n">endchar</span><span class="p">;</span> <span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">res</span><span class="p">;</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">masks</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">FALSE</span><span class="p">;</span> <span class="w"> </span><span class="k">while</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="cm">/* if it's a 0, space or comma, the word has ended. */</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">*</span><span class="n">p</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="o">*</span><span class="n">p</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="sc">' '</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="o">*</span><span class="n">p</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="sc">','</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">endchar</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="o">*</span><span class="n">p</span><span class="p">;</span> <span class="w"> </span><span class="o">*</span><span class="n">p</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span> <span class="w"> </span><span class="n">res</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">match</span><span class="w"> </span><span class="p">(</span><span class="n">masks</span><span class="p">,</span><span class="w"> </span><span class="n">word</span><span class="p">);</span> <span class="w"> </span><span class="o">*</span><span class="n">p</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">endchar</span><span class="p">;</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">res</span><span class="p">)</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">TRUE</span><span class="p">;</span><span class="w"> </span><span class="cm">/* yes, matched! */</span> <span class="w"> </span><span class="n">masks</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">p</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">*</span><span class="n">p</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">FALSE</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="n">p</span><span class="o">++</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="p">}</span> <span class="n">gboolean</span> <span class="nf">alert_match_text</span><span class="w"> </span><span class="p">(</span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">text</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">masks</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="kt">unsigned</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">p</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">text</span><span class="p">;</span> <span class="w"> </span><span class="kt">unsigned</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="n">endchar</span><span class="p">;</span> <span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">res</span><span class="p">;</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">masks</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">FALSE</span><span class="p">;</span> <span class="w"> </span><span class="k">while</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">*</span><span class="n">p</span><span class="w"> </span><span class="o">>=</span><span class="w"> </span><span class="sc">'0'</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="o">*</span><span class="n">p</span><span class="w"> </span><span class="o"><=</span><span class="w"> </span><span class="sc">'9'</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">p</span><span class="o">++</span><span class="p">;</span> <span class="w"> </span><span class="k">continue</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="cm">/* if it's RFC1459 <special>, it can be inside a word */</span> <span class="w"> </span><span class="k">switch</span><span class="w"> </span><span class="p">(</span><span class="o">*</span><span class="n">p</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">case</span><span class="w"> </span><span class="sc">'-'</span><span class="p">:</span><span class="w"> </span><span class="k">case</span><span class="w"> </span><span class="sc">'['</span><span class="p">:</span><span class="w"> </span><span class="k">case</span><span class="w"> </span><span class="sc">']'</span><span class="p">:</span><span class="w"> </span><span class="k">case</span><span class="w"> </span><span class="sc">'\\'</span><span class="p">:</span> <span class="w"> </span><span class="k">case</span><span class="w"> </span><span class="sc">'`'</span><span class="p">:</span><span class="w"> </span><span class="k">case</span><span class="w"> </span><span class="sc">'^'</span><span class="p">:</span><span class="w"> </span><span class="k">case</span><span class="w"> </span><span class="sc">'{'</span><span class="p">:</span><span class="w"> </span><span class="k">case</span><span class="w"> </span><span class="sc">'}'</span><span class="p">:</span> <span class="w"> </span><span class="k">case</span><span class="w"> </span><span class="sc">'_'</span><span class="p">:</span><span class="w"> </span><span class="k">case</span><span class="w"> </span><span class="sc">'|'</span><span class="p">:</span> <span class="w"> </span><span class="n">p</span><span class="o">++</span><span class="p">;</span> <span class="w"> </span><span class="k">continue</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="cm">/* if it's a 0, space or comma, the word has ended. */</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">*</span><span class="n">p</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="o">*</span><span class="n">p</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="sc">' '</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="o">*</span><span class="n">p</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="sc">','</span><span class="w"> </span><span class="o">||</span> <span class="w"> </span><span class="cm">/* if it's anything BUT a letter, the word has ended. */</span> <span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">g_unichar_isalpha</span><span class="w"> </span><span class="p">(</span><span class="n">g_utf8_get_char</span><span class="w"> </span><span class="p">(</span><span class="n">p</span><span class="p">))))</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">endchar</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="o">*</span><span class="n">p</span><span class="p">;</span> <span class="w"> </span><span class="o">*</span><span class="n">p</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span> <span class="w"> </span><span class="n">res</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">alert_match_word</span><span class="w"> </span><span class="p">(</span><span class="n">text</span><span class="p">,</span><span class="w"> </span><span class="n">masks</span><span class="p">);</span> <span class="w"> </span><span class="o">*</span><span class="n">p</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">endchar</span><span class="p">;</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">res</span><span class="p">)</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">TRUE</span><span class="p">;</span><span class="w"> </span><span class="cm">/* yes, matched! */</span> <span class="w"> </span><span class="n">text</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">p</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">g_utf8_skip</span><span class="w"> </span><span class="p">[</span><span class="n">p</span><span class="p">[</span><span class="mi">0</span><span class="p">]];</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">*</span><span class="n">p</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">FALSE</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="n">p</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="n">g_utf8_skip</span><span class="w"> </span><span class="p">[</span><span class="n">p</span><span class="p">[</span><span class="mi">0</span><span class="p">]];</span> <span class="w"> </span><span class="p">}</span> <span class="p">}</span> <span class="k">static</span><span class="w"> </span><span class="kt">int</span> <span class="nf">is_hilight</span><span class="w"> </span><span class="p">(</span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">from</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">text</span><span class="p">,</span><span class="w"> </span><span class="n">session</span><span class="w"> </span><span class="o">*</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">server</span><span class="w"> </span><span class="o">*</span><span class="n">serv</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">alert_match_word</span><span class="w"> </span><span class="p">(</span><span class="n">from</span><span class="p">,</span><span class="w"> </span><span class="n">prefs</span><span class="p">.</span><span class="n">irc_no_hilight</span><span class="p">))</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span> <span class="w"> </span><span class="n">text</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">strip_color</span><span class="w"> </span><span class="p">(</span><span class="n">text</span><span class="p">,</span><span class="w"> </span><span class="mi">-1</span><span class="p">,</span><span class="w"> </span><span class="n">STRIP_ALL</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">alert_match_text</span><span class="w"> </span><span class="p">(</span><span class="n">text</span><span class="p">,</span><span class="w"> </span><span class="n">serv</span><span class="o">-></span><span class="n">nick</span><span class="p">)</span><span class="w"> </span><span class="o">||</span> <span class="w"> </span><span class="n">alert_match_text</span><span class="w"> </span><span class="p">(</span><span class="n">text</span><span class="p">,</span><span class="w"> </span><span class="n">prefs</span><span class="p">.</span><span class="n">irc_extra_hilight</span><span class="p">)</span><span class="w"> </span><span class="o">||</span> <span class="w"> </span><span class="n">alert_match_word</span><span class="w"> </span><span class="p">(</span><span class="n">from</span><span class="p">,</span><span class="w"> </span><span class="n">prefs</span><span class="p">.</span><span class="n">irc_nick_hilight</span><span class="p">))</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">g_free</span><span class="w"> </span><span class="p">(</span><span class="n">text</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="w"> </span><span class="o">!=</span><span class="w"> </span><span class="n">current_tab</span><span class="p">)</span> <span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">nick_said</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">TRUE</span><span class="p">;</span> <span class="w"> </span><span class="n">fe_set_hilight</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">);</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="n">g_free</span><span class="w"> </span><span class="p">(</span><span class="n">text</span><span class="p">);</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span> <span class="p">}</span> <span class="kt">void</span> <span class="nf">inbound_action</span><span class="w"> </span><span class="p">(</span><span class="n">session</span><span class="w"> </span><span class="o">*</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">chan</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">from</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">ip</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">text</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">fromme</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">id</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="n">session</span><span class="w"> </span><span class="o">*</span><span class="n">def</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">sess</span><span class="p">;</span> <span class="w"> </span><span class="n">server</span><span class="w"> </span><span class="o">*</span><span class="n">serv</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">server</span><span class="p">;</span> <span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">User</span><span class="w"> </span><span class="o">*</span><span class="n">user</span><span class="p">;</span> <span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="n">nickchar</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">"</span><span class="se">\000</span><span class="s">"</span><span class="p">;</span> <span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="n">idtext</span><span class="p">[</span><span class="mi">64</span><span class="p">];</span> <span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">privaction</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">FALSE</span><span class="p">;</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">fromme</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">is_channel</span><span class="w"> </span><span class="p">(</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="n">chan</span><span class="p">))</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">sess</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">find_channel</span><span class="w"> </span><span class="p">(</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="n">chan</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="cm">/* it's a private action! */</span> <span class="w"> </span><span class="n">privaction</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">TRUE</span><span class="p">;</span> <span class="w"> </span><span class="cm">/* find a dialog tab for it */</span> <span class="w"> </span><span class="n">sess</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">find_dialog</span><span class="w"> </span><span class="p">(</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="n">from</span><span class="p">);</span> <span class="w"> </span><span class="cm">/* if non found, open a new one */</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">sess</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="n">prefs</span><span class="p">.</span><span class="n">autodialog</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="cm">/* but only if it wouldn't flood */</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">flood_check</span><span class="w"> </span><span class="p">(</span><span class="n">from</span><span class="p">,</span><span class="w"> </span><span class="n">ip</span><span class="p">,</span><span class="w"> </span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="n">current_sess</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">))</span> <span class="w"> </span><span class="n">sess</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">inbound_open_dialog</span><span class="w"> </span><span class="p">(</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="n">from</span><span class="p">);</span> <span class="w"> </span><span class="k">else</span> <span class="w"> </span><span class="n">sess</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">serv</span><span class="o">-></span><span class="n">server_session</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">sess</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">sess</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">find_session_from_nick</span><span class="w"> </span><span class="p">(</span><span class="n">from</span><span class="p">,</span><span class="w"> </span><span class="n">serv</span><span class="p">);</span> <span class="w"> </span><span class="cm">/* still not good? */</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">sess</span><span class="p">)</span> <span class="w"> </span><span class="n">sess</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">serv</span><span class="o">-></span><span class="n">front_session</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">sess</span><span class="p">)</span> <span class="w"> </span><span class="n">sess</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">def</span><span class="p">;</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="w"> </span><span class="o">!=</span><span class="w"> </span><span class="n">current_tab</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">fromme</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">msg_said</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">FALSE</span><span class="p">;</span> <span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">new_data</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">TRUE</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">msg_said</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">TRUE</span><span class="p">;</span> <span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">new_data</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">FALSE</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="n">user</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">userlist_find</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">from</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">user</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">nickchar</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">user</span><span class="o">-></span><span class="n">prefix</span><span class="p">[</span><span class="mi">0</span><span class="p">];</span> <span class="w"> </span><span class="n">user</span><span class="o">-></span><span class="n">lasttalk</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">time</span><span class="w"> </span><span class="p">(</span><span class="mi">0</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="n">inbound_make_idtext</span><span class="w"> </span><span class="p">(</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="n">idtext</span><span class="p">,</span><span class="w"> </span><span class="k">sizeof</span><span class="w"> </span><span class="p">(</span><span class="n">idtext</span><span class="p">),</span><span class="w"> </span><span class="n">id</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">fromme</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="o">!</span><span class="n">privaction</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">is_hilight</span><span class="w"> </span><span class="p">(</span><span class="n">from</span><span class="p">,</span><span class="w"> </span><span class="n">text</span><span class="p">,</span><span class="w"> </span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">serv</span><span class="p">))</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">EMIT_SIGNAL</span><span class="w"> </span><span class="p">(</span><span class="n">XP_TE_HCHANACTION</span><span class="p">,</span><span class="w"> </span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">from</span><span class="p">,</span><span class="w"> </span><span class="n">text</span><span class="p">,</span><span class="w"> </span><span class="n">nickchar</span><span class="p">,</span><span class="w"> </span><span class="n">idtext</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span> <span class="w"> </span><span class="k">return</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">fromme</span><span class="p">)</span> <span class="w"> </span><span class="n">EMIT_SIGNAL</span><span class="w"> </span><span class="p">(</span><span class="n">XP_TE_UACTION</span><span class="p">,</span><span class="w"> </span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">from</span><span class="p">,</span><span class="w"> </span><span class="n">text</span><span class="p">,</span><span class="w"> </span><span class="n">nickchar</span><span class="p">,</span><span class="w"> </span><span class="n">idtext</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span> <span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">privaction</span><span class="p">)</span> <span class="w"> </span><span class="n">EMIT_SIGNAL</span><span class="w"> </span><span class="p">(</span><span class="n">XP_TE_CHANACTION</span><span class="p">,</span><span class="w"> </span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">from</span><span class="p">,</span><span class="w"> </span><span class="n">text</span><span class="p">,</span><span class="w"> </span><span class="n">nickchar</span><span class="p">,</span><span class="w"> </span><span class="n">idtext</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span> <span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">type</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">SESS_DIALOG</span><span class="p">)</span> <span class="w"> </span><span class="n">EMIT_SIGNAL</span><span class="w"> </span><span class="p">(</span><span class="n">XP_TE_DPRIVACTION</span><span class="p">,</span><span class="w"> </span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">from</span><span class="p">,</span><span class="w"> </span><span class="n">text</span><span class="p">,</span><span class="w"> </span><span class="n">idtext</span><span class="p">,</span><span class="w"> </span><span class="nb">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span> <span class="w"> </span><span class="k">else</span> <span class="w"> </span><span class="n">EMIT_SIGNAL</span><span class="w"> </span><span class="p">(</span><span class="n">XP_TE_PRIVACTION</span><span class="p">,</span><span class="w"> </span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">from</span><span class="p">,</span><span class="w"> </span><span class="n">text</span><span class="p">,</span><span class="w"> </span><span class="n">idtext</span><span class="p">,</span><span class="w"> </span><span class="nb">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span> <span class="p">}</span> <span class="kt">void</span> <span class="nf">inbound_chanmsg</span><span class="w"> </span><span class="p">(</span><span class="n">server</span><span class="w"> </span><span class="o">*</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="n">session</span><span class="w"> </span><span class="o">*</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">chan</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">from</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">text</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="n">fromme</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">id</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">User</span><span class="w"> </span><span class="o">*</span><span class="n">user</span><span class="p">;</span> <span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">hilight</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">FALSE</span><span class="p">;</span> <span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="n">nickchar</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">"</span><span class="se">\000</span><span class="s">"</span><span class="p">;</span> <span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="n">idtext</span><span class="p">[</span><span class="mi">64</span><span class="p">];</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">sess</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">chan</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">sess</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">find_channel</span><span class="w"> </span><span class="p">(</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="n">chan</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">sess</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="o">!</span><span class="n">is_channel</span><span class="w"> </span><span class="p">(</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="n">chan</span><span class="p">))</span> <span class="w"> </span><span class="n">sess</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">find_dialog</span><span class="w"> </span><span class="p">(</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="n">chan</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">sess</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">find_dialog</span><span class="w"> </span><span class="p">(</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="n">from</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">sess</span><span class="p">)</span> <span class="w"> </span><span class="k">return</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="w"> </span><span class="o">!=</span><span class="w"> </span><span class="n">current_tab</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">msg_said</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">TRUE</span><span class="p">;</span> <span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">new_data</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">FALSE</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="n">user</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">userlist_find</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">from</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">user</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">nickchar</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">user</span><span class="o">-></span><span class="n">prefix</span><span class="p">[</span><span class="mi">0</span><span class="p">];</span> <span class="w"> </span><span class="n">user</span><span class="o">-></span><span class="n">lasttalk</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">time</span><span class="w"> </span><span class="p">(</span><span class="mi">0</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">fromme</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">prefs</span><span class="p">.</span><span class="n">auto_unmark_away</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="n">serv</span><span class="o">-></span><span class="n">is_away</span><span class="p">)</span> <span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">server</span><span class="o">-></span><span class="n">p_set_back</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">server</span><span class="p">);</span> <span class="w"> </span><span class="n">EMIT_SIGNAL</span><span class="w"> </span><span class="p">(</span><span class="n">XP_TE_UCHANMSG</span><span class="p">,</span><span class="w"> </span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">from</span><span class="p">,</span><span class="w"> </span><span class="n">text</span><span class="p">,</span><span class="w"> </span><span class="n">nickchar</span><span class="p">,</span><span class="w"> </span><span class="nb">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span> <span class="w"> </span><span class="k">return</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="n">inbound_make_idtext</span><span class="w"> </span><span class="p">(</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="n">idtext</span><span class="p">,</span><span class="w"> </span><span class="k">sizeof</span><span class="w"> </span><span class="p">(</span><span class="n">idtext</span><span class="p">),</span><span class="w"> </span><span class="n">id</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">is_hilight</span><span class="w"> </span><span class="p">(</span><span class="n">from</span><span class="p">,</span><span class="w"> </span><span class="n">text</span><span class="p">,</span><span class="w"> </span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">serv</span><span class="p">))</span> <span class="w"> </span><span class="n">hilight</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">TRUE</span><span class="p">;</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">type</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">SESS_DIALOG</span><span class="p">)</span> <span class="w"> </span><span class="n">EMIT_SIGNAL</span><span class="w"> </span><span class="p">(</span><span class="n">XP_TE_DPRIVMSG</span><span class="p">,</span><span class="w"> </span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">from</span><span class="p">,</span><span class="w"> </span><span class="n">text</span><span class="p">,</span><span class="w"> </span><span class="n">idtext</span><span class="p">,</span><span class="w"> </span><span class="nb">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span> <span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">hilight</span><span class="p">)</span> <span class="w"> </span><span class="n">EMIT_SIGNAL</span><span class="w"> </span><span class="p">(</span><span class="n">XP_TE_HCHANMSG</span><span class="p">,</span><span class="w"> </span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">from</span><span class="p">,</span><span class="w"> </span><span class="n">text</span><span class="p">,</span><span class="w"> </span><span class="n">nickchar</span><span class="p">,</span><span class="w"> </span><span class="n">idtext</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span> <span class="w"> </span><span class="k">else</span> <span class="w"> </span><span class="n">EMIT_SIGNAL</span><span class="w"> </span><span class="p">(</span><span class="n">XP_TE_CHANMSG</span><span class="p">,</span><span class="w"> </span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">from</span><span class="p">,</span><span class="w"> </span><span class="n">text</span><span class="p">,</span><span class="w"> </span><span class="n">nickchar</span><span class="p">,</span><span class="w"> </span><span class="n">idtext</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span> <span class="p">}</span> <span class="kt">void</span> <span class="nf">inbound_newnick</span><span class="w"> </span><span class="p">(</span><span class="n">server</span><span class="w"> </span><span class="o">*</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">nick</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">newnick</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">quiet</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">me</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">FALSE</span><span class="p">;</span> <span class="w"> </span><span class="n">session</span><span class="w"> </span><span class="o">*</span><span class="n">sess</span><span class="p">;</span> <span class="w"> </span><span class="n">GSList</span><span class="w"> </span><span class="o">*</span><span class="n">list</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">sess_list</span><span class="p">;</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">serv</span><span class="o">-></span><span class="n">p_cmp</span><span class="w"> </span><span class="p">(</span><span class="n">nick</span><span class="p">,</span><span class="w"> </span><span class="n">serv</span><span class="o">-></span><span class="n">nick</span><span class="p">))</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">me</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">TRUE</span><span class="p">;</span> <span class="w"> </span><span class="n">safe_strcpy</span><span class="w"> </span><span class="p">(</span><span class="n">serv</span><span class="o">-></span><span class="n">nick</span><span class="p">,</span><span class="w"> </span><span class="n">newnick</span><span class="p">,</span><span class="w"> </span><span class="n">NICKLEN</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="k">while</span><span class="w"> </span><span class="p">(</span><span class="n">list</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">sess</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">list</span><span class="o">-></span><span class="n">data</span><span class="p">;</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">server</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">serv</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">userlist_change</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">nick</span><span class="p">,</span><span class="w"> </span><span class="n">newnick</span><span class="p">)</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="p">(</span><span class="n">me</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">type</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">SESS_SERVER</span><span class="p">))</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">quiet</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">me</span><span class="p">)</span> <span class="w"> </span><span class="n">EMIT_SIGNAL</span><span class="w"> </span><span class="p">(</span><span class="n">XP_TE_UCHANGENICK</span><span class="p">,</span><span class="w"> </span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">nick</span><span class="p">,</span><span class="w"> </span><span class="n">newnick</span><span class="p">,</span><span class="w"> </span><span class="nb">NULL</span><span class="p">,</span> <span class="w"> </span><span class="nb">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span> <span class="w"> </span><span class="k">else</span> <span class="w"> </span><span class="n">EMIT_SIGNAL</span><span class="w"> </span><span class="p">(</span><span class="n">XP_TE_CHANGENICK</span><span class="p">,</span><span class="w"> </span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">nick</span><span class="p">,</span><span class="w"> </span><span class="n">newnick</span><span class="p">,</span><span class="w"> </span><span class="nb">NULL</span><span class="p">,</span> <span class="w"> </span><span class="nb">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">type</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">SESS_DIALOG</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="o">!</span><span class="n">serv</span><span class="o">-></span><span class="n">p_cmp</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">channel</span><span class="p">,</span><span class="w"> </span><span class="n">nick</span><span class="p">))</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">safe_strcpy</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">channel</span><span class="p">,</span><span class="w"> </span><span class="n">newnick</span><span class="p">,</span><span class="w"> </span><span class="n">CHANLEN</span><span class="p">);</span> <span class="w"> </span><span class="n">fe_set_channel</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="n">fe_set_title</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="n">list</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">list</span><span class="o">-></span><span class="n">next</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="n">dcc_change_nick</span><span class="w"> </span><span class="p">(</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="n">nick</span><span class="p">,</span><span class="w"> </span><span class="n">newnick</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">me</span><span class="p">)</span> <span class="w"> </span><span class="n">fe_set_nick</span><span class="w"> </span><span class="p">(</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="n">newnick</span><span class="p">);</span> <span class="p">}</span> <span class="cm">/* find a "<none>" tab */</span> <span class="k">static</span><span class="w"> </span><span class="n">session</span><span class="w"> </span><span class="o">*</span> <span class="nf">find_unused_session</span><span class="w"> </span><span class="p">(</span><span class="n">server</span><span class="w"> </span><span class="o">*</span><span class="n">serv</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="n">session</span><span class="w"> </span><span class="o">*</span><span class="n">sess</span><span class="p">;</span> <span class="w"> </span><span class="n">GSList</span><span class="w"> </span><span class="o">*</span><span class="n">list</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">sess_list</span><span class="p">;</span> <span class="w"> </span><span class="k">while</span><span class="w"> </span><span class="p">(</span><span class="n">list</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">sess</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="n">session</span><span class="w"> </span><span class="o">*</span><span class="p">)</span><span class="w"> </span><span class="n">list</span><span class="o">-></span><span class="n">data</span><span class="p">;</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">type</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">SESS_CHANNEL</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">channel</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="o">&&</span> <span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">server</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">serv</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">waitchannel</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">sess</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="n">list</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">list</span><span class="o">-></span><span class="n">next</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span> <span class="p">}</span> <span class="k">static</span><span class="w"> </span><span class="n">session</span><span class="w"> </span><span class="o">*</span> <span class="nf">find_session_from_waitchannel</span><span class="w"> </span><span class="p">(</span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">chan</span><span class="p">,</span><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">server</span><span class="w"> </span><span class="o">*</span><span class="n">serv</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="n">session</span><span class="w"> </span><span class="o">*</span><span class="n">sess</span><span class="p">;</span> <span class="w"> </span><span class="n">GSList</span><span class="w"> </span><span class="o">*</span><span class="n">list</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">sess_list</span><span class="p">;</span> <span class="w"> </span><span class="k">while</span><span class="w"> </span><span class="p">(</span><span class="n">list</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">sess</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="n">session</span><span class="w"> </span><span class="o">*</span><span class="p">)</span><span class="w"> </span><span class="n">list</span><span class="o">-></span><span class="n">data</span><span class="p">;</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">server</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">serv</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">channel</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">type</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">SESS_CHANNEL</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">serv</span><span class="o">-></span><span class="n">p_cmp</span><span class="w"> </span><span class="p">(</span><span class="n">chan</span><span class="p">,</span><span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">waitchannel</span><span class="p">))</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">sess</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="n">list</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">list</span><span class="o">-></span><span class="n">next</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span> <span class="p">}</span> <span class="kt">void</span> <span class="nf">inbound_ujoin</span><span class="w"> </span><span class="p">(</span><span class="n">server</span><span class="w"> </span><span class="o">*</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">chan</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">nick</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">ip</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="n">session</span><span class="w"> </span><span class="o">*</span><span class="n">sess</span><span class="p">;</span> <span class="w"> </span><span class="cm">/* already joined? probably a bnc */</span> <span class="w"> </span><span class="n">sess</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">find_channel</span><span class="w"> </span><span class="p">(</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="n">chan</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">sess</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="cm">/* see if a window is waiting to join this channel */</span> <span class="w"> </span><span class="n">sess</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">find_session_from_waitchannel</span><span class="w"> </span><span class="p">(</span><span class="n">chan</span><span class="p">,</span><span class="w"> </span><span class="n">serv</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">sess</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="cm">/* find a "<none>" tab and use that */</span> <span class="w"> </span><span class="n">sess</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">find_unused_session</span><span class="w"> </span><span class="p">(</span><span class="n">serv</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">sess</span><span class="p">)</span> <span class="w"> </span><span class="cm">/* last resort, open a new tab/window */</span> <span class="w"> </span><span class="n">sess</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">new_ircwindow</span><span class="w"> </span><span class="p">(</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="n">chan</span><span class="p">,</span><span class="w"> </span><span class="n">SESS_CHANNEL</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="n">safe_strcpy</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">channel</span><span class="p">,</span><span class="w"> </span><span class="n">chan</span><span class="p">,</span><span class="w"> </span><span class="n">CHANLEN</span><span class="p">);</span> <span class="w"> </span><span class="n">fe_set_channel</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">);</span> <span class="w"> </span><span class="n">fe_set_title</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">);</span> <span class="w"> </span><span class="n">fe_set_nonchannel</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">TRUE</span><span class="p">);</span> <span class="w"> </span><span class="n">userlist_clear</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">);</span> <span class="w"> </span><span class="n">log_open_or_close</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">);</span> <span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">waitchannel</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span> <span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">ignore_date</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">TRUE</span><span class="p">;</span> <span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">ignore_mode</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">TRUE</span><span class="p">;</span> <span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">ignore_names</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">TRUE</span><span class="p">;</span> <span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">end_of_names</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">FALSE</span><span class="p">;</span> <span class="w"> </span><span class="cm">/* sends a MODE */</span> <span class="w"> </span><span class="n">serv</span><span class="o">-></span><span class="n">p_join_info</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">server</span><span class="p">,</span><span class="w"> </span><span class="n">chan</span><span class="p">);</span> <span class="w"> </span><span class="n">EMIT_SIGNAL</span><span class="w"> </span><span class="p">(</span><span class="n">XP_TE_UJOIN</span><span class="p">,</span><span class="w"> </span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">nick</span><span class="p">,</span><span class="w"> </span><span class="n">chan</span><span class="p">,</span><span class="w"> </span><span class="n">ip</span><span class="p">,</span><span class="w"> </span><span class="nb">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">prefs</span><span class="p">.</span><span class="n">userhost</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="cm">/* sends WHO #channel */</span> <span class="w"> </span><span class="n">serv</span><span class="o">-></span><span class="n">p_user_list</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">server</span><span class="p">,</span><span class="w"> </span><span class="n">chan</span><span class="p">);</span> <span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">doing_who</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">TRUE</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="p">}</span> <span class="kt">void</span> <span class="nf">inbound_ukick</span><span class="w"> </span><span class="p">(</span><span class="n">server</span><span class="w"> </span><span class="o">*</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">chan</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">kicker</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">reason</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="n">session</span><span class="w"> </span><span class="o">*</span><span class="n">sess</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">find_channel</span><span class="w"> </span><span class="p">(</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="n">chan</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">EMIT_SIGNAL</span><span class="w"> </span><span class="p">(</span><span class="n">XP_TE_UKICK</span><span class="p">,</span><span class="w"> </span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">serv</span><span class="o">-></span><span class="n">nick</span><span class="p">,</span><span class="w"> </span><span class="n">chan</span><span class="p">,</span><span class="w"> </span><span class="n">kicker</span><span class="p">,</span><span class="w"> </span><span class="n">reason</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span> <span class="w"> </span><span class="n">clear_channel</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">prefs</span><span class="p">.</span><span class="n">autorejoin</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">serv</span><span class="o">-></span><span class="n">p_join</span><span class="w"> </span><span class="p">(</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="n">chan</span><span class="p">,</span><span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">channelkey</span><span class="p">);</span> <span class="w"> </span><span class="n">safe_strcpy</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">waitchannel</span><span class="p">,</span><span class="w"> </span><span class="n">chan</span><span class="p">,</span><span class="w"> </span><span class="n">CHANLEN</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="p">}</span> <span class="p">}</span> <span class="kt">void</span> <span class="nf">inbound_upart</span><span class="w"> </span><span class="p">(</span><span class="n">server</span><span class="w"> </span><span class="o">*</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">chan</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">ip</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">reason</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="n">session</span><span class="w"> </span><span class="o">*</span><span class="n">sess</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">find_channel</span><span class="w"> </span><span class="p">(</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="n">chan</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">*</span><span class="n">reason</span><span class="p">)</span> <span class="w"> </span><span class="n">EMIT_SIGNAL</span><span class="w"> </span><span class="p">(</span><span class="n">XP_TE_UPARTREASON</span><span class="p">,</span><span class="w"> </span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">serv</span><span class="o">-></span><span class="n">nick</span><span class="p">,</span><span class="w"> </span><span class="n">ip</span><span class="p">,</span><span class="w"> </span><span class="n">chan</span><span class="p">,</span><span class="w"> </span><span class="n">reason</span><span class="p">,</span> <span class="w"> </span><span class="mi">0</span><span class="p">);</span> <span class="w"> </span><span class="k">else</span> <span class="w"> </span><span class="n">EMIT_SIGNAL</span><span class="w"> </span><span class="p">(</span><span class="n">XP_TE_UPART</span><span class="p">,</span><span class="w"> </span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">serv</span><span class="o">-></span><span class="n">nick</span><span class="p">,</span><span class="w"> </span><span class="n">ip</span><span class="p">,</span><span class="w"> </span><span class="n">chan</span><span class="p">,</span><span class="w"> </span><span class="nb">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span> <span class="w"> </span><span class="n">clear_channel</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span> <span class="p">}</span> <span class="kt">void</span> <span class="nf">inbound_nameslist</span><span class="w"> </span><span class="p">(</span><span class="n">server</span><span class="w"> </span><span class="o">*</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">chan</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">names</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="n">session</span><span class="w"> </span><span class="o">*</span><span class="n">sess</span><span class="p">;</span> <span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="n">name</span><span class="p">[</span><span class="n">NICKLEN</span><span class="p">];</span> <span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">pos</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span> <span class="w"> </span><span class="n">sess</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">find_channel</span><span class="w"> </span><span class="p">(</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="n">chan</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">sess</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">EMIT_SIGNAL</span><span class="w"> </span><span class="p">(</span><span class="n">XP_TE_USERSONCHAN</span><span class="p">,</span><span class="w"> </span><span class="n">serv</span><span class="o">-></span><span class="n">server_session</span><span class="p">,</span><span class="w"> </span><span class="n">chan</span><span class="p">,</span><span class="w"> </span><span class="n">names</span><span class="p">,</span><span class="w"> </span><span class="nb">NULL</span><span class="p">,</span> <span class="w"> </span><span class="nb">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span> <span class="w"> </span><span class="k">return</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">sess</span><span class="o">-></span><span class="n">ignore_names</span><span class="p">)</span> <span class="w"> </span><span class="n">EMIT_SIGNAL</span><span class="w"> </span><span class="p">(</span><span class="n">XP_TE_USERSONCHAN</span><span class="p">,</span><span class="w"> </span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">chan</span><span class="p">,</span><span class="w"> </span><span class="n">names</span><span class="p">,</span><span class="w"> </span><span class="nb">NULL</span><span class="p">,</span><span class="w"> </span><span class="nb">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">end_of_names</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">end_of_names</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">FALSE</span><span class="p">;</span> <span class="w"> </span><span class="n">userlist_clear</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="k">while</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">switch</span><span class="w"> </span><span class="p">(</span><span class="o">*</span><span class="n">names</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">case</span><span class="w"> </span><span class="mi">0</span><span class="p">:</span> <span class="w"> </span><span class="n">name</span><span class="p">[</span><span class="n">pos</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">pos</span><span class="w"> </span><span class="o">!=</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span> <span class="w"> </span><span class="n">userlist_add</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">name</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span> <span class="w"> </span><span class="k">return</span><span class="p">;</span> <span class="w"> </span><span class="k">case</span><span class="w"> </span><span class="sc">' '</span><span class="p">:</span> <span class="w"> </span><span class="n">name</span><span class="p">[</span><span class="n">pos</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span> <span class="w"> </span><span class="n">pos</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span> <span class="w"> </span><span class="n">userlist_add</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">name</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span> <span class="w"> </span><span class="k">break</span><span class="p">;</span> <span class="w"> </span><span class="k">default</span><span class="o">:</span> <span class="w"> </span><span class="n">name</span><span class="p">[</span><span class="n">pos</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="o">*</span><span class="n">names</span><span class="p">;</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">pos</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="p">(</span><span class="n">NICKLEN</span><span class="mi">-1</span><span class="p">))</span> <span class="w"> </span><span class="n">pos</span><span class="o">++</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="n">names</span><span class="o">++</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="p">}</span> <span class="kt">void</span> <span class="nf">inbound_topic</span><span class="w"> </span><span class="p">(</span><span class="n">server</span><span class="w"> </span><span class="o">*</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">chan</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">topic_text</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="n">session</span><span class="w"> </span><span class="o">*</span><span class="n">sess</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">find_channel</span><span class="w"> </span><span class="p">(</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="n">chan</span><span class="p">);</span> <span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">stripped_topic</span><span class="p">;</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">stripped_topic</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">strip_color</span><span class="w"> </span><span class="p">(</span><span class="n">topic_text</span><span class="p">,</span><span class="w"> </span><span class="mi">-1</span><span class="p">,</span><span class="w"> </span><span class="n">STRIP_ALL</span><span class="p">);</span> <span class="w"> </span><span class="n">set_topic</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">topic_text</span><span class="p">,</span><span class="w"> </span><span class="n">stripped_topic</span><span class="p">);</span> <span class="w"> </span><span class="n">g_free</span><span class="w"> </span><span class="p">(</span><span class="n">stripped_topic</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span> <span class="w"> </span><span class="n">sess</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">serv</span><span class="o">-></span><span class="n">server_session</span><span class="p">;</span> <span class="w"> </span><span class="n">EMIT_SIGNAL</span><span class="w"> </span><span class="p">(</span><span class="n">XP_TE_TOPIC</span><span class="p">,</span><span class="w"> </span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">chan</span><span class="p">,</span><span class="w"> </span><span class="n">topic_text</span><span class="p">,</span><span class="w"> </span><span class="nb">NULL</span><span class="p">,</span><span class="w"> </span><span class="nb">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span> <span class="p">}</span> <span class="kt">void</span> <span class="nf">inbound_topicnew</span><span class="w"> </span><span class="p">(</span><span class="n">server</span><span class="w"> </span><span class="o">*</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">nick</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">chan</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">topic</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="n">session</span><span class="w"> </span><span class="o">*</span><span class="n">sess</span><span class="p">;</span> <span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">stripped_topic</span><span class="p">;</span> <span class="w"> </span><span class="n">sess</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">find_channel</span><span class="w"> </span><span class="p">(</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="n">chan</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">EMIT_SIGNAL</span><span class="w"> </span><span class="p">(</span><span class="n">XP_TE_NEWTOPIC</span><span class="p">,</span><span class="w"> </span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">nick</span><span class="p">,</span><span class="w"> </span><span class="n">topic</span><span class="p">,</span><span class="w"> </span><span class="n">chan</span><span class="p">,</span><span class="w"> </span><span class="nb">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span> <span class="w"> </span><span class="n">stripped_topic</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">strip_color</span><span class="w"> </span><span class="p">(</span><span class="n">topic</span><span class="p">,</span><span class="w"> </span><span class="mi">-1</span><span class="p">,</span><span class="w"> </span><span class="n">STRIP_ALL</span><span class="p">);</span> <span class="w"> </span><span class="n">set_topic</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">topic</span><span class="p">,</span><span class="w"> </span><span class="n">stripped_topic</span><span class="p">);</span> <span class="w"> </span><span class="n">g_free</span><span class="w"> </span><span class="p">(</span><span class="n">stripped_topic</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span> <span class="p">}</span> <span class="kt">void</span> <span class="nf">inbound_join</span><span class="w"> </span><span class="p">(</span><span class="n">server</span><span class="w"> </span><span class="o">*</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">chan</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">user</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">ip</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="n">session</span><span class="w"> </span><span class="o">*</span><span class="n">sess</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">find_channel</span><span class="w"> </span><span class="p">(</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="n">chan</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">EMIT_SIGNAL</span><span class="w"> </span><span class="p">(</span><span class="n">XP_TE_JOIN</span><span class="p">,</span><span class="w"> </span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">user</span><span class="p">,</span><span class="w"> </span><span class="n">chan</span><span class="p">,</span><span class="w"> </span><span class="n">ip</span><span class="p">,</span><span class="w"> </span><span class="nb">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span> <span class="w"> </span><span class="n">userlist_add</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">user</span><span class="p">,</span><span class="w"> </span><span class="n">ip</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span> <span class="p">}</span> <span class="kt">void</span> <span class="nf">inbound_kick</span><span class="w"> </span><span class="p">(</span><span class="n">server</span><span class="w"> </span><span class="o">*</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">chan</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">user</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">kicker</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">reason</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="n">session</span><span class="w"> </span><span class="o">*</span><span class="n">sess</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">find_channel</span><span class="w"> </span><span class="p">(</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="n">chan</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">EMIT_SIGNAL</span><span class="w"> </span><span class="p">(</span><span class="n">XP_TE_KICK</span><span class="p">,</span><span class="w"> </span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">kicker</span><span class="p">,</span><span class="w"> </span><span class="n">user</span><span class="p">,</span><span class="w"> </span><span class="n">chan</span><span class="p">,</span><span class="w"> </span><span class="n">reason</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span> <span class="w"> </span><span class="n">userlist_remove</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">user</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span> <span class="p">}</span> <span class="kt">void</span> <span class="nf">inbound_part</span><span class="w"> </span><span class="p">(</span><span class="n">server</span><span class="w"> </span><span class="o">*</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">chan</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">user</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">ip</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">reason</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="n">session</span><span class="w"> </span><span class="o">*</span><span class="n">sess</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">find_channel</span><span class="w"> </span><span class="p">(</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="n">chan</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">*</span><span class="n">reason</span><span class="p">)</span> <span class="w"> </span><span class="n">EMIT_SIGNAL</span><span class="w"> </span><span class="p">(</span><span class="n">XP_TE_PARTREASON</span><span class="p">,</span><span class="w"> </span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">user</span><span class="p">,</span><span class="w"> </span><span class="n">ip</span><span class="p">,</span><span class="w"> </span><span class="n">chan</span><span class="p">,</span><span class="w"> </span><span class="n">reason</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span> <span class="w"> </span><span class="k">else</span> <span class="w"> </span><span class="n">EMIT_SIGNAL</span><span class="w"> </span><span class="p">(</span><span class="n">XP_TE_PART</span><span class="p">,</span><span class="w"> </span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">user</span><span class="p">,</span><span class="w"> </span><span class="n">ip</span><span class="p">,</span><span class="w"> </span><span class="n">chan</span><span class="p">,</span><span class="w"> </span><span class="nb">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span> <span class="w"> </span><span class="n">userlist_remove</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">user</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span> <span class="p">}</span> <span class="kt">void</span> <span class="nf">inbound_topictime</span><span class="w"> </span><span class="p">(</span><span class="n">server</span><span class="w"> </span><span class="o">*</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">chan</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">nick</span><span class="p">,</span><span class="w"> </span><span class="kt">time_t</span><span class="w"> </span><span class="n">stamp</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">tim</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ctime</span><span class="w"> </span><span class="p">(</span><span class="o">&</span><span class="n">stamp</span><span class="p">);</span> <span class="w"> </span><span class="n">session</span><span class="w"> </span><span class="o">*</span><span class="n">sess</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">find_channel</span><span class="w"> </span><span class="p">(</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="n">chan</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">sess</span><span class="p">)</span> <span class="w"> </span><span class="n">sess</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">serv</span><span class="o">-></span><span class="n">server_session</span><span class="p">;</span> <span class="w"> </span><span class="n">tim</span><span class="p">[</span><span class="mi">24</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"> </span><span class="cm">/* get rid of the \n */</span> <span class="w"> </span><span class="n">EMIT_SIGNAL</span><span class="w"> </span><span class="p">(</span><span class="n">XP_TE_TOPICDATE</span><span class="p">,</span><span class="w"> </span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">chan</span><span class="p">,</span><span class="w"> </span><span class="n">nick</span><span class="p">,</span><span class="w"> </span><span class="n">tim</span><span class="p">,</span><span class="w"> </span><span class="nb">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span> <span class="p">}</span> <span class="kt">void</span> <span class="nf">inbound_quit</span><span class="w"> </span><span class="p">(</span><span class="n">server</span><span class="w"> </span><span class="o">*</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">nick</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">ip</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">reason</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="n">GSList</span><span class="w"> </span><span class="o">*</span><span cla