]> jfr.im git - solanum.git/blobdiff - modules/m_trace.c
Fix various printf arg types.
[solanum.git] / modules / m_trace.c
index e173d21168903180419837b109c4482e50325f81..f8f6621cb7d5151a4d96bee6f96370c9aaf569d9 100644 (file)
@@ -63,9 +63,10 @@ DECLARE_MODULE_AV1(trace, NULL, NULL, trace_clist, trace_hlist, NULL, "$Revision
 static void count_downlinks(struct Client *server_p, int *pservcount, int *pusercount);
 static int report_this_status(struct Client *source_p, struct Client *target_p);
 
+static const char *empty_sockhost = "255.255.255.255";
+
 /*
  * m_trace
- *      parv[0] = sender prefix
  *      parv[1] = servername
  */
 static int
@@ -110,7 +111,7 @@ m_trace(struct Client *client_p, struct Client *source_p, int parc, const char *
 
                        if(ac2ptr == NULL)
                        {
-                               RB_DLINK_FOREACH(ptr, global_client_list.head)
+                               RB_DLINK_FOREACH(ptr, global_serv_list.head)
                                {
                                        ac2ptr = ptr->data;
 
@@ -373,31 +374,23 @@ report_this_status(struct Client *source_p, struct Client *target_p)
                sendto_one_numeric(source_p, RPL_TRACEUNKNOWN,
                                   form_str(RPL_TRACEUNKNOWN),
                                   class_name, name, ip,
-                                  rb_current_time() - target_p->localClient->firsttime);
+                                  (unsigned long)(rb_current_time() - target_p->localClient->firsttime));
                cnt++;
                break;
 
        case STAT_CLIENT:
-                /* Only opers see users if there is a wildcard
-                 * but anyone can see all the opers.
-                 */
-                if((IsOper(source_p) &&
-                    (MyClient(source_p) || !(dow && IsInvisible(target_p))))
-                   || !dow || IsOper(target_p) || (source_p == target_p))
-                {
-                        int tnumeric = RPL_TRACEUSER;
-                        if(IsOper(target_p))
-                                tnumeric = RPL_TRACEOPERATOR;
-                        
-                        sendto_one_numeric(source_p, tnumeric, form_str(tnumeric),
-                                        class_name, name,
-                                        show_ip(source_p, target_p) ? ip : empty_sockhost,
-                                        rb_current_time() - target_p->localClient->lasttime,
-                                        rb_current_time() - target_p->localClient->last);
-                        cnt++;
-                }
-                break;
+               {
+                       sendto_one_numeric(source_p,
+                                       IsOper(target_p) ? RPL_TRACEOPERATOR : RPL_TRACEUSER,
+                                       IsOper(target_p) ? form_str(RPL_TRACEOPERATOR) : form_str(RPL_TRACEUSER),
+                                       class_name, name,
+                                       show_ip(source_p, target_p) ? ip : empty_sockhost,
+                                       (unsigned long)(rb_current_time() - target_p->localClient->lasttime),
+                                       (unsigned long)(rb_current_time() - target_p->localClient->last));
 
+                       cnt++;
+               }
+               break;
 
        case STAT_SERVER:
                {
@@ -409,7 +402,8 @@ report_this_status(struct Client *source_p, struct Client *target_p)
                        sendto_one_numeric(source_p, RPL_TRACESERVER, form_str(RPL_TRACESERVER),
                                   class_name, servcount, usercount, name,
                                   *(target_p->serv->by) ? target_p->serv->by : "*", "*",
-                                  me.name, rb_current_time() - target_p->localClient->lasttime);
+                                  me.name,
+                                  (unsigned long)(rb_current_time() - target_p->localClient->lasttime));
                        cnt++;
 
                }
@@ -417,8 +411,7 @@ report_this_status(struct Client *source_p, struct Client *target_p)
 
        default:                /* ...we actually shouldn't come here... --msa */
                sendto_one_numeric(source_p, RPL_TRACENEWTYPE, 
-                                  form_str(RPL_TRACENEWTYPE), 
-                                  me.name, source_p->name, name);
+                                  form_str(RPL_TRACENEWTYPE), name);
                cnt++;
                break;
        }