+ if(!stricmp(argv[1], "001") ||
+ !stricmp(argv[1], "002") ||
+ !stricmp(argv[1], "003") ||
+ !stricmp(argv[1], "004") ||
+ !stricmp(argv[1], "005") ||
+ !stricmp(argv[1], "375") ||
+ !stricmp(argv[1], "372") ||
+ !stricmp(argv[1], "376")
+ ) {
+ //save these raw's for recovering the connection later
+ struct IRCLine *recover_line = NULL, *new_line;
+ if(client->recover_header)
+ for(recover_line = client->recover_header; recover_line->next; recover_line = recover_line->next) {};
+ new_line = malloc(sizeof(*new_line));
+ if(new_line) {
+ new_line->line = strdup(line);
+ new_line->next = NULL;
+ if(recover_line)
+ recover_line->next = new_line;
+ else
+ client->recover_header = new_line;
+ }
+ }