nmh-workers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Nmh-workers] cleaning out the cobwebs


From: Lyndon Nerenberg (VE6BBM/VE7TFX)
Subject: Re: [Nmh-workers] cleaning out the cobwebs
Date: Thu, 4 Nov 2010 17:51:34 -0800

> If you see any code which has an #ifdef
> KPOP, rip it out!

There are few left in the 1.3 source:

sbr/client.c:28: #ifdef KPOP
sbr/client.c:59: #ifdef KPOP
sbr/client.c:104: #ifdef KPOP
sbr/client.c:214: #ifdef KPOP
sbr/client.c:261: #ifdef KPOP
sbr/client.c:317: #ifdef KPOP
sbr/mts.c:414: #ifdef KPOP
uip/inc.c:70: #ifndef   KPOP
uip/msgchk.c:43: #ifndef        KPOP

Were you talking about the CVS head?

Below I've listed all the unique #if* tags I found in the 1.3 source.
While I haven't combed the list in detail yet, it looks like the
majority go away with a POSIX conversion.  The YY_* stuff has be a bit
concerned, but again, I haven't dug into the details yet.

I think a first pass getting rid of all the conditional code that can
be replaced with generic POSIX calls will get us in a much better
position to look at the remaining issues.

And since I have to do this anyway for the Plan9 port, I'm just going
to go ahead and do it.  I was planning to base the port on the 1.3
release source; would it be better to start from the CVS head?  (I
don't know how much has changed since the release.) Whatever I base
from I'll pull into my own local repository, but I'll try to do the
work in a way will make it easy to feed back readable sized functional
patches that can be folded back into the CVS repository.

Here's the list of #if tags:

 #if !defined(HAVE_LIBLOCKFILE)
 #if !defined(HAVE_STRUCT_TM_TM_GMTOFF) && !defined(HAVE_TZSET)
 #if !defined(HAVE_STRUCT_TM_TM_GMTOFF) && defined(HAVE_TZSET)
 #if !defined(MPOP) || defined(NNTP)
 #if !defined(NNTP) && defined(APOP)
 #if !defined(NNTP) && defined(MPOP)
 #if !defined(SYS5) && !defined(BSD44)
 #if !defined(h_addr)
 #if 0
 #if BUFSIZ<2048
 #if HAVE_DIRENT_H
 #if PROTOTYPES
 #if STDC_HEADERS || HAVE_STRING_H
 #if YY_FLEX_SUBMINOR_VERSION > 0
 #if __STDC_VERSION__ >= 199901L
 #if __STDC__
 #if defined (FLOCK_LOCKING) || defined(LOCKF_LOCKING) || defined(FCNTL_LOCKING)
 #if defined (SMTPMTS)
 #if defined(FCNTL_LOCKING) || defined(LOCKF_LOCKING)
 #if defined(HAVE_LIBLOCKFILE)
 #if defined(HAVE_NL_LANGINFO) && defined(CODESET)
 #if defined(HAVE_TZSET) && defined(HAVE_TZNAME)
 #if defined(LOCKF_LOCKING) || defined(FLOCK_LOCKING)
 #if defined(MPOP) && !defined(NNTP)
 #if defined(NNTP) && !defined(PSHSBR)
 #if defined(NNTP) && defined(MPOP)
 #if defined(NNTP) || !defined(MPOP)
 #if defined(SMTPMTS)
 #if defined(SYS5) && !defined(TERMINFO)
 #ifdef ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST
 #ifdef BPOP
 #ifdef BSD42
 #ifdef FT_ADDTOSEQ
 #ifdef FT_LIT_FORCE
 #ifdef FT_PAUSE
 #ifdef HAVE_SETHOSTENT
 #ifdef MHE
 #ifdef MPOP
 #ifdef SIGTSTP
 #ifdef TIOCGPGRP
 #ifdef UCI
 #ifdef WHATNOW
 #ifdef XYZ
 #ifdef XYZ                     /* should NEVER happen... */
 #ifdef hpux
 #ifdef ncr
 #ifdef notdef
 #ifdef ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST
 #ifdef APOP
 #ifdef ATTVIBUG
 #ifdef BPOP
 #ifdef BSD42
 #ifdef BSD44
 #ifdef BUILTIN_FTP
 #ifdef CYRUS_SASL
 #ifdef DBMPWD
 #ifdef DEBUG
 #ifdef DG
 #ifdef DOT_LOCKING
 #ifdef DUMB
 #ifdef EISREMOTE
 #ifdef FCNTL_LOCKING
 #ifdef FIOCLEX
 #ifdef FLOCK_LOCKING
 #ifdef FT_LIT_FORCE
 #ifdef GWINSZ_IN_SYS_IOCTL
 #ifdef HAVE_ARPA_FTP_H
 #ifdef HAVE_ARPA_INET_H
 #ifdef HAVE_ERRNO_H
 #ifdef HAVE_FCNTL_H
 #ifdef HAVE_GETUTENT
 #ifdef HAVE_ICONV
 #ifdef HAVE_KILLPG
 #ifdef HAVE_LANGINFO_H
 #ifdef HAVE_LIMITS_H
 #ifdef HAVE_LOCALE_H
 #ifdef HAVE_LSTAT
 #ifdef HAVE_MKSTEMP
 #ifdef HAVE_OSPEED
 #ifdef HAVE_SETHOSTENT
 #ifdef HAVE_STDLIB_H
 #ifdef HAVE_STRUCT_STAT_ST_BLKSIZE
 #ifdef HAVE_STRUCT_TM_TM_GMTOFF
 #ifdef HAVE_STRUCT_UTMP_UT_TYPE
 #ifdef HAVE_SYS_PARAM_H
 #ifdef HAVE_SYS_UTSNAME_H
 #ifdef HAVE_SYS_WAIT_H
 #ifdef HAVE_TERMCAP_H
 #ifdef HAVE_TERMIOS_H
 #ifdef HAVE_UNAME
 #ifdef HAVE_UNION_WAIT
 #ifdef HAVE_UNISTD_H
 #ifdef HAVE_WAITPID
 #ifdef HAVE_WRITEV
 #ifdef HESIOD
 #ifdef INITGROUPS_HEADER
 #ifdef ISI
 #ifdef JLR
 #ifdef KERNEL_LOCKING
 #ifdef KPOP
 #ifdef LBL
 #ifdef LINUX_STDIO
 #ifdef LOCALE
 #ifdef LOCKDIR
 #ifdef LOCKF_LOCKING
 #ifdef MAILGROUP
 #ifdef MHE
 #ifdef MHRC
 #ifdef MPOP
 #ifdef MULTIBYTE_SUPPORT
 #ifdef NDBM_HEADER
 #ifdef NNTP
 #ifdef NNTP                    /* building pshsbr.o from popsbr.c */
 #ifdef NNTP    /* this makes read_pop() do some real work... */
 #ifdef NOPUBLICSEQ
 #ifdef NRTC                    /* sigh */
 #ifdef NTOHLSWAP
 #ifdef POP
 #ifdef POSIX_SIGNALS
 #ifdef REALLYDUMB
 #ifdef RPATHS
 #ifdef SCO_5_STDIO
 #ifdef SENDMAILBUG
 #ifdef SIGEMT
 #ifdef SIGTSTP
 #ifdef SLOCAL_MBOX
 #ifdef SMTPMTS
 #ifdef STAT_MACROS_BROKEN
 #ifdef TCGETATTR
 #ifdef TERMINFO
 #ifdef TGETENT_ACCEPTS_NULL
 #ifdef TIME_WITH_SYS_TIME
 #ifdef TIOCGLTC
 #ifdef TIOCGPGRP
 #ifdef TIOCGWINSZ
 #ifdef TIOCNOTTY
 #ifdef UCI
 #ifdef WHATNOW
 #ifdef WINSIZE_IN_PTEM
 #ifdef XMSGS           /* hacked into NNTP 1.5 */
 #ifdef XYZ
 #ifdef YY_NEED_STRLEN
 #ifdef YY_STDINIT
 #ifdef YY_USER_INIT
 #ifdef YY_USE_CONST
 #ifdef ZMAILER
 #ifdef _FSTDIO
 #ifdef __cplusplus
 #ifdef h_addr
 #ifdef hpux
 #ifdef lint
 #ifdef notdef
 #ifdef ridge
 #ifdef strcpy
 #ifdef strlen
 #ifndef        APOP
 #ifndef        BANG
 #ifndef        BPOP
 #ifndef        BSD42
 #ifndef        BSD44
 #ifndef        CERASE
 #ifndef        CKILL
 #ifndef        DONE
 #ifndef        DUMB
 #ifndef        FALSE
 #ifndef        HAVE_GETHOSTBYNAME
 #ifndef        HUJI
 #ifndef        JLR
 #ifndef        KPOP
 #ifndef        NNTP
 #ifndef        NOTOK
 #ifndef        NTOHLSWAP
 #ifndef        OK
 #ifndef        POP
 #ifndef        RELIABLE_SIGNALS
 #ifndef        RPATHS
 #ifndef        RPOP
 #ifndef        SMTPMTS
 #ifndef        SYS5
 #ifndef        TERMINFO
 #ifndef        TIOCGLTC
 #ifndef        TRUE
 #ifndef        UK
 #ifndef        XYZ
 #ifndef        abs
 #ifndef        lint
 #ifndef        sigmask
 #ifndef BSD42
 #ifndef BSD42                  /* XXX */
 #ifndef BUILTIN_FTP
 #ifndef CYRUS_SASL
 #ifndef DBMPWD
 #ifndef DEFINED__FILBUF_TO_SOMETHING_SPECIFIC
 #ifndef ECHO
 #ifndef FALSE
 #ifndef FLEXINT_H
 #ifndef HAVE_GETUTENT
 #ifndef HAVE_SIGSETJMP
 #ifndef HAVE_SNPRINTF_PROTOTYPE
 #ifndef HAVE_TERMCAP_H
 #ifndef HAVE_TERMIOS_H
 #ifndef INT16_MAX
 #ifndef INT16_MIN
 #ifndef INT32_MAX
 #ifndef INT32_MIN
 #ifndef INT8_MAX
 #ifndef INT8_MIN
 #ifndef JLR
 #ifndef MAXHOSTNAMELEN
 #ifndef NGROUPS_MAX
 #ifndef NNTP
 #ifndef OPEN_MAX
 #ifndef PATH_MAX
 #ifndef POP
 #ifndef POSIX_SIGNALS
 #ifndef PROTOTYPES
 #ifndef RELIABLE_SIGNALS
 #ifndef RPATHS
 #ifndef SEEK_CUR
 #ifndef SEEK_END
 #ifndef SEEK_SET
 #ifndef TCSANOW
 #ifndef TGETENT_ACCEPTS_NULL
 #ifndef TRUE
 #ifndef UINT16_MAX
 #ifndef UINT32_MAX
 #ifndef UINT8_MAX
 #ifndef WCOREDUMP
 #ifndef WTERMSIG
 #ifndef YY_BREAK
 #ifndef YY_BUF_SIZE
 #ifndef YY_DECL
 #ifndef YY_EXIT_FAILURE
 #ifndef YY_EXTRA_TYPE
 #ifndef YY_FATAL_ERROR
 #ifndef YY_INPUT
 #ifndef YY_NO_INPUT
 #ifndef YY_NO_UNISTD_H
 #ifndef YY_READ_BUF_SIZE
 #ifndef YY_SKIP_YYWRAP
 #ifndef YY_START_STACK_INCR
 #ifndef YY_STRUCT_YY_BUFFER_STATE
 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
 #ifndef YY_TYPEDEF_YY_SIZE_T
 #ifndef YY_USER_ACTION
 #ifndef ZMAILER
 #ifndef __STDC_LIMIT_MACROS
 #ifndef __cplusplus
 #ifndef abs
 #ifndef lint
 #ifndef max
 #ifndef min
 #ifndef yyterminate
 #ifndef yytext_ptr




reply via email to

[Prev in Thread] Current Thread [Next in Thread]