#include "portab.h"
-static char UNUSED id[] = "$Id: parse.c,v 1.70 2008/01/13 16:12:49 fw Exp $";
+static char UNUSED id[] = "$Id: parse.c,v 1.72 2008/02/17 13:26:42 alex Exp $";
/**
* @file
{ "DISCONNECT", IRC_DISCONNECT, CLIENT_USER, 0, 0, 0 },
{ "ERROR", IRC_ERROR, 0xFFFF, 0, 0, 0 },
{ "HELP", IRC_HELP, CLIENT_USER, 0, 0, 0 },
+ { "INFO", IRC_INFO, CLIENT_USER|CLIENT_SERVER, 0, 0, 0 },
{ "INVITE", IRC_INVITE, CLIENT_USER|CLIENT_SERVER, 0, 0, 0 },
{ "ISON", IRC_ISON, CLIENT_USER, 0, 0, 0 },
{ "JOIN", IRC_JOIN, CLIENT_USER|CLIENT_SERVER, 0, 0, 0 },
{ "SERVER", IRC_SERVER, 0xFFFF, 0, 0, 0 },
{ "SQUIT", IRC_SQUIT, CLIENT_SERVER, 0, 0, 0 },
{ "STATS", IRC_STATS, CLIENT_USER|CLIENT_SERVER, 0, 0, 0 },
+ { "SUMMON", IRC_SUMMON, CLIENT_USER|CLIENT_SERVER, 0, 0, 0 },
{ "TIME", IRC_TIME, CLIENT_USER|CLIENT_SERVER, 0, 0, 0 },
{ "TOPIC", IRC_TOPIC, CLIENT_USER|CLIENT_SERVER, 0, 0, 0 },
{ "TRACE", IRC_TRACE, CLIENT_USER|CLIENT_SERVER, 0, 0, 0 },
{ "USER", IRC_USER, 0xFFFF, 0, 0, 0 },
{ "USERHOST", IRC_USERHOST, CLIENT_USER, 0, 0, 0 },
+ { "USERS", IRC_USERS, CLIENT_USER|CLIENT_SERVER, 0, 0, 0 },
{ "VERSION", IRC_VERSION, CLIENT_USER|CLIENT_SERVER, 0, 0, 0 },
{ "WALLOPS", IRC_WALLOPS, CLIENT_USER|CLIENT_SERVER, 0, 0, 0 },
{ "WHO", IRC_WHO, CLIENT_USER, 0, 0, 0 },
* wird die Verbindung geschlossen und false geliefert. */
CLIENT *client;
bool result = true;
+ int client_type;
COMMAND *cmd;
assert( Idx >= 0 );
assert( client != NULL );
/* Numeric? */
- if ((Client_Type(client) == CLIENT_SERVER ||
- Client_Type(client) == CLIENT_UNKNOWNSERVER)
+ client_type = Client_Type(client);
+ if ((client_type == CLIENT_SERVER ||
+ client_type == CLIENT_UNKNOWNSERVER)
&& strlen(Req->command) == 3 && atoi(Req->command) > 1)
return Handle_Numeric(client, Req);
continue;
}
- if (!(Client_Type(client) & cmd->type))
+ if (!(client_type & cmd->type))
return IRC_WriteStrClient(client, ERR_NOTREGISTERED_MSG, Client_ID(client));
/* Command is allowed for this client: call it and count produced bytes */
cmd->bytes += Conn_WCounter();
/* Adjust counters */
- if (Client_Type(client) != CLIENT_SERVER)
+ if (client_type != CLIENT_SERVER)
cmd->lcount++;
else
cmd->rcount++;
return result;
}
- if (Client_Type( client ) != CLIENT_USER &&
- Client_Type( client ) != CLIENT_SERVER &&
- Client_Type( client ) != CLIENT_SERVICE )
+ if (client_type != CLIENT_USER &&
+ client_type != CLIENT_SERVER &&
+ client_type != CLIENT_SERVICE )
return true;
/* Unknown command and registered connection: generate error: */