Introduce get_dcc_type(), remove open-coded variants
This commit is contained in:
35
source/dcc.c
35
source/dcc.c
@@ -277,6 +277,24 @@ int done = 0;
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* get_dcc_type()
|
||||||
|
*
|
||||||
|
* Look up the given DCC name and return the corresponding DCC type, or -1 if the
|
||||||
|
* name is not found.
|
||||||
|
*/
|
||||||
|
static int get_dcc_type(const char *name)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for (i = 0; dcc_types[i]->name; i++)
|
||||||
|
{
|
||||||
|
if (!my_stricmp(name, dcc_types[i]->name))
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
void send_ctcp_booster(char *nick, char *type, char *file, unsigned long address, unsigned short portnum, unsigned long filesize)
|
void send_ctcp_booster(char *nick, char *type, char *file, unsigned long address, unsigned short portnum, unsigned long filesize)
|
||||||
{
|
{
|
||||||
if (filesize)
|
if (filesize)
|
||||||
@@ -1489,15 +1507,9 @@ static void dcc_resend_offer(const struct dcc_offer *offer, int server)
|
|||||||
|
|
||||||
static int check_dcc_init(const struct dcc_offer *offer)
|
static int check_dcc_init(const struct dcc_offer *offer)
|
||||||
{
|
{
|
||||||
int i;
|
int i = get_dcc_type(offer->type);
|
||||||
|
|
||||||
for (i = 0; dcc_types[i]->name; i++)
|
if (i >= 0 && dcc_types[i]->dcc_ops->init)
|
||||||
{
|
|
||||||
if (!my_stricmp(offer->type, dcc_types[i]->name))
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (dcc_types[i]->name && dcc_types[i]->dcc_ops->init)
|
|
||||||
{
|
{
|
||||||
unsigned long filesize;
|
unsigned long filesize;
|
||||||
unsigned long address;
|
unsigned long address;
|
||||||
@@ -3396,10 +3408,9 @@ int num = -1;
|
|||||||
}
|
}
|
||||||
if (!any_type)
|
if (!any_type)
|
||||||
{
|
{
|
||||||
for (i = 0; dcc_types[i]->name; i++)
|
i = get_dcc_type(type);
|
||||||
if (!my_stricmp(dcc_types[i]->name, type))
|
|
||||||
break;
|
if (i < 0)
|
||||||
if (!dcc_types[i]->name)
|
|
||||||
{
|
{
|
||||||
bitchsay("Unknown dcc type for close");
|
bitchsay("Unknown dcc type for close");
|
||||||
return;
|
return;
|
||||||
|
|||||||
Reference in New Issue
Block a user