git.ucc.asn.au
/
tpg
/
acess2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Modules/PS2KbMouse - Adding pl050 support
[tpg/acess2.git]
/
Usermode
/
Applications
/
irc_src
/
main.c
diff --git
a/Usermode/Applications/irc_src/main.c
b/Usermode/Applications/irc_src/main.c
index
aa0f2d4
..
20223bb
100644
(file)
--- a/
Usermode/Applications/irc_src/main.c
+++ b/
Usermode/Applications/irc_src/main.c
@@
-115,7
+115,8
@@
int main(int argc, const char *argv[], const char *envp[])
\r
// HACK: Static server entry
\r
// UCC (University [of Western Australia] Computer Club) IRC Server
\r
\r
// HACK: Static server entry
\r
// UCC (University [of Western Australia] Computer Club) IRC Server
\r
- gWindow_Status.Server = Server_Connect( "UCC", "130.95.13.18", 6667 );
\r
+// gWindow_Status.Server = Server_Connect( "UCC", "130.95.13.18", 6667 );
\r
+ gWindow_Status.Server = Server_Connect( "Freenode", "89.16.176.16", 6667 );
\r
// gWindow_Status.Server = Server_Connect( "Host", "10.0.2.2", 6667 );
\r
// gWindow_Status.Server = Server_Connect( "BitlBee", "192.168.1.34", 6667 );
\r
\r
// gWindow_Status.Server = Server_Connect( "Host", "10.0.2.2", 6667 );
\r
// gWindow_Status.Server = Server_Connect( "BitlBee", "192.168.1.34", 6667 );
\r
\r
@@
-424,17
+425,20
@@
tMessage *Message_Append(tServer *Server, int Type, const char *Source, const ch
\r
{
\r
int pos = SetCursorPos(giTerminal_Height-2, 0);
\r
\r
{
\r
int pos = SetCursorPos(giTerminal_Height-2, 0);
\r
- #if 1
\r
if( win == gpCurrentWindow ) {
\r
if( win == gpCurrentWindow ) {
\r
+ int prefixlen = strlen(Source) + 3;
\r
+ int avail = giTerminal_Width - prefixlen;
\r
+ int msglen = strlen(Message);
\r
printf("\x1B[T"); // Scroll down 1 (free space below)
\r
printf("\x1B[T"); // Scroll down 1 (free space below)
\r
- printf("[%s] %s\n", Source, Message);
\r
+ printf("[%s] %.*s\n", Source, avail, Message);
\r
+ while( msglen > avail ) {
\r
+ msglen -= avail;
\r
+ Message += avail;
\r
+ printf("\x1B[T");
\r
+ SetCursorPos(giTerminal_Height-2, prefixlen);
\r
+ printf("%.*s\n", avail, Message);
\r
+ }
\r
}
\r
}
\r
- #else
\r
- if(win->Name[0])
\r
- printf("%s/%s [%s] %s\n", win->Server->Name, win->Name, Source, Message);
\r
- else
\r
- printf("(status) [%s] %s\n", Source, Message);
\r
- #endif
\r
SetCursorPos(-1, pos);
\r
}
\r
\r
SetCursorPos(-1, pos);
\r
}
\r
\r
@@
-497,8
+501,8
@@
void Redraw_Screen(void)
\r
while(done < msglen) {
\r
done += printf("%.*s", line_avail, msg->Data+done);
\r
\r
while(done < msglen) {
\r
done += printf("%.*s", line_avail, msg->Data+done);
\r
- SetCursorPos(y+i, prefix_len);
\r
i ++;
\r
i ++;
\r
+ SetCursorPos(y+i, prefix_len);
\r
}
\r
}
\r
\r
}
\r
}
\r
\r
@@
-517,7
+521,8
@@
void ParseServerLine(tServer *Server, char *Line)
{
\r
int pos = 0;
\r
char *ident, *cmd;
\r
{
\r
int pos = 0;
\r
char *ident, *cmd;
\r
-
\r
+
\r
+ _SysDebug("Server %s: Line = %s", Server->Name, Line);
\r
\r
// Message?
\r
if( *Line == ':' )
\r
\r
// Message?
\r
if( *Line == ':' )
\r
@@
-547,13
+552,16
@@
void ParseServerLine(tServer *Server, char *Line)
{
\r
case 353: // /NAMES list
\r
// <user> = <channel> :list
\r
{
\r
case 353: // /NAMES list
\r
// <user> = <channel> :list
\r
-
GetValue(Line, &pos); // '='
\r
+
//
GetValue(Line, &pos); // '='
\r
user = GetValue(Line, &pos); // Actually channel
\r
message = Line + pos + 1; // List
\r
user = GetValue(Line, &pos); // Actually channel
\r
message = Line + pos + 1; // List
\r
- Message_Append
(Server, MSG_TYPE_SERVER, user, "
", message);
\r
+ Message_Append
F(Server, MSG_TYPE_SERVER, user, "", "Names: %s
", message);
\r
break;
\r
case 366: // end of /NAMES list
\r
break;
\r
case 366: // end of /NAMES list
\r
-// Message_Append()
\r
+ // <user> <channel> :msg
\r
+ user = message;
\r
+ message = Line + pos + 1;
\r
+ Message_Append(Server, MSG_TYPE_SERVER, user, "", message);
\r
break;
\r
case 372: // MOTD Data
\r
case 376: // MOTD End
\r
break;
\r
case 372: // MOTD Data
\r
case 376: // MOTD End
\r
@@
-591,7
+599,7
@@
void ParseServerLine(tServer *Server, char *Line)
else {
\r
message = GetValue(Line, &pos);
\r
}
\r
else {
\r
message = GetValue(Line, &pos);
\r
}
\r
-
Cmd_PRIVMSG(Server, dest, ident, message);
\r
+
//
Cmd_PRIVMSG(Server, dest, ident, message);
\r
Message_Append(Server, MSG_TYPE_STANDARD, ident, dest, message);
\r
}
\r
else if( strcmp(cmd, "JOIN" ) == 0 )
\r
Message_Append(Server, MSG_TYPE_STANDARD, ident, dest, message);
\r
}
\r
else if( strcmp(cmd, "JOIN" ) == 0 )
\r
@@
-605,10
+613,17
@@
void ParseServerLine(tServer *Server, char *Line)
Message_AppendF(Server, MSG_TYPE_SERVER, "", "", "Unknown message %s (%s)\n", cmd, Line+pos);
\r
}
\r
}
\r
Message_AppendF(Server, MSG_TYPE_SERVER, "", "", "Unknown message %s (%s)\n", cmd, Line+pos);
\r
}
\r
}
\r
- else {
\r
+ else {
\r
+ cmd = GetValue(Line, &pos);
\r
\r
\r
- // Command to client
\r
- Message_AppendF(NULL, MSG_TYPE_UNK, "", "", "Client Command: %s", Line);
\r
+ if( strcmp(cmd, "PING") == 0 ) {
\r
+ writef(Server->FD, "PONG %s\n", gsHostname);
\r
+
\r
+ }
\r
+ else {
\r
+ // Command to client
\r
+ Message_AppendF(NULL, MSG_TYPE_UNK, "", "", "Client Command: %s", Line);
\r
+ }
\r
}
\r
}
\r
\r
}
\r
}
\r
\r
@@
-629,7
+644,7
@@
int ProcessIncoming(tServer *Server)
{
\r
#endif
\r
// Read data
\r
{
\r
#endif
\r
// Read data
\r
- len = read(Server->FD,
BUFSIZ - Server->ReadPos, &Server->InBuf[Server->ReadPos]
);
\r
+ len = read(Server->FD,
&Server->InBuf[Server->ReadPos], BUFSIZ - Server->ReadPos
);
\r
if( len == -1 ) {
\r
return -1;
\r
}
\r
if( len == -1 ) {
\r
return -1;
\r
}
\r
@@
-683,7
+698,7
@@
int writef(int FD, const char *Format, ...)
vsnprintf(buf, len+1, Format, args);
\r
va_end(args);
\r
\r
vsnprintf(buf, len+1, Format, args);
\r
va_end(args);
\r
\r
- return write(FD,
len, buf
);
\r
+ return write(FD,
buf, len
);
\r
}
\r
}
\r
\r
}
\r
}
\r
\r
UCC
git Repository :: git.ucc.asn.au