Merge branch 'master' of git://localhost/acess2
[tpg/acess2.git] / Usermode / Applications / irc_src / main.c
index 9e5a075..4ca2415 100644 (file)
@@ -78,7 +78,7 @@ char  *gsNickname = "acess";
 tServer        *gpServers;\r
 tWindow        gWindow_Status = {\r
        NULL, NULL, NULL,       // No next, empty list, no server\r
-       0, ""   // No activity, empty name (rendered as status)\r
+       0, {""} // No activity, empty name (rendered as status)\r
 };\r
 tWindow        *gpWindows = &gWindow_Status;\r
 tWindow        *gpCurrentWindow = &gWindow_Status;\r
@@ -340,7 +340,7 @@ tMessage *Message_AppendF(tServer *Server, int Type, const char *Source, const c
        va_list args;\r
         int    len;\r
        va_start(args, Message);\r
-       len = vsnprintf(NULL, 1000, Message, args);\r
+       len = vsnprintf(NULL, 0, Message, args);\r
        {\r
                char    buf[len+1];\r
                vsnprintf(buf, len+1, Message, args);\r
@@ -578,6 +578,7 @@ void ParseServerLine(tServer *Server, char *Line)
                                Message_Append(Server, MSG_TYPE_SERVER, user, user, message);\r
                                break;\r
                        case 372:       // MOTD Data\r
+                       case 375:       // MOTD Start\r
                        case 376:       // MOTD End\r
                                \r
                        default:\r
@@ -601,6 +602,10 @@ void ParseServerLine(tServer *Server, char *Line)
                        }\r
                        \r
                        //printf("[%s] NOTICE %s: %s\n", Server->Name, ident, message);\r
+                       char *ident_bang = strchr(ident, '!');\r
+                       if( ident_bang ) {\r
+                               *ident_bang = '\0';\r
+                       }\r
                        Message_Append(Server, MSG_TYPE_NOTICE, ident, "", message);\r
                }\r
                else if( strcmp(cmd, "PRIVMSG") == 0 )\r
@@ -618,7 +623,10 @@ void ParseServerLine(tServer *Server, char *Line)
                        // TODO: Catch when the privmsg is addressed to the user\r
 \r
 //                     Cmd_PRIVMSG(Server, dest, ident, message);\r
-                       *strchr(ident, '!') = '\0';     // Hello SIGSEGV\r
+                       char *ident_bang = strchr(ident, '!');\r
+                       if( ident_bang ) {\r
+                               *ident_bang = '\0';\r
+                       }\r
                        Message_Append(Server, MSG_TYPE_STANDARD, ident, dest, message);\r
                }\r
                else if( strcmp(cmd, "JOIN" ) == 0 )\r
@@ -708,7 +716,7 @@ int writef(int FD, const char *Format, ...)
         int    len;\r
        \r
        va_start(args, Format);\r
-       len = vsnprintf(NULL, 1000, Format, args);\r
+       len = vsnprintf(NULL, 0, Format, args);\r
        va_end(args);\r
        \r
        {\r

UCC git Repository :: git.ucc.asn.au