From b9a2089d59579d13694e08b299c2aaf44ef9df6c Mon Sep 17 00:00:00 2001 From: Art Cancro Date: Tue, 2 Mar 2021 19:43:56 -0500 Subject: [PATCH] remove_any_whitespace_to_the_left_or_right_of_at_symbol() is awesomized and no longer throws a compiler warning --- citadel/Makefile.in | 29 ++++++++++++++-------------- citadel/{utillib => }/citadel_dirs.c | 0 citadel/internet_addressing.c | 19 +++++++++--------- 3 files changed, 23 insertions(+), 25 deletions(-) rename citadel/{utillib => }/citadel_dirs.c (100%) diff --git a/citadel/Makefile.in b/citadel/Makefile.in index ce3229e06..c21e3dc6d 100644 --- a/citadel/Makefile.in +++ b/citadel/Makefile.in @@ -70,7 +70,7 @@ LOCALEDIR=@LOCALEDIR@ SOURCES=utils/citmail.c utils/setup.c utils/chkpw.c \ utils/sendcommand.c utils/ctdlmigrate.c utils/chkpwd.c \ - utillib/citadel_dirs.c \ + citadel_dirs.c \ citserver.c clientsocket.c config.c control.c $(DATABASE) \ domain.c serv_extensions.c genstamp.c \ housekeeping.c default_timezone.c internet_addressing.c \ @@ -93,7 +93,7 @@ mkdir-init: @for d in `/bin/ls $(VPATH)/user_modules/`; do \ (mkdir -p user_modules/$$d ) ; \ done - mkdir -p utils utillib + mkdir -p utils mkdir locale svn_revision.c: ${SOURCES} @@ -119,7 +119,7 @@ Make_modules: modules_init.c modules_upgrade.c: modules_init.c -SERV_OBJS = server_main.o utillib/citadel_dirs.o \ +SERV_OBJS = server_main.o citadel_dirs.o \ user_ops.o citserver.o sysdep.o serv_extensions.o \ $(DATABASE:.c=.o) domain.o \ control.o config.o support.o room_ops.o \ @@ -137,28 +137,28 @@ citserver$(EXEEXT): $(SERV_OBJS) echo "CC $<" $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c $< -o $@ -citmail$(EXEEXT): utils/citmail.o utillib/citadel_dirs.o - $(CC) utils/citmail.o utillib/citadel_dirs.o \ +citmail$(EXEEXT): utils/citmail.o citadel_dirs.o + $(CC) utils/citmail.o citadel_dirs.o \ $(LDFLAGS) -o citmail$(EXEEXT) $(LIBS) # setup does need LIBS defined, because it uses network functions which are in -lsocket -lnsl on Solaris. -setup$(EXEEXT): utils/setup.o utillib/citadel_dirs.o - $(CC) utils/setup.o utillib/citadel_dirs.o \ +setup$(EXEEXT): utils/setup.o citadel_dirs.o + $(CC) utils/setup.o citadel_dirs.o \ $(LDFLAGS) -o setup$(EXEEXT) $(LIBS) $(SETUP_LIBS) -ctdlmigrate$(EXEEXT): utils/ctdlmigrate.o utillib/citadel_dirs.o - $(CC) utils/ctdlmigrate.o utillib/citadel_dirs.o \ +ctdlmigrate$(EXEEXT): utils/ctdlmigrate.o citadel_dirs.o + $(CC) utils/ctdlmigrate.o citadel_dirs.o \ $(LDFLAGS) -o ctdlmigrate$(EXEEXT) $(LIBS) chkpwd$(EXEEXT): utils/chkpwd.o auth.o $(CC) utils/chkpwd.o auth.o $(LDFLAGS) -o chkpwd$(EXEEXT) $(chkpwd_LIBS) -chkpw$(EXEEXT): utils/chkpw.o auth.o utillib/citadel_dirs.o - $(CC) utils/chkpw.o auth.o utillib/citadel_dirs.o \ +chkpw$(EXEEXT): utils/chkpw.o auth.o citadel_dirs.o + $(CC) utils/chkpw.o auth.o citadel_dirs.o \ $(LDFLAGS) -o chkpw$(EXEEXT) $(chkpwd_LIBS) -sendcommand$(EXEEXT): utils/sendcommand.o utillib/citadel_dirs.o $(LIBOBJS) - $(CC) utils/sendcommand.o utillib/citadel_dirs.o \ +sendcommand$(EXEEXT): utils/sendcommand.o citadel_dirs.o $(LIBOBJS) + $(CC) utils/sendcommand.o citadel_dirs.o \ $(LIBOBJS) $(LDFLAGS) -o sendcommand$(EXEEXT) $(LIBS) .PHONY: install-data install-doc install-exec clean cleaner distclean @@ -290,7 +290,7 @@ clean: rm -vfr locale/* rm -vf *.o rm -vf utils/*.o ;\ - rm -vf utillib/*.o ;\ + rm -vf *.o ;\ for i in $(srcdir)/modules/* ; do \ rm -vf $$i/*.o ;\ done @@ -310,7 +310,6 @@ distclean: cleaner rm -vf po/Makefile rm -vf Makefile configure sysdep.h config.cache config.log config.status *.d package-version.txt rm -vf utils/*.d ; - rm -vf utillib/*.d ; for i in $(srcdir)/modules/* ; do \ rm -vf $$i/*.d ;\ done diff --git a/citadel/utillib/citadel_dirs.c b/citadel/citadel_dirs.c similarity index 100% rename from citadel/utillib/citadel_dirs.c rename to citadel/citadel_dirs.c diff --git a/citadel/internet_addressing.c b/citadel/internet_addressing.c index 95350afc7..68daf8854 100644 --- a/citadel/internet_addressing.c +++ b/citadel/internet_addressing.c @@ -375,17 +375,16 @@ void sanitize_truncated_recipient(char *str) * (What can I say, I'm in a weird mood today...) */ void remove_any_whitespace_to_the_left_or_right_of_at_symbol(char *name) { - unsigned int i; + char *ptr; + if (!name) return; - for (i = 0; i < strlen(name); ++i) { - if (name[i] == '@') { - while (isspace(name[i - 1]) && i > 0) { - strcpy(&name[i - 1], &name[i]); - --i; - } - while (isspace(name[i + 1])) { - strcpy(&name[i + 1], &name[i + 2]); - } + for (ptr=name; *ptr; ++ptr) { + while ( (isspace(*ptr)) && (*(ptr+1)=='@') ) { + strcpy(ptr, ptr+1); + if (ptr > name) --ptr; + } + while ( (*ptr=='@') && (*(ptr+1)!=0) && (isspace(*(ptr+1))) ) { + strcpy(ptr+1, ptr+2); } } } -- 2.30.2