]> jfr.im git - irc/evilnet/x3.git/blobdiff - src/log.c
roll version to 1.8.1 for conversion to git repository
[irc/evilnet/x3.git] / src / log.c
index 8da3bb6203ea8c3eb25caa36016bf80333f1ab6e..660a79513b0c65d0aec9dbe854f05d169b9cf81c 100644 (file)
--- a/src/log.c
+++ b/src/log.c
@@ -86,7 +86,7 @@ static const struct message_entry msgtab[] = {
     { "MSG_INVALID_FACILITY", "$b%s$b is an invalid log facility." },
     { "MSG_INVALID_SEVERITY", "$b%s$b is an invalid severity level." },
 
-    { "LAST_RESULTS",     "$b%s$b] %s %s $b%s$b %s" },
+    { "LAST_RESULTS",     "$b%s]$b %s %s $b%s$b %s" },
     { "LAST_ERROR",       "%s:%s" },
     { "LAST_COMMAND_LOG", "Channel Events for %s" },
     { "LAST_LINE",        "----------------------------------------" },
@@ -237,7 +237,7 @@ log_type_free(void *ptr)
 }
 
 static void
-cleanup_logs(void)
+cleanup_logs(UNUSED_ARG(void *extra))
 {
 
     close_logs();
@@ -984,9 +984,9 @@ ldIrc_audit(struct logDestination *dest_, UNUSED_ARG(struct log_type *type), str
     struct logDest_irc *dest = (struct logDest_irc*)dest_;
 
     if (entry->channel_name) {
-        send_target_message(4, dest->target, entry->bot, "(%s", strchr(strchr(entry->default_desc, ' '), ':')+1);
+        send_target_message(5, dest->target, entry->bot, "(%s", strchr(strchr(entry->default_desc, ' '), ':')+1);
     } else {
-        send_target_message(4, dest->target, entry->bot, "%s", strchr(entry->default_desc, ')')+2);
+        send_target_message(5, dest->target, entry->bot, "%s", strchr(entry->default_desc, ')')+2);
     }
 }
 
@@ -995,7 +995,7 @@ ldIrc_module(struct logDestination *dest_, struct log_type *type, enum log_sever
     struct logDest_irc *dest = (struct logDest_irc*)dest_;
     extern struct userNode *opserv;
 
-    send_target_message(4, dest->target, opserv, "%s %s: %s\n", type->name, log_severity_names[sev], message);
+    send_target_message(5, dest->target, opserv, "%s %s: %s\n", type->name, log_severity_names[sev], message);
 }
 
 static struct logDest_vtable ldIrc_vtbl = {
@@ -1021,7 +1021,7 @@ log_init(void)
     dict_insert(log_dest_types, ldIrc_vtbl.type_name, &ldIrc_vtbl);
     conf_register_reload(log_conf_read);
     log_default = log_register_type("*", NULL);
-    reg_exit_func(cleanup_logs);
+    reg_exit_func(cleanup_logs, NULL);
     message_register_table(msgtab);
     log_inited = 1;
 }
@@ -1063,8 +1063,12 @@ int parselog(char *LogLine, struct userNode *user, struct chanNode *cptr, char *
    char   serv[NICKLEN+1];
    char   buf[MAXLEN];
    char   myservc[MAXLEN];
+   char   mynuhbuf[MAXLEN];
    char*  mychan;
    char*  mynuh;
+   char*  mynick;
+   char*  myacc;
+   char*  mynuhtemp;
    char* mycommand;
    char*  myrest;
    char*  datestr;
@@ -1077,7 +1081,16 @@ int parselog(char *LogLine, struct userNode *user, struct chanNode *cptr, char *
 
    datestr =   (char *) mysep(&LogLine, "]");
    mywho =     (char *) mysep(&LogLine, " ");
-   mynuh =     (char *) mysep(&LogLine, " ");
+   if (user->handle_info && ((user->handle_info->opserv_level > 0) || IsOper(user)))
+      mynuh =   (char *) mysep(&LogLine, " ");
+   else {
+      mynick =    (char *) mysep(&LogLine, "!");
+      mynuhtemp = (char *) mysep(&LogLine, "@");
+      mynuhtemp = (char *) mysep(&LogLine, ":");
+      myacc =     (char *) mysep(&LogLine, " ");
+      sprintf(mynuhbuf, "%s:%s", mynick, myacc);
+      mynuh = mynuhbuf;
+   }
    mycommand = (char *) mysep(&LogLine, " ");
    myrest =    (char *) mysep(&LogLine, "\0");
    myserva =   (char *) mysep(&mywho, ":");