> 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 _______________________________________________ Nmh-workers mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/nmh-workers
