From: Baptiste Daroussin Date: Tue, 7 Dec 2021 10:01:47 +0000 (+0100) Subject: Factorize lowercase code X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6a33ca1eb1af52fc1a4002b60979e151bc4a8986;p=thirdparty%2Fmlmmj.git Factorize lowercase code --- diff --git a/include/subscriberfuncs.h b/include/subscriberfuncs.h index 9e3d275d..fc63576c 100644 --- a/include/subscriberfuncs.h +++ b/include/subscriberfuncs.h @@ -1,6 +1,6 @@ -/* Copyright (C) 2003 Mads Martin Joergensen - * - * $Id$ +/* + * Copyright (C) 2003 Mads Martin Joergensen + * Copyright (C) 2021 Baptiste Daroussin * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to @@ -32,5 +32,6 @@ bool is_subbed_in(int fd, const char *address); enum subtype is_subbed(struct mlmmj_list *list, const char *address, int both); int open_subscriber_directory(struct mlmmj_list *list, enum subtype typesub, const char **subdir); void change_uid(struct mlmmj_list *list); +char *lowercase(const char *address); #endif /* SUBSCRIBERFUNC_H */ diff --git a/src/mlmmj-bounce.c b/src/mlmmj-bounce.c index aec2bfc1..1b7b2c17 100644 --- a/src/mlmmj-bounce.c +++ b/src/mlmmj-bounce.c @@ -175,10 +175,10 @@ static void print_help(const char *prg) int main(int argc, char **argv) { struct mlmmj_list list; - int opt, fd, dsnbounce = 0, i = 0; + int opt, fd, dsnbounce = 0; char *address = NULL, *number = NULL; char *bindir, *mlmmjsend, *savename; - char *mailname = NULL, *bfilename, *a, *buf, *lowcaseaddr; + char *mailname = NULL, *bfilename, *a, *buf; size_t len; time_t t; int probe = 0; @@ -266,13 +266,7 @@ int main(int argc, char **argv) } /* Make the address lowercase */ - lowcaseaddr = mystrdup(address); - i = 0; - while(lowcaseaddr[i]) { - lowcaseaddr[i] = tolower(lowcaseaddr[i]); - i++; - } - address = lowcaseaddr; + address = lowercase(address); if(number != NULL && probe != 0) { fprintf(stderr, "You can only specify one of -n or -p\n"); diff --git a/src/mlmmj-sub.c b/src/mlmmj-sub.c index 16be6019..bebd6e16 100644 --- a/src/mlmmj-sub.c +++ b/src/mlmmj-sub.c @@ -573,12 +573,12 @@ int main(int argc, char **argv) { struct mlmmj_list list; char *mlmmjsend, *mlmmjunsub, *bindir; - char *address = NULL, *lowcaseaddr, *modstr = NULL; + char *address = NULL, *modstr = NULL; const char *flag = NULL; int opt, subconfirm = 0, confirmsub = 0, notifysub; int changeuid = 1, status, digest = 0, nomail = 0, both = 0; int nogensubscribed = 0; - int force = 0, quiet = 0, i = 0; + int force = 0, quiet = 0; enum subtype subbed; pid_t pid, childpid = 0; enum subtype typesub = SUB_NORMAL; @@ -690,13 +690,7 @@ int main(int argc, char **argv) } /* Make the address lowercase */ - lowcaseaddr = mystrdup(address); - i = 0; - while(lowcaseaddr[i]) { - lowcaseaddr[i] = tolower(lowcaseaddr[i]); - i++; - } - address = lowcaseaddr; + address = lowercase(address); /* get the list address */ if(strncasecmp(list.addr, address, strlen(list.addr)) == 0) { diff --git a/src/mlmmj-unsub.c b/src/mlmmj-unsub.c index b0797276..e6e6a013 100644 --- a/src/mlmmj-unsub.c +++ b/src/mlmmj-unsub.c @@ -420,10 +420,9 @@ int main(int argc, char **argv) int normal = 0, digest = 0, nomail = 0, subbed; int confirmunsub = 0, unsubconfirm = 0, notifysub = 0; int changeuid = 1, quiet = 0; - int nogennotsubscribed = 0, i = 0; + int nogennotsubscribed = 0; char *address = NULL; struct mlmmj_list list; - char *lowcaseaddr; enum subtype typesub = SUB_ALL; enum subreason reasonsub = SUB_ADMIN; @@ -519,13 +518,7 @@ int main(int argc, char **argv) } /* Make the address lowercase */ - lowcaseaddr = mystrdup(address); - i = 0; - while(lowcaseaddr[i]) { - lowcaseaddr[i] = tolower(lowcaseaddr[i]); - i++; - } - address = lowcaseaddr; + address = lowercase(address); if(changeuid) change_uid(&list); diff --git a/src/subscriberfuncs.c b/src/subscriberfuncs.c index c539681e..8f2709ed 100644 --- a/src/subscriberfuncs.c +++ b/src/subscriberfuncs.c @@ -1,6 +1,6 @@ -/* Copyright (C) 2003 Mads Martin Joergensen - * - * $Id$ +/* + * Copyright (C) 2003 Mads Martin Joergensen + * Copyright (C) 2021 Baptiste Daroussin * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to @@ -222,3 +222,18 @@ change_uid(struct mlmmj_list *list) } } } + +char * +lowercase(const char *address) +{ + char *loweraddress; + int i = 0; + + loweraddress = mystrdup(address); + while (loweraddress[i] != '\0') { + loweraddress[i] = tolower(loweraddress[i]); + i++; + } + return (loweraddress); +} +