mirror of
https://github.com/unrealircd/unrealircd.git
synced 2026-06-30 17:06:38 +02:00
ModData: moddata_localvar -> moddata_local_variable,
moddata_globalvar -> moddata_global_variable, and the just-added moddata_localclient -> moddata_local_client ..all this so it's more consistent
This commit is contained in:
+3
-3
@@ -236,12 +236,12 @@
|
||||
* UnrealIRCd 5.0.0 : 12, 8, 8, 4, 4, 500, 500
|
||||
*/
|
||||
#define MODDATA_MAX_CLIENT 12
|
||||
#define MODDATA_MAX_LOCALCLIENT 8
|
||||
#define MODDATA_MAX_LOCAL_CLIENT 8
|
||||
#define MODDATA_MAX_CHANNEL 8
|
||||
#define MODDATA_MAX_MEMBER 4
|
||||
#define MODDATA_MAX_MEMBERSHIP 4
|
||||
#define MODDATA_MAX_LOCALVAR 500
|
||||
#define MODDATA_MAX_GLOBALVAR 500
|
||||
#define MODDATA_MAX_LOCAL_VARIABLE 500
|
||||
#define MODDATA_MAX_GLOBAL_VARIABLE 500
|
||||
|
||||
/* If EXPERIMENTAL is #define'd then all users will receive a notice about
|
||||
* this when they connect, along with a pointer to bugs.unrealircd.org where
|
||||
|
||||
+2
-2
@@ -38,8 +38,8 @@ extern MODVAR Member *freemember;
|
||||
extern MODVAR Membership *freemembership;
|
||||
extern MODVAR Client me;
|
||||
extern MODVAR Channel *channel;
|
||||
extern MODVAR ModData localvar_moddata[MODDATA_MAX_LOCALVAR];
|
||||
extern MODVAR ModData globalvar_moddata[MODDATA_MAX_GLOBALVAR];
|
||||
extern MODVAR ModData local_variable_moddata[MODDATA_MAX_LOCAL_VARIABLE];
|
||||
extern MODVAR ModData global_variable_moddata[MODDATA_MAX_GLOBAL_VARIABLE];
|
||||
extern MODVAR struct stats *ircstp;
|
||||
extern MODVAR int bootopt;
|
||||
extern MODVAR time_t timeofday;
|
||||
|
||||
+18
-18
@@ -129,13 +129,13 @@ typedef struct {
|
||||
} Snomask;
|
||||
|
||||
typedef enum ModDataType {
|
||||
MODDATATYPE_LOCALVAR = 1,
|
||||
MODDATATYPE_GLOBALVAR = 2,
|
||||
MODDATATYPE_CLIENT = 3,
|
||||
MODDATATYPE_LOCALCLIENT = 4,
|
||||
MODDATATYPE_CHANNEL = 5,
|
||||
MODDATATYPE_MEMBER = 6,
|
||||
MODDATATYPE_MEMBERSHIP = 7,
|
||||
MODDATATYPE_LOCAL_VARIABLE = 1,
|
||||
MODDATATYPE_GLOBAL_VARIABLE = 2,
|
||||
MODDATATYPE_CLIENT = 3,
|
||||
MODDATATYPE_LOCAL_CLIENT = 4,
|
||||
MODDATATYPE_CHANNEL = 5,
|
||||
MODDATATYPE_MEMBER = 6,
|
||||
MODDATATYPE_MEMBERSHIP = 7,
|
||||
} ModDataType;
|
||||
|
||||
typedef struct ModDataInfo ModDataInfo;
|
||||
@@ -154,16 +154,16 @@ struct ModDataInfo {
|
||||
};
|
||||
|
||||
#define moddata_client(acptr, md) acptr->moddata[md->slot]
|
||||
#define moddata_localclient(acptr, md) acptr->local->moddata[md->slot]
|
||||
#define moddata_local_client(acptr, md) acptr->local->moddata[md->slot]
|
||||
#define moddata_channel(chptr, md) chptr->moddata[md->slot]
|
||||
#define moddata_member(m, md) m->moddata[md->slot]
|
||||
#define moddata_membership(m, md) m->moddata[md->slot]
|
||||
#define moddata_localvar(md) localvar_moddata[md->slot]
|
||||
#define moddata_globalvar(md) globalvar_moddata[md->slot]
|
||||
#define moddata_local_variable(md) local_variable_moddata[md->slot]
|
||||
#define moddata_global_variable(md) global_variable_moddata[md->slot]
|
||||
|
||||
#define EXCHK_ACCESS 0 /* Check access */
|
||||
#define EXCHK_ACCESS_ERR 1 /* Check access and send error if needed */
|
||||
#define EXCHK_PARAM 2 /* Check parameter and send error if needed */
|
||||
#define EXCHK_PARAM 2 /* Check parameter and send error if needed */
|
||||
|
||||
/* Can bypass message restriction - Types */
|
||||
typedef enum BypassChannelMessageRestrictionType {
|
||||
@@ -174,14 +174,14 @@ typedef enum BypassChannelMessageRestrictionType {
|
||||
BYPASS_CHANMSG_NOTICE = 5,
|
||||
} BypassChannelMessageRestrictionType;
|
||||
|
||||
#define EXSJ_SAME 0 /* Parameters are the same */
|
||||
#define EXSJ_WEWON 1 /* We won! w00t */
|
||||
#define EXSJ_SAME 0 /* Parameters are the same */
|
||||
#define EXSJ_WEWON 1 /* We won! w00t */
|
||||
#define EXSJ_THEYWON 2 /* They won :( */
|
||||
#define EXSJ_MERGE 3 /* Merging of modes.. neither won nor lost (merged params are in 'our' on return) */
|
||||
|
||||
/* return values for EXCHK_ACCESS*: */
|
||||
#define EX_DENY 0 /* Disallowed, except in case of operoverride */
|
||||
#define EX_ALLOW 1 /* Allowed */
|
||||
#define EX_DENY 0 /* Disallowed, except in case of operoverride */
|
||||
#define EX_ALLOW 1 /* Allowed */
|
||||
#define EX_ALWAYS_DENY -1 /* Disallowed, even in case of operoverride
|
||||
* (eg: for operlevel modes like +A)
|
||||
*/
|
||||
@@ -804,15 +804,15 @@ extern void CommandOverrideDel(CommandOverride *ovr);
|
||||
extern int CallCommandOverride(CommandOverride *ovr, Client *cptr, Client *sptr, MessageTag *mtags, int parc, char *parv[]);
|
||||
|
||||
extern void moddata_free_client(Client *acptr);
|
||||
extern void moddata_free_localclient(Client *acptr);
|
||||
extern void moddata_free_local_client(Client *acptr);
|
||||
extern void moddata_free_channel(Channel *chptr);
|
||||
extern void moddata_free_member(Member *m);
|
||||
extern void moddata_free_membership(Membership *m);
|
||||
extern ModDataInfo *findmoddata_byname(char *name, ModDataType type);
|
||||
extern int moddata_client_set(Client *acptr, char *varname, char *value);
|
||||
extern char *moddata_client_get(Client *acptr, char *varname);
|
||||
extern int moddata_localclient_set(Client *acptr, char *varname, char *value);
|
||||
extern char *moddata_localclient_get(Client *acptr, char *varname);
|
||||
extern int moddata_local_client_set(Client *acptr, char *varname, char *value);
|
||||
extern char *moddata_local_client_get(Client *acptr, char *varname);
|
||||
|
||||
extern int LoadPersistentPointerX(ModuleInfo *modinfo, char *varshortname, void **var, void (*free_variable)(ModData *m));
|
||||
#define LoadPersistentPointer(modinfo, var, free_variable) LoadPersistentPointerX(modinfo, #var, (void **)&var, free_variable)
|
||||
|
||||
+1
-1
@@ -979,7 +979,7 @@ struct LocalClient {
|
||||
char *sni_servername; /**< Servername as sent by client via SNI (Server Name Indication) in SSL/TLS, otherwise NULL */
|
||||
int cap_protocol; /**< CAP protocol in use. At least 300 for any CAP capable client. 302 for 3.2, etc.. */
|
||||
int identbufcnt; /**< Counter for 'ident' reading code */
|
||||
ModData moddata[MODDATA_MAX_LOCALCLIENT]; /**< LocalClient attached module data, used by the ModData system */
|
||||
ModData moddata[MODDATA_MAX_LOCAL_CLIENT]; /**< LocalClient attached module data, used by the ModData system */
|
||||
};
|
||||
|
||||
/** User information (persons, not servers), you use sptr->user to access these (see also @link Client @endlink).
|
||||
|
||||
+41
-41
@@ -24,8 +24,8 @@
|
||||
|
||||
MODVAR ModDataInfo *MDInfo = NULL;
|
||||
|
||||
MODVAR ModData localvar_moddata[MODDATA_MAX_LOCALVAR];
|
||||
MODVAR ModData globalvar_moddata[MODDATA_MAX_GLOBALVAR];
|
||||
MODVAR ModData local_variable_moddata[MODDATA_MAX_LOCAL_VARIABLE];
|
||||
MODVAR ModData global_variable_moddata[MODDATA_MAX_GLOBAL_VARIABLE];
|
||||
|
||||
ModDataInfo *ModDataAdd(Module *module, ModDataInfo req)
|
||||
{
|
||||
@@ -57,10 +57,10 @@ ModDataInfo *ModDataAdd(Module *module, ModDataInfo req)
|
||||
}
|
||||
|
||||
/* Now check if we are within bounds (if we really have a free slot available) */
|
||||
if (((req.type == MODDATATYPE_LOCALVAR) && (slotav >= MODDATA_MAX_LOCALVAR)) ||
|
||||
((req.type == MODDATATYPE_GLOBALVAR) && (slotav >= MODDATA_MAX_GLOBALVAR)) ||
|
||||
if (((req.type == MODDATATYPE_LOCAL_VARIABLE) && (slotav >= MODDATA_MAX_LOCAL_VARIABLE)) ||
|
||||
((req.type == MODDATATYPE_GLOBAL_VARIABLE) && (slotav >= MODDATA_MAX_GLOBAL_VARIABLE)) ||
|
||||
((req.type == MODDATATYPE_CLIENT) && (slotav >= MODDATA_MAX_CLIENT)) ||
|
||||
((req.type == MODDATATYPE_LOCALCLIENT) && (slotav >= MODDATA_MAX_LOCALCLIENT)) ||
|
||||
((req.type == MODDATATYPE_LOCAL_CLIENT) && (slotav >= MODDATA_MAX_LOCAL_CLIENT)) ||
|
||||
((req.type == MODDATATYPE_CHANNEL) && (slotav >= MODDATA_MAX_CHANNEL)) ||
|
||||
((req.type == MODDATATYPE_MEMBER) && (slotav >= MODDATA_MAX_MEMBER)) ||
|
||||
((req.type == MODDATATYPE_MEMBERSHIP) && (slotav >= MODDATA_MAX_MEMBERSHIP)))
|
||||
@@ -111,15 +111,15 @@ void moddata_free_client(Client *acptr)
|
||||
memset(acptr->moddata, 0, sizeof(acptr->moddata));
|
||||
}
|
||||
|
||||
void moddata_free_localclient(Client *acptr)
|
||||
void moddata_free_local_client(Client *acptr)
|
||||
{
|
||||
ModDataInfo *md;
|
||||
|
||||
for (md = MDInfo; md; md = md->next)
|
||||
if (md->type == MODDATATYPE_LOCALCLIENT)
|
||||
if (md->type == MODDATATYPE_LOCAL_CLIENT)
|
||||
{
|
||||
if (md->free && moddata_localclient(acptr, md).ptr)
|
||||
md->free(&moddata_localclient(acptr, md));
|
||||
if (md->free && moddata_local_client(acptr, md).ptr)
|
||||
md->free(&moddata_local_client(acptr, md));
|
||||
}
|
||||
|
||||
memset(acptr->moddata, 0, sizeof(acptr->moddata));
|
||||
@@ -173,15 +173,15 @@ void unload_moddata_commit(ModDataInfo *md)
|
||||
{
|
||||
switch(md->type)
|
||||
{
|
||||
case MODDATATYPE_LOCALVAR:
|
||||
if (md->free && moddata_localvar(md).ptr)
|
||||
md->free(&moddata_localvar(md));
|
||||
memset(&moddata_localvar(md), 0, sizeof(ModData));
|
||||
case MODDATATYPE_LOCAL_VARIABLE:
|
||||
if (md->free && moddata_local_variable(md).ptr)
|
||||
md->free(&moddata_local_variable(md));
|
||||
memset(&moddata_local_variable(md), 0, sizeof(ModData));
|
||||
break;
|
||||
case MODDATATYPE_GLOBALVAR:
|
||||
if (md->free && moddata_globalvar(md).ptr)
|
||||
md->free(&moddata_globalvar(md));
|
||||
memset(&moddata_globalvar(md), 0, sizeof(ModData));
|
||||
case MODDATATYPE_GLOBAL_VARIABLE:
|
||||
if (md->free && moddata_global_variable(md).ptr)
|
||||
md->free(&moddata_global_variable(md));
|
||||
memset(&moddata_global_variable(md), 0, sizeof(ModData));
|
||||
break;
|
||||
case MODDATATYPE_CLIENT:
|
||||
{
|
||||
@@ -194,14 +194,14 @@ void unload_moddata_commit(ModDataInfo *md)
|
||||
}
|
||||
break;
|
||||
}
|
||||
case MODDATATYPE_LOCALCLIENT:
|
||||
case MODDATATYPE_LOCAL_CLIENT:
|
||||
{
|
||||
Client *acptr;
|
||||
list_for_each_entry(acptr, &lclient_list, lclient_node)
|
||||
{
|
||||
if (md->free && moddata_localclient(acptr, md).ptr)
|
||||
md->free(&moddata_localclient(acptr, md));
|
||||
memset(&moddata_localclient(acptr, md), 0, sizeof(ModData));
|
||||
if (md->free && moddata_local_client(acptr, md).ptr)
|
||||
md->free(&moddata_local_client(acptr, md));
|
||||
memset(&moddata_local_client(acptr, md), 0, sizeof(ModData));
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -358,14 +358,14 @@ char *moddata_client_get(Client *acptr, char *varname)
|
||||
}
|
||||
|
||||
/** Set ModData for LocalClient (via variable name, string value) */
|
||||
int moddata_localclient_set(Client *acptr, char *varname, char *value)
|
||||
int moddata_local_client_set(Client *acptr, char *varname, char *value)
|
||||
{
|
||||
ModDataInfo *md;
|
||||
|
||||
if (!MyConnect(acptr))
|
||||
abort();
|
||||
|
||||
md = findmoddata_byname(varname, MODDATATYPE_LOCALCLIENT);
|
||||
md = findmoddata_byname(varname, MODDATATYPE_LOCAL_CLIENT);
|
||||
|
||||
if (!md)
|
||||
return 0;
|
||||
@@ -373,13 +373,13 @@ int moddata_localclient_set(Client *acptr, char *varname, char *value)
|
||||
if (value)
|
||||
{
|
||||
/* SET */
|
||||
md->unserialize(value, &moddata_localclient(acptr, md));
|
||||
md->unserialize(value, &moddata_local_client(acptr, md));
|
||||
}
|
||||
else
|
||||
{
|
||||
/* UNSET */
|
||||
md->free(&moddata_localclient(acptr, md));
|
||||
memset(&moddata_localclient(acptr, md), 0, sizeof(ModData));
|
||||
md->free(&moddata_local_client(acptr, md));
|
||||
memset(&moddata_local_client(acptr, md), 0, sizeof(ModData));
|
||||
}
|
||||
|
||||
/* If 'sync' field is set and the client is not in pre-registered
|
||||
@@ -392,27 +392,27 @@ int moddata_localclient_set(Client *acptr, char *varname, char *value)
|
||||
}
|
||||
|
||||
/** Get ModData for LocalClient (via variable name) */
|
||||
char *moddata_localclient_get(Client *acptr, char *varname)
|
||||
char *moddata_local_client_get(Client *acptr, char *varname)
|
||||
{
|
||||
ModDataInfo *md;
|
||||
|
||||
if (!MyConnect(acptr))
|
||||
abort();
|
||||
|
||||
md = findmoddata_byname(varname, MODDATATYPE_LOCALCLIENT);
|
||||
md = findmoddata_byname(varname, MODDATATYPE_LOCAL_CLIENT);
|
||||
|
||||
if (!md)
|
||||
return NULL;
|
||||
|
||||
return md->serialize(&moddata_localclient(acptr, md)); /* can be NULL */
|
||||
return md->serialize(&moddata_local_client(acptr, md)); /* can be NULL */
|
||||
}
|
||||
|
||||
/** Set localvar or globalvar moddata (via variable name, string value) */
|
||||
int moddata_localvar_set(char *varname, char *value)
|
||||
/** Set local variable moddata (via variable name, string value) */
|
||||
int moddata_local_variable_set(char *varname, char *value)
|
||||
{
|
||||
ModDataInfo *md;
|
||||
|
||||
md = findmoddata_byname(varname, MODDATATYPE_LOCALVAR);
|
||||
md = findmoddata_byname(varname, MODDATATYPE_LOCAL_VARIABLE);
|
||||
|
||||
if (!md)
|
||||
return 0;
|
||||
@@ -420,24 +420,24 @@ int moddata_localvar_set(char *varname, char *value)
|
||||
if (value)
|
||||
{
|
||||
/* SET */
|
||||
md->unserialize(value, &moddata_localvar(md));
|
||||
md->unserialize(value, &moddata_local_variable(md));
|
||||
}
|
||||
else
|
||||
{
|
||||
/* UNSET */
|
||||
md->free(&moddata_localvar(md));
|
||||
memset(&moddata_localvar(md), 0, sizeof(ModData));
|
||||
md->free(&moddata_local_variable(md));
|
||||
memset(&moddata_local_variable(md), 0, sizeof(ModData));
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/** Set globalvar or globalvar moddata (via variable name, string value) */
|
||||
int moddata_globalvar_set(char *varname, char *value)
|
||||
/** Set global variable moddata (via variable name, string value) */
|
||||
int moddata_global_variable_set(char *varname, char *value)
|
||||
{
|
||||
ModDataInfo *md;
|
||||
|
||||
md = findmoddata_byname(varname, MODDATATYPE_GLOBALVAR);
|
||||
md = findmoddata_byname(varname, MODDATATYPE_GLOBAL_VARIABLE);
|
||||
|
||||
if (!md)
|
||||
return 0;
|
||||
@@ -445,13 +445,13 @@ int moddata_globalvar_set(char *varname, char *value)
|
||||
if (value)
|
||||
{
|
||||
/* SET */
|
||||
md->unserialize(value, &moddata_globalvar(md));
|
||||
md->unserialize(value, &moddata_global_variable(md));
|
||||
}
|
||||
else
|
||||
{
|
||||
/* UNSET */
|
||||
md->free(&moddata_globalvar(md));
|
||||
memset(&moddata_globalvar(md), 0, sizeof(ModData));
|
||||
md->free(&moddata_global_variable(md));
|
||||
memset(&moddata_global_variable(md), 0, sizeof(ModData));
|
||||
}
|
||||
|
||||
if (md->sync)
|
||||
|
||||
+1
-1
@@ -496,7 +496,7 @@ static void exit_one_client(Client *sptr, MessageTag *mtags_i, const char *comme
|
||||
/* Free module related data for this client */
|
||||
moddata_free_client(sptr);
|
||||
if (MyConnect(sptr))
|
||||
moddata_free_localclient(sptr);
|
||||
moddata_free_local_client(sptr);
|
||||
|
||||
/* Remove sptr from the client list */
|
||||
if (*sptr->id)
|
||||
|
||||
+18
-18
@@ -1332,19 +1332,19 @@ int LoadPersistentPointerX(ModuleInfo *modinfo, char *varshortname, void **var,
|
||||
ModDataInfo *m;
|
||||
char *fullname = mod_var_name(modinfo, varshortname);
|
||||
|
||||
m = findmoddata_byname(fullname, MODDATATYPE_LOCALVAR);
|
||||
m = findmoddata_byname(fullname, MODDATATYPE_LOCAL_VARIABLE);
|
||||
if (m)
|
||||
{
|
||||
*var = moddata_localvar(m).ptr;
|
||||
*var = moddata_local_variable(m).ptr;
|
||||
return 1;
|
||||
} else {
|
||||
ModDataInfo mreq;
|
||||
memset(&mreq, 0, sizeof(mreq));
|
||||
mreq.type = MODDATATYPE_LOCALVAR;
|
||||
mreq.type = MODDATATYPE_LOCAL_VARIABLE;
|
||||
mreq.name = fullname;
|
||||
mreq.free = free_variable;
|
||||
m = ModDataAdd(modinfo->handle, mreq);
|
||||
moddata_localvar(m).ptr = NULL;
|
||||
moddata_local_variable(m).ptr = NULL;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@@ -1354,8 +1354,8 @@ void SavePersistentPointerX(ModuleInfo *modinfo, char *varshortname, void *var)
|
||||
ModDataInfo *m;
|
||||
char *fullname = mod_var_name(modinfo, varshortname);
|
||||
|
||||
m = findmoddata_byname(fullname, MODDATATYPE_LOCALVAR);
|
||||
moddata_localvar(m).ptr = var;
|
||||
m = findmoddata_byname(fullname, MODDATATYPE_LOCAL_VARIABLE);
|
||||
moddata_local_variable(m).ptr = var;
|
||||
}
|
||||
|
||||
int LoadPersistentIntX(ModuleInfo *modinfo, char *varshortname, int *var)
|
||||
@@ -1363,19 +1363,19 @@ int LoadPersistentIntX(ModuleInfo *modinfo, char *varshortname, int *var)
|
||||
ModDataInfo *m;
|
||||
char *fullname = mod_var_name(modinfo, varshortname);
|
||||
|
||||
m = findmoddata_byname(fullname, MODDATATYPE_LOCALVAR);
|
||||
m = findmoddata_byname(fullname, MODDATATYPE_LOCAL_VARIABLE);
|
||||
if (m)
|
||||
{
|
||||
*var = moddata_localvar(m).i;
|
||||
*var = moddata_local_variable(m).i;
|
||||
return 1;
|
||||
} else {
|
||||
ModDataInfo mreq;
|
||||
memset(&mreq, 0, sizeof(mreq));
|
||||
mreq.type = MODDATATYPE_LOCALVAR;
|
||||
mreq.type = MODDATATYPE_LOCAL_VARIABLE;
|
||||
mreq.name = fullname;
|
||||
mreq.free = NULL;
|
||||
m = ModDataAdd(modinfo->handle, mreq);
|
||||
moddata_localvar(m).i = 0;
|
||||
moddata_local_variable(m).i = 0;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@@ -1385,8 +1385,8 @@ void SavePersistentIntX(ModuleInfo *modinfo, char *varshortname, int var)
|
||||
ModDataInfo *m;
|
||||
char *fullname = mod_var_name(modinfo, varshortname);
|
||||
|
||||
m = findmoddata_byname(fullname, MODDATATYPE_LOCALVAR);
|
||||
moddata_localvar(m).i = var;
|
||||
m = findmoddata_byname(fullname, MODDATATYPE_LOCAL_VARIABLE);
|
||||
moddata_local_variable(m).i = var;
|
||||
}
|
||||
|
||||
int LoadPersistentLongX(ModuleInfo *modinfo, char *varshortname, long *var)
|
||||
@@ -1394,19 +1394,19 @@ int LoadPersistentLongX(ModuleInfo *modinfo, char *varshortname, long *var)
|
||||
ModDataInfo *m;
|
||||
char *fullname = mod_var_name(modinfo, varshortname);
|
||||
|
||||
m = findmoddata_byname(fullname, MODDATATYPE_LOCALVAR);
|
||||
m = findmoddata_byname(fullname, MODDATATYPE_LOCAL_VARIABLE);
|
||||
if (m)
|
||||
{
|
||||
*var = moddata_localvar(m).l;
|
||||
*var = moddata_local_variable(m).l;
|
||||
return 1;
|
||||
} else {
|
||||
ModDataInfo mreq;
|
||||
memset(&mreq, 0, sizeof(mreq));
|
||||
mreq.type = MODDATATYPE_LOCALVAR;
|
||||
mreq.type = MODDATATYPE_LOCAL_VARIABLE;
|
||||
mreq.name = fullname;
|
||||
mreq.free = NULL;
|
||||
m = ModDataAdd(modinfo->handle, mreq);
|
||||
moddata_localvar(m).l = 0;
|
||||
moddata_local_variable(m).l = 0;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@@ -1416,8 +1416,8 @@ void SavePersistentLongX(ModuleInfo *modinfo, char *varshortname, long var)
|
||||
ModDataInfo *m;
|
||||
char *fullname = mod_var_name(modinfo, varshortname);
|
||||
|
||||
m = findmoddata_byname(fullname, MODDATATYPE_LOCALVAR);
|
||||
moddata_localvar(m).l = var;
|
||||
m = findmoddata_byname(fullname, MODDATATYPE_LOCAL_VARIABLE);
|
||||
moddata_local_variable(m).l = var;
|
||||
}
|
||||
|
||||
extern int module_has_moddata(Module *mod);
|
||||
|
||||
+4
-4
@@ -216,16 +216,16 @@ CMD_FUNC(cmd_md)
|
||||
if (!strcmp(type, "globalvar"))
|
||||
{
|
||||
/* objname is ignored */
|
||||
md = findmoddata_byname(varname, MODDATATYPE_GLOBALVAR);
|
||||
md = findmoddata_byname(varname, MODDATATYPE_GLOBAL_VARIABLE);
|
||||
if (!md || !md->unserialize)
|
||||
return 0;
|
||||
if (value)
|
||||
md->unserialize(value, &moddata_globalvar(md));
|
||||
md->unserialize(value, &moddata_global_variable(md));
|
||||
else
|
||||
{
|
||||
if (md->free)
|
||||
md->free(&moddata_globalvar(md));
|
||||
memset(&moddata_globalvar(md), 0, sizeof(ModData));
|
||||
md->free(&moddata_global_variable(md));
|
||||
memset(&moddata_global_variable(md), 0, sizeof(ModData));
|
||||
}
|
||||
/* Pass on to other servers */
|
||||
broadcast_md_globalvar_cmd(cptr, sptr, varname, value);
|
||||
|
||||
@@ -46,7 +46,7 @@ struct Silence
|
||||
ModDataInfo *silence_md = NULL;
|
||||
|
||||
/* Macros */
|
||||
#define SILENCELIST(x) ((Silence *)moddata_localclient(x, silence_md).ptr)
|
||||
#define SILENCELIST(x) ((Silence *)moddata_local_client(x, silence_md).ptr)
|
||||
|
||||
/* Forward declarations */
|
||||
int _is_silenced(Client *, Client *);
|
||||
@@ -71,7 +71,7 @@ MOD_INIT()
|
||||
|
||||
memset(&mreq, 0, sizeof(mreq));
|
||||
mreq.name = "silence";
|
||||
mreq.type = MODDATATYPE_LOCALCLIENT;
|
||||
mreq.type = MODDATATYPE_LOCAL_CLIENT;
|
||||
mreq.free = silence_md_free;
|
||||
silence_md = ModDataAdd(modinfo->handle, mreq);
|
||||
if (!silence_md)
|
||||
@@ -159,7 +159,7 @@ int _del_silence(Client *sptr, const char *mask)
|
||||
{
|
||||
if (mycmp(mask, s->mask) == 0)
|
||||
{
|
||||
DelListItemUnchecked(s, moddata_localclient(sptr, silence_md).ptr);
|
||||
DelListItemUnchecked(s, moddata_local_client(sptr, silence_md).ptr);
|
||||
safe_free(s);
|
||||
return 1;
|
||||
}
|
||||
@@ -199,7 +199,7 @@ int _add_silence(Client *sptr, const char *mask, int senderr)
|
||||
/* Add the new entry */
|
||||
s = safe_alloc(sizeof(Silence)+strlen(mask));
|
||||
strcpy(s->mask, mask); /* safe, allocated above */
|
||||
AddListItemUnchecked(s, moddata_localclient(sptr, silence_md).ptr);
|
||||
AddListItemUnchecked(s, moddata_local_client(sptr, silence_md).ptr);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user