Reformated comments and long lines
authormarkus schnalke <meillo@marmaro.de>
Mon, 31 Oct 2011 14:06:33 +0000 (15:06 +0100)
committermarkus schnalke <meillo@marmaro.de>
Mon, 31 Oct 2011 14:06:33 +0000 (15:06 +0100)
186 files changed:
config/config.c
h/addrsbr.h
h/aliasbr.h
h/crawl_folders.h
h/dropsbr.h
h/fmt_compile.h
h/fmt_scan.h
h/md5.h
h/mf.h
h/mh.h
h/mhcachesbr.h
h/mhparse.h
h/mime.h
h/mts.h
h/nmh.h
h/picksbr.h
h/prototypes.h
h/rcvmail.h
h/scansbr.h
h/signals.h
h/tws.h
h/utils.h
sbr/addrsbr.c
sbr/ambigsw.c
sbr/atooi.c
sbr/brkstring.c
sbr/check_charset.c
sbr/closefds.c
sbr/concat.c
sbr/context_del.c
sbr/context_find.c
sbr/context_foil.c
sbr/context_read.c
sbr/context_replace.c
sbr/context_save.c
sbr/copy.c
sbr/copyip.c
sbr/cpydata.c
sbr/cpydgst.c
sbr/crawl_folders.c
sbr/discard.c
sbr/done.c
sbr/dtime.c
sbr/error.c
sbr/ext_hook.c
sbr/fdcompare.c
sbr/fmt_addr.c
sbr/fmt_compile.c
sbr/fmt_def.c
sbr/fmt_new.c
sbr/fmt_rfc2047.c
sbr/fmt_scan.c
sbr/folder_addmsg.c
sbr/folder_delmsgs.c
sbr/folder_free.c
sbr/folder_pack.c
sbr/folder_read.c
sbr/folder_realloc.c
sbr/gans.c
sbr/getans.c
sbr/getanswer.c
sbr/getarguments.c
sbr/getcpy.c
sbr/getfolder.c
sbr/getpass.c
sbr/lock_file.c
sbr/m_atoi.c
sbr/m_backup.c
sbr/m_convert.c
sbr/m_draft.c
sbr/m_getfld.c
sbr/m_gmprot.c
sbr/m_maildir.c
sbr/m_mktemp.c
sbr/m_msgdef.c
sbr/m_name.c
sbr/makedir.c
sbr/mf.c
sbr/mts.c
sbr/norm_charmap.c
sbr/path.c
sbr/peekc.c
sbr/pidstatus.c
sbr/pidwait.c
sbr/print_help.c
sbr/print_sw.c
sbr/print_version.c
sbr/push.c
sbr/putenv.c
sbr/r1bindex.c
sbr/readconfig.c
sbr/refile.c
sbr/ruserpass.c
sbr/seq_add.c
sbr/seq_bits.c
sbr/seq_del.c
sbr/seq_getnum.c
sbr/seq_list.c
sbr/seq_nameok.c
sbr/seq_print.c
sbr/seq_read.c
sbr/seq_save.c
sbr/seq_setcur.c
sbr/seq_setprev.c
sbr/seq_setunseen.c
sbr/showfile.c
sbr/signals.c
sbr/smatch.c
sbr/snprintb.c
sbr/snprintf.c
sbr/ssequal.c
sbr/strcasecmp.c
sbr/strdup.c
sbr/strindex.c
sbr/trimcpy.c
sbr/uprf.c
sbr/utils.c
sbr/vfgets.c
uip/ali.c
uip/aliasbr.c
uip/anno.c
uip/annosbr.c
uip/ap.c
uip/burst.c
uip/comp.c
uip/conflict.c
uip/dist.c
uip/distsbr.c
uip/dp.c
uip/dropsbr.c
uip/flist.c
uip/fmtdump.c
uip/folder.c
uip/forw.c
uip/ftpsbr.c
uip/inc.c
uip/install-mh.c
uip/mark.c
uip/md5.c
uip/mhbuild.c
uip/mhbuildsbr.c
uip/mhcachesbr.c
uip/mhfree.c
uip/mhl.c
uip/mhlist.c
uip/mhlistsbr.c
uip/mhlsbr.c
uip/mhmail.c
uip/mhmisc.c
uip/mhoutsbr.c
uip/mhparam.c
uip/mhparse.c
uip/mhpath.c
uip/mhshow.c
uip/mhshowsbr.c
uip/mhstore.c
uip/mhstoresbr.c
uip/mhtest.c
uip/msgchk.c
uip/new.c
uip/packf.c
uip/pick.c
uip/picksbr.c
uip/prompter.c
uip/rcvdist.c
uip/rcvpack.c
uip/rcvstore.c
uip/rcvtty.c
uip/refile.c
uip/repl.c
uip/replsbr.c
uip/rmf.c
uip/rmm.c
uip/scan.c
uip/scansbr.c
uip/send.c
uip/sendsbr.c
uip/show.c
uip/slocal.c
uip/sortm.c
uip/spost.c
uip/termsbr.c
uip/viamail.c
uip/whatnow.c
uip/whatnowproc.c
uip/whatnowsbr.c

index 5d11ef3..d72cd91 100644 (file)
@@ -1,10 +1,10 @@
 /*
- * config.c -- master nmh configuration file
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** config.c -- master nmh configuration file
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 
 
 
 /*
- * Find the location of a format or configuration
- * file, and return its absolute pathname.
- *
- * 1) If already absolute pathname, then leave unchanged.
- * 2) Next, if it begins with ~user, then expand it.
- * 3) Next, check in nmh Mail directory.
- * 4) Next, check in nmh `etc' directory.
- */
+** Find the location of a format or configuration
+** file, and return its absolute pathname.
+**
+** 1) If already absolute pathname, then leave unchanged.
+** 2) Next, if it begins with ~user, then expand it.
+** 3) Next, check in nmh Mail directory.
+** 4) Next, check in nmh `etc' directory.
+*/
 
 char *
 etcpath (char *file)
@@ -85,8 +85,8 @@ try_it:
 
 
 /*
- * Standard yes/no switches structure
- */
+** Standard yes/no switches structure
+*/
 
 struct swit anoyes[] = {
        { "no", 0 },
@@ -95,8 +95,8 @@ struct swit anoyes[] = {
 };
 
 /*
- * nmh constants
- */
+** nmh constants
+*/
 
 /* initial profile for new users */
 char *mh_defaults = nmhetcdir (/mh.profile);
@@ -143,19 +143,19 @@ char *mhlibdir = NMHLIBDIR;
 char *mhetcdir = NMHETCDIR;
 
 /*
- * nmh not-so constants
- */
+** nmh not-so constants
+*/
 
 /*
- * Default name for the nmh context file.
- */
+** Default name for the nmh context file.
+*/
 char *context = "context";
 
 /*
- * Default name of file for public sequences.  If NULL,
- * then nmh will use private sequences by default, unless the
- * user defines a value using the "mh-sequences" profile entry.
- */
+** Default name of file for public sequences.  If NULL,
+** then nmh will use private sequences by default, unless the
+** user defines a value using the "mh-sequences" profile entry.
+*/
 #ifdef NOPUBLICSEQ
 char *mh_seq = NULL;
 #else
@@ -163,8 +163,8 @@ char *mh_seq = ".mh_sequences";
 #endif
 
 /*
- * nmh globals
- */
+** nmh globals
+*/
 
 char ctxflags;          /* status of user's context   */
 char *invo_name;        /* command invocation name    */
@@ -174,166 +174,166 @@ char *ctxpath;          /* pathname of user's context */
 struct node *m_defs;    /* profile/context structure  */
 
 /*
- * nmh processes
- */
+** nmh processes
+*/
 
 /*
- * This is the program to process MIME composition files
- */
+** This is the program to process MIME composition files
+*/
 char *buildmimeproc = nmhbindir (/mhbuild);
 /*
- * This is the program to `cat' a file.
- */
+** This is the program to `cat' a file.
+*/
 char *catproc = "/bin/cat";
 
 /*
- * mhl runs this program as a visual-end.
- */
+** mhl runs this program as a visual-end.
+*/
 char *faceproc = NULL;
 
 /*
- * This program is usually called directly by users, but it is
- * also invoked by the spost program to process an "Fcc", or by
- * comp/repl/forw/dist to refile a draft message.
- */
+** This program is usually called directly by users, but it is
+** also invoked by the spost program to process an "Fcc", or by
+** comp/repl/forw/dist to refile a draft message.
+*/
 char *fileproc = nmhbindir (/refile);
 
 /*
- * This program is called to incorporate messages into a folder.
- */
+** This program is called to incorporate messages into a folder.
+*/
 char *incproc = nmhbindir (/inc);
 
 /*
- * When a user runs an nmh program for the first time, this program
- * is called to create his nmh profile, and mail directory.
- */
+** When a user runs an nmh program for the first time, this program
+** is called to create his nmh profile, and mail directory.
+*/
 char *installproc = nmhlibdir (/install-mh);
 
 /*
- * This is the default program invoked by a "list" response
- * at the "What now?" prompt.  It is also used by the draft
- * folder facility in comp/dist/forw/repl to display the
- * draft message.
- */
+** This is the default program invoked by a "list" response
+** at the "What now?" prompt.  It is also used by the draft
+** folder facility in comp/dist/forw/repl to display the
+** draft message.
+*/
 char *lproc = "more";
 
 /*
- * This is the path for the Bell equivalent mail program.
- */
+** This is the path for the Bell equivalent mail program.
+*/
 char *mailproc = nmhbindir (/mhmail);
 
 /*
- * This is used by mhl as a front-end.  It is also used
- * by mhshow as the default method of displaying message bodies
- * or message parts of type text/plain.
- */
+** This is used by mhl as a front-end.  It is also used
+** by mhshow as the default method of displaying message bodies
+** or message parts of type text/plain.
+*/
 char *moreproc = "more";
 
 /*
- * This is the program (mhl) used to filter messages.  It is
- * used by mhshow to filter and display the message headers of
- * MIME messages.  It is used by repl/forw (with -filter)
- * to filter the message to which you are replying/forwarding.
- * It is used by send/spost (with -filter) to filter the message
- * for "Bcc:" recipients.
- */
+** This is the program (mhl) used to filter messages.  It is
+** used by mhshow to filter and display the message headers of
+** MIME messages.  It is used by repl/forw (with -filter)
+** to filter the message to which you are replying/forwarding.
+** It is used by send/spost (with -filter) to filter the message
+** for "Bcc:" recipients.
+*/
 char *mhlproc = nmhlibdir (/mhl);
 
 /*
- * This program is called to pack a folder.
- */
+** This program is called to pack a folder.
+*/
 char *packproc = nmhbindir (/packf);
 
 /*
- * This is the delivery program called by send to actually
- * deliver mail to users.  This is the interface to the MTS.
- */
+** This is the delivery program called by send to actually
+** deliver mail to users.  This is the interface to the MTS.
+*/
 char *postproc = nmhlibdir (/spost);
 
 /*
- * This is program is called by slocal to handle
- * the action `folder' or `+'.
- */
+** This is program is called by slocal to handle
+** the action `folder' or `+'.
+*/
 char *rcvstoreproc = nmhlibdir (/rcvstore);
 
 /*
- * This program is called to remove a folder.
- */
+** This program is called to remove a folder.
+*/
 char *rmfproc = nmhbindir (/rmf);
 
 /*
- * This program is called to remove a message by rmm or refile -nolink.
- * It's usually empty, which means to rename the file to a backup name.
- */
+** This program is called to remove a message by rmm or refile -nolink.
+** It's usually empty, which means to rename the file to a backup name.
+*/
 char *rmmproc = NULL;
 
 /*
- * This program is usually called by the user's whatnowproc, but it
- * may also be called directly to send a message previously composed.
+** This program is usually called by the user's whatnowproc, but it
+** may also be called directly to send a message previously composed.
  */
 char *sendproc = nmhbindir (/send);
 
 /*
- * This is the path to the program used by "show"
- * to display non-text (MIME) messages.
- */
+** This is the path to the program used by "show"
+** to display non-text (MIME) messages.
+*/
 char *showmimeproc = nmhbindir (/mhshow);
 
 /*
- * This is the default program called by "show" to filter
- * and display standard text (non-MIME) messages.  It can be
- * changed to a pager (such as "more" or "less") if you prefer
- * that such message not be filtered in any way.
- */
+** This is the default program called by "show" to filter
+** and display standard text (non-MIME) messages.  It can be
+** changed to a pager (such as "more" or "less") if you prefer
+** that such message not be filtered in any way.
+*/
 char *showproc = nmhlibdir (/mhl);
 
 /*
- * This program is called after comp, et. al., have built a draft
- */
+** This program is called after comp, et. al., have built a draft
+*/
 char *whatnowproc = nmhbindir (/whatnow);
 
 /*
- * This is the sendmail interface to use for sending mail.
- */
+** This is the sendmail interface to use for sending mail.
+*/
 char *sendmail = SENDMAILPATH;
 
 /*
- * The prefix that is prepended to the name of message files when they
- * are "removed" by rmm. This should typically be `,' or `#'.
- */
+** The prefix that is prepended to the name of message files when they
+** are "removed" by rmm. This should typically be `,' or `#'.
+*/
 char *backup_prefix = ",";
 
 /*
- * This is the editor invoked by the various message
- * composition programs.  It SHOULD be a full screen
- * editor, such as vi or emacs, but any editor will work.
- */
+** This is the editor invoked by the various message
+** composition programs.  It SHOULD be a full screen
+** editor, such as vi or emacs, but any editor will work.
+*/
 char *defaulteditor = "vi";
 
 /*
- * Name of link to file to which you are replying or which you are
- * redistributing. See `$mhaltmsg' in the mh-profile(5) man page.
- */
+** Name of link to file to which you are replying or which you are
+** redistributing. See `$mhaltmsg' in the mh-profile(5) man page.
+*/
 char *altmsglink = "@";
 
 /*
- * This is the global nmh alias file.  It is somewhat obsolete, since
- * global aliases should be handled by the Mail Transport Agent (MTA).
- */
+** This is the global nmh alias file.  It is somewhat obsolete, since
+** global aliases should be handled by the Mail Transport Agent (MTA).
+*/
 char *AliasFile = nmhetcdir (/MailAliases);
 
 /*
- * File protections
- */
+** File protections
+*/
 
 /*
- * Folders (directories) are created with this protection (mode)
- */
+** Folders (directories) are created with this protection (mode)
+*/
 char *foldprot = "700";
 
 /*
- * Every NEW message will be created with this protection.  When a
- * message is filed it retains its protection, so this only applies
- * to messages coming in through inc.
- */
+** Every NEW message will be created with this protection.  When a
+** message is filed it retains its protection, so this only applies
+** to messages coming in through inc.
+*/
 char *msgprot = "600";
index 7c997f6..5e19b78 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * addrsbr.h -- definitions for the address parsing system
- */
+** addrsbr.h -- definitions for the address parsing system
+*/
 
 #define AD_HOST 1          /* getm(): lookup official hostname    */
 #define AD_NHST 0          /* getm(): do not lookup official name */
@@ -28,8 +28,8 @@ struct mailname {
 
 
 /*
- *  prototypes
- */
+**  prototypes
+*/
 void mnfree(struct mailname *);
 int ismymbox(struct mailname *);
 char *getname(char *);
index aa38c42..5405531 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * aliasbr.h -- definitions for the aliasing system
- */
+** aliasbr.h -- definitions for the aliasing system
+*/
 
 extern char *AliasFile;         /* mh-alias(5)             */
 #define PASSWD "/etc/passwd"    /* passwd(5)               */
@@ -21,8 +21,8 @@ struct adr {
 };
 
 /*
- * incore version of /etc/passwd
- */
+** incore version of /etc/passwd
+*/
 struct home {
        char *h_name;           /* user name                             */
        uid_t h_uid;            /* user id                               */
@@ -36,8 +36,8 @@ struct home {
 struct home *seek_home (char *);
 
 /*
- * prototypes
- */
+** prototypes
+*/
 int alias (char *);
 int akvisible (void);
 void init_pw (void);
index a5ac7b4..e81acb1 100644 (file)
@@ -1,15 +1,19 @@
 /*
- * crawl_folders.h -- crawl folder hierarchy
- */
+** crawl_folders.h -- crawl folder hierarchy
+*/
 
 #define CRAWL_NUMFOLDERS 100
 
-/* Callbacks return TRUE crawl_folders should crawl the children of `folder'.
- * Callbacks need not duplicate folder, as crawl_folders does not free it. */
+/*
+** Callbacks return TRUE crawl_folders should crawl the children of `folder'.
+** Callbacks need not duplicate folder, as crawl_folders does not free it.
+*/
 typedef boolean (crawl_callback_t)(char *folder, void *baton);
 
-/* Crawl the folder hierarchy rooted at the relative path `dir'.  For each
- * folder, pass `callback' the folder name (as a path relative to the current
- * directory) and `baton'; the callback may direct crawl_folders not to crawl
- * its children; see above. */
+/*
+** Crawl the folder hierarchy rooted at the relative path `dir'.  For each
+** folder, pass `callback' the folder name (as a path relative to the current
+** directory) and `baton'; the callback may direct crawl_folders not to crawl
+** its children; see above.
+*/
 void crawl_folders (char *dir, crawl_callback_t *callback, void *baton);
index c261541..2742ae6 100644 (file)
@@ -1,32 +1,32 @@
 /*
- * dropsbr.h -- definitions for maildrop-style files
- */
+** dropsbr.h -- definitions for maildrop-style files
+*/
 
 /*
- * A file which is formatted like a maildrop may have a corresponding map
- * file which is an index to the bounds of each message.  The first record
- * of such an map is special, it contains:
- *
- *      d_id    = number of messages in file
- *      d_size  = version number of map
- *      d_start = last message read
- *      d_stop  = size of file
- *
- *  Each record after that contains:
- *
- *      d_id    = BBoard-ID: of message, or similar info
- *      d_size  = size of message in ARPA Internet octets (\n == 2 octets)
- *      d_start = starting position of message in file
- *      d_stop  = stopping position of message in file
- *
- * Note that d_start/d_stop do NOT include the message delimiters, so
- * programs using the map can simply fseek to d_start and keep reading
- * until the position is at d_stop.
- */
+** A file which is formatted like a maildrop may have a corresponding map
+** file which is an index to the bounds of each message.  The first record
+** of such an map is special, it contains:
+**
+**      d_id    = number of messages in file
+**      d_size  = version number of map
+**      d_start = last message read
+**      d_stop  = size of file
+**
+**  Each record after that contains:
+**
+**      d_id    = BBoard-ID: of message, or similar info
+**      d_size  = size of message in ARPA Internet octets (\n == 2 octets)
+**      d_start = starting position of message in file
+**      d_stop  = stopping position of message in file
+**
+** Note that d_start/d_stop do NOT include the message delimiters, so
+** programs using the map can simply fseek to d_start and keep reading
+** until the position is at d_stop.
+*/
 
 /*
- * various formats for maildrop files
- */
+** various formats for maildrop files
+*/
 #define OTHER_FORMAT 0
 #define MBOX_FORMAT  1
 #define MMDF_FORMAT  2
@@ -41,8 +41,8 @@ struct drop {
 };
 
 /*
- * prototypes
- */
+** prototypes
+*/
 int mbx_open (char *, int, uid_t, gid_t, mode_t);
 int mbx_read (FILE *, long, struct drop **, int);
 int mbx_write(char *, int, FILE *, int, long, long, off_t, int, int);
index f3b2b9b..d60ac4a 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * fmt_compile.h -- format types
- */
+** fmt_compile.h -- format types
+*/
 
 /* types that output text */
 #define FT_COMP           1    /* the text of a component                 */
index ea34898..f65dab1 100644 (file)
@@ -1,16 +1,16 @@
 /*
- * fmt_scan.h -- definitions for fmt_scan()
- */
+** fmt_scan.h -- definitions for fmt_scan()
+*/
 
 /*
- * This structure describes an "interesting" component.  It holds
- * the name & text from the component (if found) and one piece of
- * auxilary info.  The structure for a particular component is located
- * by (open) hashing the name and using it as an index into the ptr array
- * "wantcomp".  All format entries that reference a particular component
- * point to its comp struct (so we only have to do component specific
- * processing once.  e.g., parse an address.).
- */
+** This structure describes an "interesting" component.  It holds
+** the name & text from the component (if found) and one piece of
+** auxilary info.  The structure for a particular component is located
+** by (open) hashing the name and using it as an index into the ptr array
+** "wantcomp".  All format entries that reference a particular component
+** point to its comp struct (so we only have to do component specific
+** processing once.  e.g., parse an address.).
+*/
 struct comp {
        char *c_name;         /* component name (in lower case) */
        char *c_text;         /* component text (if found)      */
@@ -27,14 +27,14 @@ struct comp {
 #define c_mn  c_un.c_u_mn
 
 /*
- * c_type bits
- */
+** c_type bits
+*/
 #define CT_ADDR  (1<<0)    /* referenced as address    */
 #define CT_DATE  (1<<1)    /* referenced as date       */
 
 /*
- * c_flags bits
- */
+** c_flags bits
+*/
 #define CF_TRUE     (1<<0)    /* usually means component is present */
 #define CF_PARSED   (1<<1)    /* address/date has been parsed       */
 #define CF_DATEFAB  (1<<2)    /* datefield fabricated               */
@@ -42,29 +42,29 @@ struct comp {
 extern int fmt_norm;
 
 /*
- * Hash table for deciding if a component is "interesting".
- */
+** Hash table for deciding if a component is "interesting".
+*/
 extern struct comp *wantcomp[128];
 
 /*
- * Hash function for component name.  The function should be
- * case independent and probably shouldn't involve a routine
- * call.  This function is pretty good but will not work on
- * single character component names.
- */
+** Hash function for component name.  The function should be
+** case independent and probably shouldn't involve a routine
+** call.  This function is pretty good but will not work on
+** single character component names.
+*/
 #define CHASH(nm) (((((nm)[0]) - ((nm)[1])) & 0x1f) + (((nm)[2]) & 0x5f))
 
 /*
- * Find a component in the hash table.
- */
+** Find a component in the hash table.
+*/
 #define FINDCOMP(comp,name) \
                for (comp = wantcomp[CHASH(name)]; \
                        comp && strcmp(comp->c_name,name); \
                        comp = comp->c_next) ;
 
 /*
- * This structure defines one formatting instruction.
- */
+** This structure defines one formatting instruction.
+*/
 struct format {
        unsigned char f_type;
        char f_fill;
@@ -85,8 +85,8 @@ struct format {
 #define f_value f_un.f_u_value
 
 /*
- * prototypes
- */
+** prototypes
+*/
 struct format *fmt_scan (struct format *, char *, int, int *);
 char *new_fs (char *, char *, char *);
 int fmt_compile (char *, struct format **);
diff --git a/h/md5.h b/h/md5.h
index 0a750be..8a1104a 100644 (file)
--- a/h/md5.h
+++ b/h/md5.h
@@ -1,29 +1,29 @@
 /*
- * md5.h -- header file for md5 message digest
- *          taken from RFC-1321/Appendices A.1/A.2
- */
+** md5.h -- header file for md5 message digest
+**          taken from RFC-1321/Appendices A.1/A.2
+*/
 
 /*
- * RSAREF types and constants
- */
+** RSAREF types and constants
+*/
 
 /*
- * Use include for nmh/mh
- */
+** Use include for nmh/mh
+*/
 
 #include <h/nmh.h>
 
 /*
- * Use prototypes for nmh/mh
- */
+** Use prototypes for nmh/mh
+*/
 #define PROTOTYPES 1
 
 /*
- * PROTOTYPES should be set to one if and only if the compiler
- * supports function argument prototyping.  The following makes
- * PROTOTYPES default to 0 if it has not already been defined
- * with C compiler flags.
- */
+** PROTOTYPES should be set to one if and only if the compiler
+** supports function argument prototyping.  The following makes
+** PROTOTYPES default to 0 if it has not already been defined
+** with C compiler flags.
+*/
 #ifndef PROTOTYPES
 # define PROTOTYPES 0
 #endif
@@ -37,40 +37,41 @@ typedef unsigned short int UINT2;
 /* UINT4 defines a four byte word */
 typedef unsigned long int UINT4;
 
-/* PROTO_LIST is defined depending on how PROTOTYPES is defined above.
- * If using PROTOTYPES, then PROTO_LIST returns the list, otherwise it
- * returns an empty list.
- */
+/*
+** PROTO_LIST is defined depending on how PROTOTYPES is defined above.
+** If using PROTOTYPES, then PROTO_LIST returns the list, otherwise it
+** returns an empty list.
+*/
 #if PROTOTYPES
 # define PROTO_LIST(list) list
 #else
 # define PROTO_LIST(list) ()
 #endif
 
-/* MD5.H - header file for MD5C.C
- */
-
-/* Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
-rights reserved.
-
-License to copy and use this software is granted provided that it
-is identified as the "RSA Data Security, Inc. MD5 Message-Digest
-Algorithm" in all material mentioning or referencing this software
-or this function.
+/* MD5.H - header file for MD5C.C */
 
-License is also granted to make and use derivative works provided
-that such works are identified as "derived from the RSA Data
-Security, Inc. MD5 Message-Digest Algorithm" in all material
-mentioning or referencing the derived work.
-
-RSA Data Security, Inc. makes no representations concerning either
-the merchantability of this software or the suitability of this
-software for any particular purpose. It is provided "as is"
-without express or implied warranty of any kind.
-
-These notices must be retained in any copies of any part of this
-documentation and/or software.
- */
+/*
+** Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
+** rights reserved.
+** 
+** License to copy and use this software is granted provided that it
+** is identified as the "RSA Data Security, Inc. MD5 Message-Digest
+** Algorithm" in all material mentioning or referencing this software
+** or this function.
+** 
+** License is also granted to make and use derivative works provided
+** that such works are identified as "derived from the RSA Data
+** Security, Inc. MD5 Message-Digest Algorithm" in all material
+** mentioning or referencing the derived work.
+** 
+** RSA Data Security, Inc. makes no representations concerning either
+** the merchantability of this software or the suitability of this
+** software for any particular purpose. It is provided "as is"
+** without express or implied warranty of any kind.
+** 
+** These notices must be retained in any copies of any part of this
+** documentation and/or software.
+*/
 
 /* MD5 context. */
 typedef struct {
diff --git a/h/mf.h b/h/mf.h
index 7fd5ef5..b5a7892 100644 (file)
--- a/h/mf.h
+++ b/h/mf.h
@@ -1,6 +1,6 @@
 /*
- * mf.h -- include file for mailbox filters
- */
+** mf.h -- include file for mailbox filters
+*/
 
 #include <h/nmh.h>
 
@@ -52,8 +52,8 @@ struct adrx {
 
 
 /*
- *    Codes returned by uucp2mmdf(), mmdf2uucp()
- */
+**    Codes returned by uucp2mmdf(), mmdf2uucp()
+*/
 #define MFOK 0   /* all went well              */
 /* remaining codes must > DONE */
 #define MFPRM 2  /* bad parameter              */
@@ -66,7 +66,7 @@ struct adrx {
 
 
 /*
- * prototypes
- */
+** prototypes
+*/
 char *legal_person (char *);
 struct adrx *getadrx (char *);
diff --git a/h/mh.h b/h/mh.h
index 35c8b41..70bfee7 100644 (file)
--- a/h/mh.h
+++ b/h/mh.h
@@ -1,12 +1,12 @@
 /*
- * mh.h -- main header file for all of nmh
- */
+** mh.h -- main header file for all of nmh
+*/
 
 #include <h/nmh.h>
 
 /*
- * Well-used constants
- */
+** Well-used constants
+*/
 #define NOTOK       (-1)    /* syscall()s return this on error */
 #define OK             0    /*  ditto on success               */
 #define DONE           1    /* trinary logic                   */
@@ -27,8 +27,8 @@
 typedef unsigned char  boolean;  /* not int so we can pack in a structure */
 
 /* If we're using gcc then give it some information about
- * functions that abort.
- */
+** functions that abort.
+*/
 #if __GNUC__ > 2
 # define NORETURN __attribute__((__noreturn__))
 #else
@@ -36,8 +36,8 @@ typedef unsigned char  boolean;  /* not int so we can pack in a structure */
 #endif
 
 /*
- * user context/profile structure
- */
+** user context/profile structure
+*/
 struct node {
        char *n_name;         /* key                  */
        char *n_field;        /* value                */
@@ -46,20 +46,20 @@ struct node {
 };
 
 /*
- * switches structure
- */
+** switches structure
+*/
 #define AMBIGSW  (-2)    /* from smatch() on ambiguous switch */
 #define UNKWNSW  (-1)    /* from smatch() on unknown switch   */
 
 struct swit {
        char *sw;
        /*
-        * The minchars field is apparently used like this:
-        *
-        * -# : Switch can be abbreviated to # chars; switch hidden in -help.
-        * 0  : Switch can't be abbreviated;          switch shown in -help.
-        * #  : Switch can be abbreviated to # chars; switch shown in -help.
-        */
+       ** The minchars field is apparently used like this:
+       **
+       ** -# : Switch can be abbreviated to # chars; switch hidden in -help.
+       ** 0  : Switch can't be abbreviated;          switch shown in -help.
+       ** #  : Switch can be abbreviated to # chars; switch shown in -help.
+       */
        int minchars;
 };
 
@@ -68,8 +68,8 @@ extern struct swit anoyes[];   /* standard yes/no switches */
 #define ATTACHFORMATS 3        /* Number of send attach formats. */
 
 /*
- * general folder attributes
- */
+** general folder attributes
+*/
 #define READONLY   (1<<0)    /* No write access to folder    */
 #define SEQMOD     (1<<1)    /* folder's sequences modifed   */
 #define ALLOW_NEW  (1<<2)    /* allow the "new" sequence     */
@@ -78,26 +78,26 @@ extern struct swit anoyes[];   /* standard yes/no switches */
 #define FBITS  "\020\01READONLY\02SEQMOD\03ALLOW_NEW\04OTHERS"
 
 /*
- * type for holding the sequence set of a message
- */
+** type for holding the sequence set of a message
+*/
 typedef unsigned int seqset_t;
 
 /*
- * Determine the number of user defined sequences we
- * can have.  The first 5 sequence flags are for
- * internal nmh message flags.
- */
+** Determine the number of user defined sequences we
+** can have.  The first 5 sequence flags are for
+** internal nmh message flags.
+*/
 #define NUMATTRS  ((sizeof(seqset_t) * Nbby) - 5)
 
 /*
- * first free slot for user defined sequences
- * and attributes
- */
+** first free slot for user defined sequences
+** and attributes
+*/
 #define FFATTRSLOT  5
 
 /*
- * internal messages attributes (sequences)
- */
+** internal messages attributes (sequences)
+*/
 #define EXISTS        (1<<0)    /* exists            */
 #define DELETED       (1<<1)    /* deleted           */
 #define SELECTED      (1<<2)    /* selected for use  */
@@ -107,8 +107,8 @@ typedef unsigned int seqset_t;
 #define MBITS "\020\01EXISTS\02DELETED\03SELECTED\04NEW\05UNSEEN"
 
 /*
- * Primary structure of folder/message information
- */
+** Primary structure of folder/message information
+*/
 struct msgs {
        int lowmsg;        /* Lowest msg number                 */
        int hghmsg;        /* Highest msg number                */
@@ -124,44 +124,44 @@ struct msgs {
        char *foldpath;    /* Pathname of folder                */
 
        /*
-        * Name of sequences in this folder.  We add an
-        * extra slot, so we can NULL terminate the list.
-        */
+       ** Name of sequences in this folder.  We add an
+       ** extra slot, so we can NULL terminate the list.
+       */
        char *msgattrs[NUMATTRS + 1];
 
        /*
-        * bit flags for whether sequence
-        * is public (0), or private (1)
-        */
+       ** bit flags for whether sequence
+       ** is public (0), or private (1)
+       */
        seqset_t attrstats;
 
        /*
-        * These represent the lowest and highest possible
-        * message numbers we can put in the message status
-        * area, without calling folder_realloc().
-        */
+       ** These represent the lowest and highest possible
+       ** message numbers we can put in the message status
+       ** area, without calling folder_realloc().
+       */
        int    lowoff;
        int    hghoff;
 
        /*
-        * This is an array of seqset_t which we allocate dynamically.
-        * Each seqset_t is a set of bits flags for a particular message.
-        * These bit flags represent general attributes such as
-        * EXISTS, SELECTED, etc. as well as track if message is
-        * in a particular sequence.
-        */
+       ** This is an array of seqset_t which we allocate dynamically.
+       ** Each seqset_t is a set of bits flags for a particular message.
+       ** These bit flags represent general attributes such as
+       ** EXISTS, SELECTED, etc. as well as track if message is
+       ** in a particular sequence.
+       */
        seqset_t *msgstats;        /* msg status */
 };
 
 /*
- * Amount of space to allocate for msgstats.  Allocate
- * the array to have space for messages numbers lo to hi.
- */
+** Amount of space to allocate for msgstats.  Allocate
+** the array to have space for messages numbers lo to hi.
+*/
 #define MSGSTATSIZE(mp,lo,hi) ((size_t) (((hi) - (lo) + 1) * sizeof(*(mp)->msgstats)))
 
 /*
- * macros for message and sequence manipulation
- */
+** macros for message and sequence manipulation
+*/
 #define clear_msg_flags(mp,msgnum) ((mp)->msgstats[(msgnum) - mp->lowoff] = 0)
 #define copy_msg_flags(mp,i,j) \
     ((mp)->msgstats[(i) - mp->lowoff] = (mp)->msgstats[(j) - mp->lowoff])
@@ -202,8 +202,8 @@ struct msgs {
            ((mp)->attrstats = 0)
 
 /*
- * macros for folder attributes
- */
+** macros for folder attributes
+*/
 #define clear_folder_flags(mp) ((mp)->msgflags = 0)
 
 #define is_readonly(mp)  ((mp)->msgflags & READONLY)
@@ -215,19 +215,20 @@ struct msgs {
 #define NULLMP  ((struct msgs *) 0)
 
 /*
- * m_getfld() message parsing
- */
-
-#define NAMESZ  999        /* Limit on component name size.
-                            * RFC 2822 limits line lengths to
-                            * 998 characters, so a header name
-                            * can be at most that long.
-                            * m_getfld limits header names to 2
-                            * less than NAMESZ, which is fine,
-                            * because header names must be
-                            * followed by a colon. Add one for
-                            * terminating NULL.
-                            */
+** m_getfld() message parsing
+*/
+
+#define NAMESZ  999        /*
+                           ** Limit on component name size.
+                           ** RFC 2822 limits line lengths to
+                           ** 998 characters, so a header name
+                           ** can be at most that long.
+                           ** m_getfld limits header names to 2
+                           ** less than NAMESZ, which is fine,
+                           ** because header names must be
+                           ** followed by a colon. Add one for
+                           ** terminating NULL.
+                           */
 
 #define LENERR   (-2)      /* Name too long error from getfld  */
 #define FMTERR   (-3)      /* Message Format error             */
@@ -239,8 +240,8 @@ struct msgs {
 #define FILEEOF  5         /* Reached end of input file        */
 
 /*
- * Maildrop styles
- */
+** Maildrop styles
+*/
 #define MS_DEFAULT  0    /* default (one msg per file) */
 #define MS_UNKNOWN  1    /* type not known yet         */
 #define MS_MBOX     2    /* Unix-style "from" lines    */
@@ -259,8 +260,8 @@ extern char *msg_delim;      /*  .. */
 #define OUTPUTLINELEN  72    /* default line length for headers */
 
 /*
- * miscellaneous macros
- */
+** miscellaneous macros
+*/
 
 #define pidXwait(pid,cp) pidstatus (pidwait (pid, NOTOK), stdout, cp)
 
@@ -277,8 +278,8 @@ extern char *msg_delim;      /*  .. */
 #endif
 
 /*
- * GLOBAL VARIABLES
- */
+** GLOBAL VARIABLES
+*/
 #define CTXMOD  0x01        /* context information modified */
 #define DBITS  "\020\01CTXMOD"
 extern char ctxflags;
@@ -290,11 +291,11 @@ extern char *ctxpath;        /* pathname of user's context      */
 extern struct node *m_defs;  /* list of profile/context entries */
 
 /*
- * These standard strings are defined in config.c.  They are the
- * only system-dependent parameters in nmh, and thus by redefining
- * their values and reloading the various modules, nmh will run
- * on any system.
- */
+** These standard strings are defined in config.c.  They are the
+** only system-dependent parameters in nmh, and thus by redefining
+** their values and reloading the various modules, nmh will run
+** on any system.
+*/
 extern char *buildmimeproc;
 extern char *backup_prefix;
 extern char *altmsglink;
index 68bd2be..77caabf 100644 (file)
@@ -1,10 +1,10 @@
 /*
- * mhcachesbr.h -- definitions for manipulating MIME content cache
- */
+** mhcachesbr.h -- definitions for manipulating MIME content cache
+*/
 
 /*
- * various cache policies
- */
+** various cache policies
+*/
 static struct swit caches[] = {
 #define CACHE_NEVER    0
        { "never", 0 },
index e3abf31..bef3f4f 100644 (file)
@@ -1,40 +1,40 @@
 /*
- * mhparse.h -- definitions for parsing/building of MIME content
- *           -- (mhparse.c/mhbuildsbr.c)
- */
+** mhparse.h -- definitions for parsing/building of MIME content
+**           -- (mhparse.c/mhbuildsbr.c)
+*/
 
 #define NPARTS  50
 #define NTYPES  20
 #define NPARMS  10
 
 /*
- * Abstract type for header fields
- */
+** Abstract type for header fields
+*/
 typedef struct hfield *HF;
 
 /*
- * Abstract types for MIME parsing/building
- */
+** Abstract types for MIME parsing/building
+*/
 typedef struct cefile  *CE;
 typedef struct CTinfo  *CI;
 typedef struct Content *CT;
 
 /*
- * type for Init function (both type and transfer encoding)
- */
+** type for Init function (both type and transfer encoding)
+*/
 typedef int (*InitFunc) (CT);
 
 /*
- * types for various transfer encoding access functions
- */
+** types for various transfer encoding access functions
+*/
 typedef int (*OpenCEFunc) (CT, char **);
 typedef void (*CloseCEFunc) (CT);
 typedef unsigned long (*SizeCEFunc) (CT);
 
 /*
- * Structure for storing/encoding/decoding
- * a header field and its value.
- */
+** Structure for storing/encoding/decoding
+** a header field and its value.
+*/
 struct hfield {
        char *name;       /* field name */
        char *value;      /* field body */
@@ -43,9 +43,9 @@ struct hfield {
 };
 
 /*
- * Structure for storing parsed elements
- * of the Content-Type component.
- */
+** Structure for storing parsed elements
+** of the Content-Type component.
+*/
 struct CTinfo {
        char *ci_type;               /* content type     */
        char *ci_subtype;            /* content subtype  */
@@ -56,9 +56,9 @@ struct CTinfo {
 };
 
 /*
- * Structure for storing decoded contents after
- * removing Content-Transfer-Encoding.
- */
+** Structure for storing decoded contents after
+** removing Content-Transfer-Encoding.
+*/
 struct cefile {
        char *ce_file;   /* decoded content (file)   */
        FILE *ce_fp;     /* decoded content (stream) */
@@ -66,8 +66,8 @@ struct cefile {
 };
 
 /*
- * Primary structure for handling Content (Entity)
- */
+** Primary structure for handling Content (Entity)
+*/
 struct Content {
        /* source (read) file */
        char *c_file;                /* read contents (file)              */
@@ -126,8 +126,8 @@ struct Content {
 };
 
 /*
- * Flags for Content-Type (Content->c_type)
- */
+** Flags for Content-Type (Content->c_type)
+*/
 #define CT_UNKNOWN      0x00
 #define CT_APPLICATION  0x01
 #define CT_AUDIO        0x02
@@ -139,8 +139,8 @@ struct Content {
 #define CT_EXTENSION    0x08
 
 /*
- * Flags for Content-Transfer-Encoding (Content->c_encoding)
- */
+** Flags for Content-Transfer-Encoding (Content->c_encoding)
+*/
 #define CE_UNKNOWN      0x00
 #define CE_BASE64       0x01
 #define CE_QUOTED       0x02
@@ -151,8 +151,8 @@ struct Content {
 #define CE_EXTERNAL     0x07    /* for external-body */
 
 /*
- * TEXT content
- */
+** TEXT content
+*/
 
 /* Flags for subtypes of TEXT */
 #define TEXT_UNKNOWN    0x00
@@ -172,8 +172,8 @@ struct text {
 };
 
 /*
- * MULTIPART content
- */
+** MULTIPART content
+*/
 
 /* Flags for subtypes of MULTIPART */
 #define MULTI_UNKNOWN    0x00
@@ -196,8 +196,8 @@ struct multipart {
 };
 
 /*
- * MESSAGE content
- */
+** MESSAGE content
+*/
 
 /* Flags for subtypes of MESSAGE */
 #define MESSAGE_UNKNOWN   0x00
@@ -233,8 +233,8 @@ struct exbody {
 };
 
 /*
- * APPLICATION content
- */
+** APPLICATION content
+*/
 
 /* Flags for subtype of APPLICATION */
 #define APPLICATION_UNKNOWN     0x00
@@ -243,8 +243,8 @@ struct exbody {
 
 
 /*
- * Structures for mapping types to their internal flags
- */
+** Structures for mapping types to their internal flags
+*/
 struct k2v {
        char *kv_key;
        int kv_value;
@@ -256,9 +256,9 @@ extern struct k2v SubMessage[];
 extern struct k2v SubApplication[];
 
 /*
- * Structures for mapping (content) types to
- * the functions to handle them.
- */
+** Structures for mapping (content) types to
+** the functions to handle them.
+*/
 struct str2init {
        char *si_key;
        int si_val;
@@ -269,8 +269,8 @@ extern struct str2init str2ces[];
 extern struct str2init str2methods[];
 
 /*
- * prototypes
- */
+** prototypes
+*/
 int pidcheck (int);
 CT parse_mime (char *);
 int add_header (CT, char *, char *);
index 9773293..dc37db2 100644 (file)
--- a/h/mime.h
+++ b/h/mime.h
@@ -1,6 +1,6 @@
 /*
- * mime.h -- definitions for MIME
- */
+** mime.h -- definitions for MIME
+*/
 
 #define VRSN_FIELD      "MIME-Version"
 #define VRSN_VALUE      "1.0"
@@ -19,9 +19,9 @@
                        && (c) != '.' && (c) != '['  && (c) != ']')
 
 /*
- * Test for valid characters used in "token"
- * as defined in RFC2045
- */
+** Test for valid characters used in "token"
+** as defined in RFC2045
+*/
 #define istoken(c)  (!isspace (c) && !iscntrl (c) && (c) != '(' \
                        && (c) != ')' && (c) != '<'  && (c) != '>' \
                        && (c) != '@' && (c) != ','  && (c) != ';' \
diff --git a/h/mts.h b/h/mts.h
index 20b42a0..df1d9b5 100644 (file)
--- a/h/mts.h
+++ b/h/mts.h
@@ -1,16 +1,16 @@
 /*
- * mts.h -- definitions for the mail system
- */
+** mts.h -- definitions for the mail system
+*/
 
 /*
- * Local and UUCP Host Name
- */
+** Local and UUCP Host Name
+*/
 char *LocalName(void);
 char *SystemName(void);
 
 /*
- * Mailboxes
- */
+** Mailboxes
+*/
 extern char *mmdfldir;
 extern char *mmdflfil;
 extern char *uucpldir;
@@ -25,8 +25,8 @@ char *getusername(void);
 char *getfullname(void);
 
 /*
- * Separators
- */
+** Separators
+*/
 extern char *mmdlm1;
 extern char *mmdlm2;
 
@@ -34,17 +34,17 @@ extern char *mmdlm2;
 #define isdlm2(s) (strcmp (s, mmdlm2) == 0)
 
 /*
- * Read mts.conf file
- */
+** Read mts.conf file
+*/
 void mts_init (char *);
 
 /*
- * Global MailDelivery File
- */
+** Global MailDelivery File
+*/
 extern char *maildelivery;
 
 /*
- * Aliasing Facility (doesn't belong here)
- */
+** Aliasing Facility (doesn't belong here)
+*/
 extern int Everyone;
 extern char *NoShell;
diff --git a/h/nmh.h b/h/nmh.h
index f10ec1e..4ae127d 100644 (file)
--- a/h/nmh.h
+++ b/h/nmh.h
@@ -1,6 +1,6 @@
 /*
- * nmh.h -- system configuration header file
- */
+** nmh.h -- system configuration header file
+*/
 
 #include <config.h>
 
@@ -60,8 +60,8 @@
 #endif
 
 /*
- * symbolic constants for lseek and fseek
- */
+** symbolic constants for lseek and fseek
+*/
 #ifndef SEEK_SET
 # define SEEK_SET 0
 #endif
@@ -73,8 +73,8 @@
 #endif
 
 /*
- * we should be getting this value from pathconf(_PC_PATH_MAX)
- */
+** we should be getting this value from pathconf(_PC_PATH_MAX)
+*/
 #ifndef PATH_MAX
 # ifdef MAXPATHLEN
 #  define PATH_MAX MAXPATHLEN
@@ -85,8 +85,8 @@
 #endif
 
 /*
- * we should get this value from sysconf(_SC_NGROUPS_MAX)
- */
+** we should get this value from sysconf(_SC_NGROUPS_MAX)
+*/
 #ifndef NGROUPS_MAX
 # ifdef NGROUPS
 #  define NGROUPS_MAX NGROUPS
@@ -96,8 +96,8 @@
 #endif
 
 /*
- * we should be getting this value from sysconf(_SC_OPEN_MAX)
- */
+** we should be getting this value from sysconf(_SC_OPEN_MAX)
+*/
 #ifndef OPEN_MAX
 # ifdef NOFILE
 #  define OPEN_MAX NOFILE
 #endif
 
 /*
- * If your stat macros are broken,
- * we will just undefine them.
- */
+** If your stat macros are broken,
+** we will just undefine them.
+*/
 #ifdef STAT_MACROS_BROKEN
 # ifdef S_ISBLK
 #  undef S_ISBLK
index 9c4b475..d69825a 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * picksbr.h -- definitions for picksbr.c
- */
+** picksbr.h -- definitions for picksbr.c
+*/
 
 /*
- * prototypes
- */
+** prototypes
+*/
 int pcompile (char **, char *);
 int pmatches (FILE *, int, long, long);
index c54172b..baf40d9 100644 (file)
@@ -1,10 +1,10 @@
 /*
- * prototypes.h -- various prototypes
- */
+** prototypes.h -- various prototypes
+*/
 
 /*
- * missing system prototypes
- */
+** missing system prototypes
+*/
 #ifndef HAVE_TERMCAP_H
 extern int tgetent (char *bp, char *name);
 extern int tgetnum (char *id);
@@ -15,13 +15,13 @@ extern int tputs (char *cp, int affcnt, int (*outc) (int));
 #endif
 
 /*
- * prototype from config.h
- */
+** prototype from config.h
+*/
 char *etcpath(char *);
 
 /*
- * prototypes from the nmh subroutine library
- */
+** prototypes from the nmh subroutine library
+*/
 void adios (char *, char *, ...) NORETURN;
 void admonish (char *, char *, ...);
 void advertise (char *, char *, char *, va_list);
@@ -126,8 +126,8 @@ int get_returnpath (char *, int, char *, int);
 #endif
 
 /*
- * prototypes for compatibility functions in library
- */
+** prototypes for compatibility functions in library
+*/
 #ifndef HAVE_SNPRINTF_PROTOTYPE
 int snprintf (char *, size_t, const char *, ...);
 int vsnprintf (char *, size_t, const char *, va_list);
@@ -138,22 +138,22 @@ int strncasecmp (const char *s1, const char *s2, size_t n);
 
 
 /*
- * some prototypes for address parsing system
- * (others are in addrsbr.h)
- */
+** some prototypes for address parsing system
+** (others are in addrsbr.h)
+*/
 char *LocalName(void);
 char *SystemName(void);
 char *OfficialName(char *);
 
 /*
- * prototypes for some routines in uip
- */
+** prototypes for some routines in uip
+*/
 int annotate (char *, char *, char *, int, int, int, int);
 void annolist(char *, char *, char *, int);
 void annopreserve(int);
 int distout (char *, char *, char *);
 void replout (FILE *, char *, char *, struct msgs *, int,
-       int, char *, char *, char *);
+               int, char *, char *, char *);
 int sendsbr (char **, int, char *, struct stat *, int, char *, int);
 int what_now (char *, int, int, char *, char *,
-       int, struct msgs *, char *, int, char *);
+               int, struct msgs *, char *, int, char *);
index 98a7f18..6a62284 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * rcvmail.h -- rcvmail hook definitions
- */
+** rcvmail.h -- rcvmail hook definitions
+*/
 
 # include <ctype.h>
 # include <errno.h>
index d3b1c9f..bba2b44 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * scansbr.h -- definitions for scan()
- */
+** scansbr.h -- definitions for scan()
+*/
 
 extern char *scanl;
 
@@ -12,8 +12,8 @@ extern char *scanl;
 #define SCNFAT  (-3)  /* fatal error                          */
 
 /*
- * default format for `scan' and `inc'
- */
+** default format for `scan' and `inc'
+*/
 #ifndef UK
 # define FORMAT \
 "%4(msg)%<(cur)+%| %>%<{replied}-%?{encrypted}E%| %>\
@@ -33,6 +33,6 @@ extern char *scanl;
 #define WIDTH  78
 
 /*
- * prototypes
- */
+** prototypes
+*/
 int scan (FILE *, int, int, char *, int, int, int, char *, long, int);
index d65da58..645c340 100644 (file)
@@ -1,20 +1,20 @@
 /*
- * signals.h -- header file for nmh signal interface
- */
+** signals.h -- header file for nmh signal interface
+*/
 
 #include <config.h>
 
 /*
- * The type for a signal handler
- */
+** The type for a signal handler
+*/
 typedef RETSIGTYPE (*SIGNAL_HANDLER)(int);
 
 /*
- * If not a POSIX machine, then we create our
- * own POSIX style signal sets functions. This
- * currently assumes you have 31 signals, which
- * should be true on most pure BSD machines.
- */
+** If not a POSIX machine, then we create our
+** own POSIX style signal sets functions. This
+** currently assumes you have 31 signals, which
+** should be true on most pure BSD machines.
+*/
 #ifndef POSIX_SIGNALS
 # define sigemptyset(s)    (*(s) = 0)
 # define sigfillset(s)     (*(s) = ~((sigset_t) 0), 0)
@@ -24,8 +24,8 @@ typedef RETSIGTYPE (*SIGNAL_HANDLER)(int);
 #endif
 
 /*
- * prototypes
- */
+** prototypes
+*/
 int SIGPROCMASK (int, const sigset_t *, sigset_t *);
 SIGNAL_HANDLER SIGNAL (int, SIGNAL_HANDLER);
 SIGNAL_HANDLER SIGNAL2 (int, SIGNAL_HANDLER);
diff --git a/h/tws.h b/h/tws.h
index 1db78c7..77ccaa6 100644 (file)
--- a/h/tws.h
+++ b/h/tws.h
@@ -1,15 +1,15 @@
 /*
- * tws.h
- */
+** tws.h
+*/
 
 /*
- * If the following is #defined, a timezone given as a numeric-only
- * offset will be treated specially if it's in a zone that observes
- * Daylight Saving Time.  For instance, during DST, a Date: like "Mon,
- * 24 Jul 2000 12:31:44 -0700" will be printed as "Mon, 24 Jul 2000
- * 12:31:44 PDT".  Without the code activated by the following #define,
- * that'd be incorrectly printed as "...MST".
- */
+** If the following is #defined, a timezone given as a numeric-only
+** offset will be treated specially if it's in a zone that observes
+** Daylight Saving Time.  For instance, during DST, a Date: like "Mon,
+** 24 Jul 2000 12:31:44 -0700" will be printed as "Mon, 24 Jul 2000
+** 12:31:44 PDT".  Without the code activated by the following #define,
+** that'd be incorrectly printed as "...MST".
+*/
 #define ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST 1
 
 struct tws {
@@ -51,8 +51,8 @@ extern char *tw_ldotw[];
 extern char *tw_moty[];
 
 /*
- * prototypes
- */
+** prototypes
+*/
 char *dtime (time_t *, int);
 char *dtimenow (int);
 char *dctime (struct tws *);
index bc5c2ec..18d778e 100644 (file)
--- a/h/utils.h
+++ b/h/utils.h
@@ -1,6 +1,6 @@
 /*
- * utils.h -- utility prototypes
- */
+** utils.h -- utility prototypes
+*/
 
 void *mh_xmalloc(size_t);
 void *mh_xrealloc(void *, size_t);
index d8f6a12..c8eb0c8 100644 (file)
@@ -1,65 +1,65 @@
 /*
- * addrsbr.c -- parse addresses 822-style
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** addrsbr.c -- parse addresses 822-style
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 #include <h/addrsbr.h>
 #include <h/mf.h>
 
 /*
- * High level parsing of addresses:
- *
- * The routines in sbr/mf.c parse the syntactic representations of
- * addresses.  The routines in sbr/addrsbr.c associate semantics with those
- * addresses.
- *
- * If #ifdef DUMB is in effect, a full 822-style parser is called
- * for syntax recongition.  This breaks each address into its components.
- * Note however that no semantics are assumed about the parts or their
- * totality.  This means that implicit hostnames aren't made explicit,
- * and explicit hostnames aren't expanded to their "official" represenations.
- *
- * If DUMB is not in effect, then this module does some
- * high-level thinking about what the addresses are.
- *
- * 1. for MMDF systems:
- *
- *      string%<uucp>@<local>  ->  string
- *
- * 2. for non-MMDF systems:
- *
- *      string@host.<uucp>  ->  host!string
- *
- * 3. for any system, an address interpreted relative to the local host:
- *
- *      string@<uucp>  ->  string
- *
- * For cases (1) and (3) above, the leftmost host is extracted.  If it's not
- * present, the local host is used.  If the tests above fail, the address is
- * considered to be a real 822-style address.
- *
- * If an explicit host is not present, then MH checks for a bang to indicate
- * an explicit UUCP-style address.  If so, this is noted.  If not, the host is
- * defaulted, typically to the local host.  The lack of an explict host is
- * also noted.
- *
- * If an explicit 822-style host is present, then MH checks to see if it
- * can expand this to the official name for the host.  If the hostname is
- * unknown, the address is so typed.
- *
- * To summarize, when we're all done, here's what MH knows about the address:
- *
- * DUMB - type: local, uucp, or network
- *              host:  not locally defaulted, not explicitly expanded
- *              everything else
- *
- * other - type: local, uucp, network, unknown
- *               everything else
- */
+** High level parsing of addresses:
+**
+** The routines in sbr/mf.c parse the syntactic representations of
+** addresses.  The routines in sbr/addrsbr.c associate semantics with those
+** addresses.
+**
+** If #ifdef DUMB is in effect, a full 822-style parser is called
+** for syntax recongition.  This breaks each address into its components.
+** Note however that no semantics are assumed about the parts or their
+** totality.  This means that implicit hostnames aren't made explicit,
+** and explicit hostnames aren't expanded to their "official" represenations.
+**
+** If DUMB is not in effect, then this module does some
+** high-level thinking about what the addresses are.
+**
+** 1. for MMDF systems:
+**
+**      string%<uucp>@<local>  ->  string
+**
+** 2. for non-MMDF systems:
+**
+**      string@host.<uucp>  ->  host!string
+**
+** 3. for any system, an address interpreted relative to the local host:
+**
+**      string@<uucp>  ->  string
+**
+** For cases (1) and (3) above, the leftmost host is extracted.  If it's not
+** present, the local host is used.  If the tests above fail, the address is
+** considered to be a real 822-style address.
+**
+** If an explicit host is not present, then MH checks for a bang to indicate
+** an explicit UUCP-style address.  If so, this is noted.  If not, the host is
+** defaulted, typically to the local host.  The lack of an explict host is
+** also noted.
+**
+** If an explicit 822-style host is present, then MH checks to see if it
+** can expand this to the official name for the host.  If the hostname is
+** unknown, the address is so typed.
+**
+** To summarize, when we're all done, here's what MH knows about the address:
+**
+** DUMB - type: local, uucp, or network
+**              host:  not locally defaulted, not explicitly expanded
+**              everything else
+**
+** other - type: local, uucp, network, unknown
+**               everything else
+*/
 
 
 static int  ingrp = 0;
@@ -77,8 +77,8 @@ extern boolean  username_extension_masquerading;  /* defined in mts.c */
 
 
 /*
- * external prototypes
- */
+** external prototypes
+*/
 char *getusername (void);
 
 
@@ -309,8 +309,8 @@ adrformat (struct mailname *mp)
 #define WBITS   "\020\01MBEG\02MEND\03HBEG\04HEND"
 
 /*
- * Check if this is my address
- */
+** Check if this is my address
+*/
 
 int
 ismymbox (struct mailname *np)
@@ -325,9 +325,9 @@ ismymbox (struct mailname *np)
        static struct mailname mq={NULL};
 
        /*
-        * If this is the first call, initialize
-        * list of alternate mailboxes.
-        */
+       ** If this is the first call, initialize
+       ** list of alternate mailboxes.
+       */
        if (am == NULL) {
                mq.m_next = NULL;
                mq.m_mbox = getusername ();
@@ -397,9 +397,9 @@ local_test: ;
        }
 
        /*
-        * Now scan through list of alternate
-        * mailboxes, and check for a match.
-        */
+       ** Now scan through list of alternate
+       ** mailboxes, and check for a match.
+       */
        for (mp = &mq; mp->m_next;) {
                mp = mp->m_next;
                if (!np->m_mbox)
@@ -459,15 +459,15 @@ local_test: ;
 
 
 /*
- * Moved from hosts.c -- find out the official name of a host
- */
+** Moved from hosts.c -- find out the official name of a host
+*/
 
 /*
- * In the SendMail world, we really don't know what the valid
- * hosts are.  We could poke around in the sendmail.cf file, but
- * that still isn't a guarantee.  As a result, we'll say that
- * everything is a valid host, and let SendMail worry about it.
- */
+** In the SendMail world, we really don't know what the valid
+** hosts are.  We could poke around in the sendmail.cf file, but
+** that still isn't a guarantee.  As a result, we'll say that
+** everything is a valid host, and let SendMail worry about it.
+*/
 
 #include <h/mts.h>
 #include <netdb.h>
index cd84ad6..6105a50 100644 (file)
@@ -1,10 +1,10 @@
 /*
- * ambigsw.c -- report an ambiguous switch
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** ambigsw.c -- report an ambiguous switch
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 
index a0e4f74..cb557b7 100644 (file)
@@ -1,10 +1,10 @@
 /*
- * atooi.c -- octal version of atoi()
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** atooi.c -- octal version of atoi()
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 
index 1e78b17..4496ae6 100644 (file)
@@ -1,11 +1,11 @@
 /*
- * brkstring.c -- (destructively) split a string into
- *             -- an array of substrings
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** brkstring.c -- (destructively) split a string into
+**             -- an array of substrings
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 #include <h/utils.h>
@@ -17,8 +17,8 @@ static char **broken = NULL;    /* array of substring start addresses */
 static int len = 0;             /* current size of "broken"           */
 
 /*
- * static prototypes
- */
+** static prototypes
+*/
 static int brkany (char, char *);
 
 
@@ -35,9 +35,9 @@ brkstring (char *str, char *brksep, char *brkterm)
        }
 
        /*
-        * scan string, replacing separators with zeroes
-        * and enter start addresses in "broken".
-        */
+       ** scan string, replacing separators with zeroes
+       ** and enter start addresses in "broken".
+       */
        s = str;
 
        for (i = 0;; i++) {
@@ -52,9 +52,9 @@ brkstring (char *str, char *brksep, char *brkterm)
                *s++ = '\0';
 
        /*
-        * we are either at the end of the string, or the
-        * terminator found has been found, so finish up.
-        */
+       ** we are either at the end of the string, or the
+       ** terminator found has been found, so finish up.
+       */
        if (!c || brkany (c, brkterm)) {
                *s = '\0';
                broken[i] = NULL;
@@ -73,9 +73,9 @@ brkstring (char *str, char *brksep, char *brkterm)
 
 
 /*
- * If the character is in the string,
- * return 1, else return 0.
- */
+** If the character is in the string,
+** return 1, else return 0.
+*/
 
 static int
 brkany (char c, char *str)
index e6debc2..cba270d 100644 (file)
@@ -1,10 +1,10 @@
 /*
- * check_charset.c -- routines for character sets
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** check_charset.c -- routines for character sets
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 #ifdef HAVE_LANGINFO_H
@@ -13,8 +13,8 @@
 
 
 /*
- * Get the current character set
- */
+** Get the current character set
+*/
 char *
 get_charset ()
 {
@@ -28,11 +28,11 @@ get_charset ()
 
 
 /*
- * Check if we can display a given character set natively.
- * We are passed the length of the initial part of the
- * string to check, since we want to allow the name of the
- * character set to be a substring of a larger string.
- */
+** Check if we can display a given character set natively.
+** We are passed the length of the initial part of the
+** string to check, since we want to allow the name of the
+** character set to be a substring of a larger string.
+*/
 
 int
 check_charset (char *str, int len)
@@ -67,18 +67,18 @@ check_charset (char *str, int len)
 
 
 /*
- * Return the name of the character set we are
- * using for 8bit text.
- */
+** Return the name of the character set we are
+** using for 8bit text.
+*/
 char *
 write_charset_8bit (void)
 {
        static char *mm_charset = NULL;
 
        /*
-        * Cache the name of the character set to
-        * use for 8bit text.
-        */
+       ** Cache the name of the character set to
+       ** use for 8bit text.
+       */
        if (!mm_charset && !(mm_charset = get_charset ()))
                mm_charset = "x-unknown";
 
index 99543f5..0f87bde 100644 (file)
@@ -1,10 +1,10 @@
 /*
- * closefds.c -- close-up fd's
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** closefds.c -- close-up fd's
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 
index 2d0bc60..65ded77 100644 (file)
@@ -1,11 +1,11 @@
 /*
- * concat.c -- concatenate a variable number (minimum of 1)
- *             of strings in managed memory
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** concat.c -- concatenate a variable number (minimum of 1)
+**             of strings in managed memory
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 #include <h/utils.h>
index f2ff0a4..1341424 100644 (file)
@@ -1,17 +1,17 @@
 /*
- * context_del.c -- delete an entry from the context/profile list
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** context_del.c -- delete an entry from the context/profile list
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 
 /*
- * Delete a key/value pair from the context/profile list.
- * Return 0 if key is found, else return 1.
- */
+** Delete a key/value pair from the context/profile list.
+** Return 0 if key is found, else return 1.
+*/
 
 int
 context_del (char *key)
index da1ee10..e5ba5ff 100644 (file)
@@ -1,10 +1,10 @@
 /*
- * context_find.c -- find an entry in the context/profile list
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** context_find.c -- find an entry in the context/profile list
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 
index 94f687a..93b198d 100644 (file)
@@ -1,18 +1,18 @@
 /*
- * context_foil.c -- foil search of profile and context
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** context_foil.c -- foil search of profile and context
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 #include <h/utils.h>
 
 /*
- * Foil search of users .mh_profile
- * If error, return -1, else return 0
- */
+** Foil search of users .mh_profile
+** If error, return -1, else return 0
+*/
 
 int
 context_foil (char *path)
@@ -20,28 +20,28 @@ context_foil (char *path)
        register struct node *np;
 
        /* In fact, nobody examines defpath in code paths where
-        * it's been set by us -- the uses in the source tree are:
-        *  1 sbr/context_read.c uses it only after setting it itself
-        *  2 uip/install_mh.c uses it only after setting it itself
-        *  3 uip/mark.c print it if given the -debug switch
-        * A worthwhile piece of code cleanup would be to make 1 and
-        * 2 use a local variable and just delete 3.
-        *
-        * Similarly, context and ctxpath are not really used
-        * outside the context_* routines. It might be worth combining
-        * them into one file so the variables can be made static.
-        */
+       ** it's been set by us -- the uses in the source tree are:
+       **  1 sbr/context_read.c uses it only after setting it itself
+       **  2 uip/install_mh.c uses it only after setting it itself
+       **  3 uip/mark.c print it if given the -debug switch
+       ** A worthwhile piece of code cleanup would be to make 1 and
+       ** 2 use a local variable and just delete 3.
+       **
+       ** Similarly, context and ctxpath are not really used
+       ** outside the context_* routines. It might be worth combining
+       ** them into one file so the variables can be made static.
+       */
 
        /* We set context to NULL to indicate that no context file
-        * is to be read. (Using /dev/null doesn't work because we
-        * would try to lock it, which causes timeouts with some
-        * locking methods.)
-        */
+       ** is to be read. (Using /dev/null doesn't work because we
+       ** would try to lock it, which causes timeouts with some
+       ** locking methods.)
+       */
        defpath = context = NULL;
 
        /*
-        * If path is given, create a minimal profile/context list
-        */
+       ** If path is given, create a minimal profile/context list
+       */
        if (path) {
                m_defs = (struct node *) mh_xmalloc (sizeof(*np));
 
index 24e6350..1e1a84e 100644 (file)
@@ -1,26 +1,26 @@
 /*
- * context_read.c -- find and read profile and context files
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- *
- * This function must be called early on in any nmh utility, and
- * may only be called once.  It does the following:
- *
- *  o  Sets the global variable "mypath" to the home directory path.
- *
- *  o  Sets the global variable "defpath" to the absolute path of
- *     the profile file.
- *
- *  o  Reads in the profile file.  Bails out if it can't.
- *
- *  o  Makes sure that the mail directory exists, prompting for
- *     creation if it doesn't.
- *
- *  o  Reads the context file either as set by the MHCONTEXT
- *     environment variable or by the profile.
- */
+** context_read.c -- find and read profile and context files
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+**
+** This function must be called early on in any nmh utility, and
+** may only be called once.  It does the following:
+**
+**  o  Sets the global variable "mypath" to the home directory path.
+**
+**  o  Sets the global variable "defpath" to the absolute path of
+**     the profile file.
+**
+**  o  Reads in the profile file.  Bails out if it can't.
+**
+**  o  Makes sure that the mail directory exists, prompting for
+**     creation if it doesn't.
+**
+**  o  Reads the context file either as set by the MHCONTEXT
+**     environment variable or by the profile.
+*/
 
 #include <h/mh.h>    /* mh internals */
 #include <errno.h>   /* system call errors */
@@ -37,29 +37,30 @@ context_read (void)
        register FILE *ib;           /* profile and context file pointer */
 
        /*
-        * If this routine _is_ called again (despite the wanings in the
-        * comments above), return immediately.
-        */
+       ** If this routine _is_ called again (despite the wanings in the
+       ** comments above), return immediately.
+       */
        if ( m_defs != 0 )
                return;
 
        /*
-        * Find user's home directory.  Try the HOME environment variable first,
-        * the home directory field in the password file if that's not found.
-        */
+       ** Find user's home directory.  Try the HOME environment variable first,
+       ** the home directory field in the password file if that's not found.
+       */
        if ((mypath = getenv("HOME")) == (char *)0) {
-       if ((pw = getpwuid(getuid())) == (struct passwd *)0 || *pw->pw_dir == '\0')
-               adios(NULL, "cannot determine your home directory");
-       else
-               mypath = pw->pw_dir;
+               if ((pw = getpwuid(getuid())) == (struct passwd *)0 || *pw->pw_dir == '\0')
+                       adios(NULL, "cannot determine your home directory");
+               else
+                       mypath = pw->pw_dir;
        }
 
        /*
-        * Find and read user's profile.  Check for the existence of an MH environment
-        * variable first with non-empty contents.  Convert any relative path name
-        * found there to an absolute one.  Look for the profile in the user's home
-        * directory if the MH environment variable isn't set.
-        */
+       ** Find and read user's profile.  Check for the existence of
+       ** an MH environment variable first with non-empty contents.
+       ** Convert any relative path name found there to an absolute one.
+       ** Look for the profile in the user's home directory if the MH
+       ** environment variable isn't set.
+       */
 
        if ((cp = getenv("MH")) && *cp != '\0') {
        defpath = path(cp, TFILE);
@@ -82,9 +83,10 @@ context_read (void)
        fclose (ib);
 
        /*
-        * Find the user's nmh directory, which is specified by the "path" profile component.
-        * Convert a relative path name to an absolute one rooted in the home directory.
-        */
+       ** Find the user's nmh directory, which is specified by the "path"
+       ** profile component.  Convert a relative path name to an absolute
+       ** one rooted in the home directory.
+       */
 
        if ((cp = context_find ("path")) == (char *)0)
                adios(NULL, "Your %s file does not contain a path entry.", defpath);
@@ -110,17 +112,20 @@ context_read (void)
                adios ((char *)0, "`%s' is not a directory", nd);
 
        /*
-        * Open and read user's context file.  The name of the context file comes from the
-        * profile unless overridden by the MHCONTEXT environment variable.
-        */
+       ** Open and read user's context file.  The name of the context
+       ** file comes from the profile unless overridden by the MHCONTEXT
+       ** environment variable.
+       */
 
        if ((cp = getenv ("MHCONTEXT")) == (char *)0 || *cp == '\0')
                cp = context;
 
-       /* context is NULL if context_foil() was called to disable use of context
-        * We also support users setting explicitly setting MHCONTEXT to /dev/null.
-        * (if this wasn't specialcased then the locking would be liable to fail)
-        */
+       /*
+       ** context is NULL if context_foil() was called to disable use
+       ** of context We also support users setting explicitly setting
+       ** MHCONTEXT to /dev/null.  (if this wasn't specialcased then the
+       ** locking would be liable to fail)
+       */
        if (!cp || (strcmp(cp,"/dev/null") == 0)) {
                ctxpath = NULL;
                return;
index dbe1014..bb49a90 100644 (file)
@@ -1,10 +1,10 @@
 /*
- * context_replace.c -- add/replace an entry in the context/profile list
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** context_replace.c -- add/replace an entry in the context/profile list
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 #include <h/utils.h>
@@ -16,8 +16,8 @@ context_replace (char *key, char *value)
        register struct node *np;
 
        /*
-        * If list is emtpy, allocate head of profile/context list.
-        */
+       ** If list is emtpy, allocate head of profile/context list.
+       */
        if (!m_defs) {
                m_defs = (struct node *) mh_xmalloc (sizeof(*np));
 
@@ -31,9 +31,9 @@ context_replace (char *key, char *value)
        }
 
        /*
-        * Search list of context/profile entries for
-        * this key, and replace its value if found.
-        */
+       ** Search list of context/profile entries for
+       ** this key, and replace its value if found.
+       */
        for (np = m_defs;; np = np->n_next) {
                if (!mh_strcasecmp (np->n_name, key)) {
                        if (strcmp (value, np->n_field)) {
@@ -51,8 +51,8 @@ context_replace (char *key, char *value)
        }
 
        /*
-        * Else add this new entry at the end
-        */
+       ** Else add this new entry at the end
+       */
        np->n_next = (struct node *) mh_xmalloc (sizeof(*np));
 
        np = np->n_next;
index d4a56ed..7d99cc3 100644 (file)
@@ -1,17 +1,17 @@
 /*
- * context_save.c -- write out the updated context file
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** context_save.c -- write out the updated context file
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 #include <h/signals.h>
 
 /*
- * static prototypes
- */
+** static prototypes
+*/
 static int m_chkids(void);
 
 
@@ -56,14 +56,14 @@ context_save (void)
 }
 
 /*
- * This hack brought to you so we can handle set[ug]id MH programs.
- * If we return -1, then no fork is made, we update .mh_profile
- * normally, and return to the caller normally.  If we return 0,
- * then the child is executing, .mh_profile is modified after
- * we set our [ug]ids to the norm.  If we return > 0, then the
- * parent is executed and .mh_profile has already be modified.
- * We can just return to the caller immediately.
- */
+** This hack brought to you so we can handle set[ug]id MH programs.
+** If we return -1, then no fork is made, we update .mh_profile
+** normally, and return to the caller normally.  If we return 0,
+** then the child is executing, .mh_profile is modified after
+** we set our [ug]ids to the norm.  If we return > 0, then the
+** parent is executed and .mh_profile has already be modified.
+** We can just return to the caller immediately.
+*/
 
 static int
 m_chkids (void)
index 4a0ef51..0e013ab 100644 (file)
@@ -1,10 +1,10 @@
 /*
- * copy.c -- copy a string and return pointer to NULL terminator
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** copy.c -- copy a string and return pointer to NULL terminator
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 
index 5ae52bd..e4253da 100644 (file)
@@ -1,10 +1,10 @@
 /*
- * copyip.c -- copy a string array and return pointer to end
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** copyip.c -- copy a string array and return pointer to end
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 
index c74b2ae..207bc03 100644 (file)
@@ -1,10 +1,10 @@
 /*
- * cpydata.c -- copy all data from one fd to another
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** cpydata.c -- copy all data from one fd to another
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 
index 7195cd1..04ca76e 100644 (file)
@@ -1,25 +1,25 @@
 /*
- * cpydgst.c -- copy from one fd to another in encapsulating mode
- *           -- (do dashstuffing of input data).
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** cpydgst.c -- copy from one fd to another in encapsulating mode
+**           -- (do dashstuffing of input data).
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 
 /*
- * We want to perform the substitution
- *
- *     \n(-.*)\n    -->    \n- \1\n
- *
- * This is equivalent to the sed substitution
- *
- *     sed -e 's%^-%- -%' < ifile > ofile
- *
- *  but the routine below is faster than the pipe, fork, and exec.
- */
+** We want to perform the substitution
+**
+**     \n(-.*)\n    -->    \n- \1\n
+**
+** This is equivalent to the sed substitution
+**
+**     sed -e 's%^-%- -%' < ifile > ofile
+**
+**  but the routine below is faster than the pipe, fork, and exec.
+*/
 
 #define S1 0
 #define S2 1
index 28116b7..2691a78 100644 (file)
@@ -1,18 +1,20 @@
 /*
- * crawl_folders.c -- crawl folder hierarchy
- *
- * This code is Copyright (c) 2008, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** crawl_folders.c -- crawl folder hierarchy
+**
+** This code is Copyright (c) 2008, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 #include <h/crawl_folders.h>
 #include <h/utils.h>
 
 struct crawl_context {
-       int max;    /* how many folders we currently can hold in the array
-               * `folders', increased by CRAWL_NUMFOLDERS at a time */
+       int max;    /*
+                   ** how many folders we currently can hold in the array
+                   ** `folders', increased by CRAWL_NUMFOLDERS at a time
+                   */
        int total;  /* how many `folders' actually has */
        char **folders;  /* the array of folders */
        int start;
@@ -20,9 +22,9 @@ struct crawl_context {
 };
 
 /*
- * Add the folder name into the
- * list in a sorted fashion.
- */
+** Add the folder name into the
+** list in a sorted fashion.
+*/
 
 static void
 add_folder (char *fold, struct crawl_context *crawl)
@@ -70,8 +72,10 @@ add_children (char *name, struct crawl_context *crawl)
        }
 
        while ((dp = readdir (dd))) {
-               /* If the system supports it, try to skip processing of
-                * children we know are not directories or symlinks. */
+               /*
+               ** If the system supports it, try to skip processing of
+               ** children we know are not directories or symlinks.
+               */
                child_is_folder = -1;
 #if defined(HAVE_STRUCT_DIRENT_D_TYPE)
                if (dp->d_type == DT_DIR) {
@@ -84,8 +88,10 @@ add_children (char *name, struct crawl_context *crawl)
                        continue;
                }
                child = concat (prefix, dp->d_name, (void *)NULL);
-               /* If we have no d_type or d_type is DT_LNK or DT_UNKNOWN, stat the
-                * child to see what it is. */
+               /*
+               ** If we have no d_type or d_type is DT_LNK or DT_UNKNOWN,
+               ** stat the child to see what it is.
+               */
                if (child_is_folder == -1) {
                        child_is_folder = (stat (child, &st) != -1 && S_ISDIR(st.st_mode));
                }
@@ -140,8 +146,10 @@ crawl_folders (char *dir, crawl_callback_t *callback, void *baton)
 
        crawl_folders_body (crawl, dir, callback, baton);
 
-       /* Note that we "leak" the folder names, on the assumption that the caller
-        * is using them. */
+       /*
+       ** Note that we "leak" the folder names, on the assumption that the
+       ** caller is using them.
+       */
        free (crawl->folders);
        free (crawl);
 }
index 496bb7a..eb7e7c8 100644 (file)
@@ -1,10 +1,10 @@
 /*
- * discard.c -- discard output on a file pointer
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** discard.c -- discard output on a file pointer
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 
index e4efff3..3545d10 100644 (file)
@@ -1,10 +1,10 @@
 /*
- * done.c -- terminate the program
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** done.c -- terminate the program
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 
index 0c229ee..60ab9d7 100644 (file)
@@ -1,10 +1,10 @@
 /*
- * dtime.c -- time/date routines
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** dtime.c -- time/date routines
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>   /* for snprintf() */
 #include <h/nmh.h>
@@ -36,8 +36,8 @@ extern char *tzname[];
 #endif
 
 /*
- * The number of days in the year, accounting for leap years
- */
+** The number of days in the year, accounting for leap years
+*/
 #define dysize(y) \
        (((y) % 4) ? 365 : (((y) % 100) ? 366 : (((y) % 400) ? 365 : 366)))
 
@@ -112,10 +112,10 @@ static int dmsize[] = {
 
 
 /*
- * Get current time (adjusted for local time
- * zone and daylight savings time) expressed
- * as nmh "broken-down" time structure.
- */
+** Get current time (adjusted for local time
+** zone and daylight savings time) expressed
+** as nmh "broken-down" time structure.
+*/
 
 struct tws *
 dlocaltimenow (void)
@@ -128,10 +128,10 @@ dlocaltimenow (void)
 
 
 /*
- * Take clock value and return pointer to nmh time structure
- * containing "broken-down" time.  The time is adjusted for
- * local time zone and daylight savings time.
- */
+** Take clock value and return pointer to nmh time structure
+** containing "broken-down" time.  The time is adjusted for
+** local time zone and daylight savings time.
+*/
 
 struct tws *
 dlocaltime (time_t *clock)
@@ -192,10 +192,10 @@ dlocaltime (time_t *clock)
 
 
 /*
- * Take clock value and return pointer to nmh time
- * structure containing "broken-down" time.  Time is
- * expressed in UTC (Coordinated Universal Time).
- */
+** Take clock value and return pointer to nmh time
+** structure containing "broken-down" time.  Time is
+** expressed in UTC (Coordinated Universal Time).
+*/
 
 struct tws *
 dgmtime (time_t *clock)
@@ -240,11 +240,11 @@ dgmtime (time_t *clock)
 
 
 /*
- * Using a nmh "broken-down" time structure,
- * produce a 26-byte date/time string, such as
- *
- *    Tue Jan 14 17:49:03 1992\n\0
- */
+** Using a nmh "broken-down" time structure,
+** produce a 26-byte date/time string, such as
+**
+**    Tue Jan 14 17:49:03 1992\n\0
+*/
 
 char *
 dctime (struct tws *tw)
@@ -264,14 +264,14 @@ dctime (struct tws *tw)
 
 
 /*
- * Produce a date/time string of the form
- *
- *    Mon, 16 Jun 1992 15:30:48 -700 (or)
- *    Mon, 16 Jun 1992 15:30:48 EDT
- *
- * for the current time, as specified by rfc822.
- * The first form is required by rfc1123.
- */
+** Produce a date/time string of the form
+**
+**    Mon, 16 Jun 1992 15:30:48 -700 (or)
+**    Mon, 16 Jun 1992 15:30:48 EDT
+**
+** for the current time, as specified by rfc822.
+** The first form is required by rfc1123.
+*/
 
 char *
 dtimenow (int alpha_timezone)
@@ -284,15 +284,15 @@ dtimenow (int alpha_timezone)
 
 
 /*
- * Using a local calendar time value, produce
- * a date/time string of the form
- *
- *    Mon, 16 Jun 1992 15:30:48 -700  (or)
- *    Mon, 16 Jun 1992 15:30:48 EDT
- *
- * as specified by rfc822.  The first form is required
- * by rfc1123 for outgoing messages.
- */
+** Using a local calendar time value, produce
+** a date/time string of the form
+**
+**    Mon, 16 Jun 1992 15:30:48 -700  (or)
+**    Mon, 16 Jun 1992 15:30:48 EDT
+**
+** as specified by rfc822.  The first form is required
+** by rfc1123 for outgoing messages.
+*/
 
 char *
 dtime (time_t *clock, int alpha_timezone)
@@ -307,13 +307,13 @@ dtime (time_t *clock, int alpha_timezone)
 
 
 /*
- * Using a nmh "broken-down" time structure, produce
- * a date/time string of the form
- *
- *    Mon, 16 Jun 1992 15:30:48 -0700
- *
- * as specified by rfc822 and rfc1123.
- */
+** Using a nmh "broken-down" time structure, produce
+** a date/time string of the form
+**
+**    Mon, 16 Jun 1992 15:30:48 -0700
+**
+** as specified by rfc822 and rfc1123.
+*/
 
 char *
 dasctime (struct tws *tw, int flags)
@@ -348,8 +348,8 @@ dasctime (struct tws *tw, int flags)
 
 
 /*
- * Get the timezone for given offset
- */
+** Get the timezone for given offset
+*/
 
 char *
 dtimezone (int offset, int flags)
@@ -388,11 +388,11 @@ dtimezone (int offset, int flags)
 
 
 /*
- * Convert nmh time structure for local "broken-down"
- * time to calendar time (clock value).  This routine
- * is based on the gtime() routine written by Steven Shafer
- * at CMU.  It was forwarded to MTR by Jay Lepreau at Utah-CS.
- */
+** Convert nmh time structure for local "broken-down"
+** time to calendar time (clock value).  This routine
+** is based on the gtime() routine written by Steven Shafer
+** at CMU.  It was forwarded to MTR by Jay Lepreau at Utah-CS.
+*/
 
 time_t
 dmktime (struct tws *tw)
@@ -438,10 +438,10 @@ dmktime (struct tws *tw)
 
 
 /*
- * Simple calculation of day of the week.  Algorithm
- * used is Zeller's congruence.  We assume that
- * if tw->tw_year < 100, then the century = 19.
- */
+** Simple calculation of day of the week.  Algorithm
+** used is Zeller's congruence.  We assume that
+** if tw->tw_year < 100, then the century = 19.
+*/
 
 void
 set_dotw (struct tws *tw)
@@ -471,8 +471,8 @@ set_dotw (struct tws *tw)
 
 
 /*
- * Copy nmh time structure
- */
+** Copy nmh time structure
+*/
 
 void
 twscopy (struct tws *tb, struct tws *tw)
@@ -496,8 +496,8 @@ twscopy (struct tws *tb, struct tws *tw)
 
 
 /*
- * Compare two nmh time structures
- */
+** Compare two nmh time structures
+*/
 
 int
 twsort (struct tws *tw1, struct tws *tw2)
index 1c15006..42511c9 100644 (file)
@@ -1,10 +1,10 @@
 /*
- * error.c -- main error handling routines
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** error.c -- main error handling routines
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 
@@ -17,8 +17,8 @@
 
 
 /*
- * print out error message
- */
+** print out error message
+*/
 void
 advise (char *what, char *fmt, ...)
 {
@@ -31,8 +31,8 @@ advise (char *what, char *fmt, ...)
 
 
 /*
- * print out error message and exit
- */
+** print out error message and exit
+*/
 void
 adios (char *what, char *fmt, ...)
 {
@@ -46,8 +46,8 @@ adios (char *what, char *fmt, ...)
 
 
 /*
- * admonish the user
- */
+** admonish the user
+*/
 void
 admonish (char *what, char *fmt, ...)
 {
@@ -60,13 +60,13 @@ admonish (char *what, char *fmt, ...)
 
 
 /*
- * main routine for printing error messages.
- *
- * Use writev() if available, for slightly better performance.
- * Why?  Well, there are a couple of reasons.  Primarily, it
- * gives a smoother output...  More importantly though, it's a
- * sexy syscall()...
- */
+** main routine for printing error messages.
+**
+** Use writev() if available, for slightly better performance.
+** Why?  Well, there are a couple of reasons.  Primarily, it
+** gives a smoother output...  More importantly though, it's a
+** sexy syscall()...
+*/
 void
 advertise (char *what, char *tail, char *fmt, va_list ap)
 {
index 8986c03..db7bcec 100644 (file)
@@ -1,11 +1,11 @@
 /*
- * Run a program that hooks into some other system.  The first argument is
- * name of the hook to use, the second is the full path name of a mail message.
- * The third argument is also the full path name of a mail message, or a NULL
- * pointer if it isn't needed.  Look in the context for an error message if
- * something goes wrong; there is a built-in message in case one isn't
- * specified.  Only produce the error message once.
- */
+** Run a program that hooks into some other system.  The first argument is
+** name of the hook to use, the second is the full path name of a mail message.
+** The third argument is also the full path name of a mail message, or a NULL
+** pointer if it isn't needed.  Look in the context for an error message if
+** something goes wrong; there is a built-in message in case one isn't
+** specified.  Only produce the error message once.
+*/
 
 #include <h/mh.h>
 
index 72dff99..769c525 100644 (file)
@@ -1,10 +1,10 @@
 /*
- * fdcompare.c -- are two files identical?
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** fdcompare.c -- are two files identical?
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 
index bfb42d8..a2338e3 100644 (file)
@@ -1,10 +1,10 @@
 /*
- * fmt_addr.c -- format an address field (from fmt_scan)
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** fmt_addr.c -- format an address field (from fmt_scan)
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 #include <h/addrsbr.h>
@@ -33,19 +33,20 @@ static unsigned int bufsiz;  /* current size of buf         */
        }
 
 
-/* fmt_scan will call this routine if the user includes the function
- * "(formataddr {component})" in a format string.  "orig" is the
- * original contents of the string register.  "str" is the address
- * string to be formatted and concatenated onto orig.  This routine
- * returns a pointer to the concatenated address string.
- *
- * We try to not do a lot of malloc/copy/free's (which is why we
- * don't call "getcpy") but still place no upper limit on the
- * length of the result string.
- *
- * This routine is placed in a separate library so it can be
- * overridden by particular programs (e.g., "replsbr").
- */
+/*
+** fmt_scan will call this routine if the user includes the function
+** "(formataddr {component})" in a format string.  "orig" is the
+** original contents of the string register.  "str" is the address
+** string to be formatted and concatenated onto orig.  This routine
+** returns a pointer to the concatenated address string.
+**
+** We try to not do a lot of malloc/copy/free's (which is why we
+** don't call "getcpy") but still place no upper limit on the
+** length of the result string.
+**
+** This routine is placed in a separate library so it can be
+** overridden by particular programs (e.g., "replsbr").
+*/
 
 char *
 formataddr (char *orig, char *str)
@@ -65,9 +66,9 @@ formataddr (char *orig, char *str)
                bufend = buf + bufsiz;
        }
        /*
-        * If "orig" points to our buffer we can just pick up where we
-        * left off.  Otherwise we have to copy orig into our buffer.
-        */
+       ** If "orig" points to our buffer we can just pick up where we
+       ** left off.  Otherwise we have to copy orig into our buffer.
+       */
        if (orig == buf)
                dst = last_dst;
        else if (!orig || !*orig) {
index 87e0769..9d8f41d 100644 (file)
@@ -1,10 +1,10 @@
 /*
- * fmt_compile.c -- "compile" format strings for fmt_scan
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** fmt_compile.c -- "compile" format strings for fmt_scan
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 #include <h/addrsbr.h>
@@ -24,8 +24,8 @@
 #endif
 
 /*
- * hash table for deciding if a component is "interesting"
- */
+** hash table for deciding if a component is "interesting"
+*/
 struct comp *wantcomp[128];
 
 static struct format *formatvec;  /* array to hold formats */
@@ -50,9 +50,10 @@ extern struct mailname fmt_mnull;
 #define TF_NOP     8  /* like expr but no result            */
 
 /* ftable->flags */
-/* NB that TFL_PUTS is also used to decide whether the test
- * in a "%<(function)..." should be a string or numeric one.
- */
+/*
+** NB that TFL_PUTS is also used to decide whether the test
+** in a "%<(function)..." should be a string or numeric one.
+*/
 #define TFL_PUTS   1  /* implicit putstr if top level */
 #define TFL_PUTN   2  /* implicit putnum if top level */
 
@@ -191,13 +192,13 @@ static unsigned char *usr_fstring;  /* for CERROR */
 #define CERROR(str) compile_error (str, cp)
 
 /*
- * external prototypes
- */
+** external prototypes
+*/
 extern char *getusername(void);
 
 /*
- * static prototypes
- */
+** static prototypes
+*/
 static struct ftable *lookup(char *);
 static void compile_error(char *, char *);
 static char *compile (char *);
@@ -250,10 +251,10 @@ compile_error(char *str, char *cp)
 }
 
 /*
- * Compile format string "fstring" into format list "fmt".
- * Return the number of header components found in the format
- * string.
- */
+** Compile format string "fstring" into format list "fmt".
+** Return the number of header components found in the format
+** string.
+*/
 
 int
 fmt_compile(char *fstring, struct format **fmt)
@@ -272,12 +273,13 @@ fmt_compile(char *fstring, struct format **fmt)
 
        memset((char *) &fmt_mnull, 0, sizeof(fmt_mnull));
 
-       /* it takes at least 4 char to generate one format so we
-        * allocate a worst-case format array using 1/4 the length
-        * of the format string.  We actually need twice this much
-        * to handle both pre-processing (e.g., address parsing) and
-        * normal processing.
-        */
+       /*
+       ** it takes at least 4 char to generate one format so we
+       ** allocate a worst-case format array using 1/4 the length
+       ** of the format string.  We actually need twice this much
+       ** to handle both pre-processing (e.g., address parsing) and
+       ** normal processing.
+       */
        i = strlen(fstring)/2 + 1;
        if (i == 1)
                i++;
@@ -609,10 +611,11 @@ do_if(char *sp)
                                if (ftbl->f_type >= IF_FUNCS)
                                        fp->f_type = ftbl->extra;
                                else {
-                                       /* Put out a string test or a value
-                                        * test depending on what this
-                                        * function 's return type is.
-                                        */
+                                       /*
+                                       ** Put out a string test or a value
+                                       ** test depending on what this
+                                       ** function 's return type is.
+                                       */
                                        if (ftbl->flags & TFL_PUTS) {
                                                LV (FT_IF_S, 0);
                                        } else {
index d6e2e9f..65890e9 100644 (file)
@@ -1,10 +1,10 @@
 /*
- * fmt_def.c -- some defines for sbr/fmt_scan.c
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** fmt_def.c -- some defines for sbr/fmt_scan.c
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/addrsbr.h>
 
index 4acabe7..7576ae4 100644 (file)
@@ -1,10 +1,10 @@
 /*
- * fmt_new.c -- read format file/string and normalize
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** fmt_new.c -- read format file/string and normalize
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 #include <h/utils.h>
 static char *formats = 0;
 
 /*
- * static prototypes
- */
+** static prototypes
+*/
 static void normalize (char *);
 
 
 /*
- * Get new format string
- */
+** Get new format string
+*/
 
 char *
 new_fs (char *form, char *format, char *default_fs)
@@ -58,8 +58,8 @@ new_fs (char *form, char *format, char *default_fs)
 
 
 /*
- * Expand escapes in format strings
- */
+** Expand escapes in format strings
+*/
 
 static void
 normalize (char *cp)
index debc81e..5bc7850 100644 (file)
@@ -1,10 +1,10 @@
 /*
- * fmt_rfc2047.c -- decode RFC-2047 header format
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** fmt_rfc2047.c -- decode RFC-2047 header format
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 #include <h/utils.h>
@@ -50,8 +50,8 @@ unqp (unsigned char byte1, unsigned char byte2)
 
 
 /*
- * Decode the string as a RFC-2047 header field
- */
+** Decode the string as a RFC-2047 header field
+*/
 
 /* Add character to the destination buffer, and bomb out if it fills up */
 #define ADDCHR(C) do { *q++ = (C); dstlen--; if (!dstlen) goto buffull; } while (0)
@@ -78,9 +78,9 @@ decode_rfc2047 (char *str, char *dst, size_t dstlen)
                return 0;
 
        /*
-        * Do a quick and dirty check for the '=' character.
-        * This should quickly eliminate many cases.
-        */
+       ** Do a quick and dirty check for the '=' character.
+       ** This should quickly eliminate many cases.
+       */
        if (!strchr (str, '='))
                return 0;
 
@@ -94,9 +94,9 @@ decode_rfc2047 (char *str, char *dst, size_t dstlen)
                }
 #endif
                /*
-                * If we had an '=' character pending from
-                * last iteration, then add it first.
-                */
+               ** If we had an '=' character pending from
+               ** last iteration, then add it first.
+               */
                if (equals_pending) {
                        ADDCHR('=');
                        equals_pending = 0;
@@ -158,11 +158,11 @@ decode_rfc2047 (char *str, char *dst, size_t dstlen)
                        startofmime++;
 
                        /*
-                        * Scan ahead for the ending ?=
-                        *
-                        * While doing this, we will also check if encoded
-                        * word has any embedded linear whitespace.
-                        */
+                       ** Scan ahead for the ending ?=
+                       **
+                       ** While doing this, we will also check if encoded
+                       ** word has any embedded linear whitespace.
+                       */
                        endofmime = NULL;
                        for (pp = startofmime; *pp && *(pp+1); pp++) {
                                if (is_lws(*pp)) {
@@ -176,17 +176,18 @@ decode_rfc2047 (char *str, char *dst, size_t dstlen)
                                continue;
 
                        /*
-                        * We've found an encoded word, so we can drop
-                        * the '=' that was pending
-                        */
+                       ** We've found an encoded word, so we can drop
+                       ** the '=' that was pending
+                       */
                        equals_pending = 0;
 
                        /*
-                        * If we are between two encoded words separated only by
-                        * linear whitespace, then we ignore the whitespace.
-                        * We will roll back the buffer the number of whitespace
-                        * characters we've seen since last encoded word.
-                        */
+                       ** If we are between two encoded words separated
+                       ** only by linear whitespace, then we ignore
+                       ** the whitespace.  We will roll back the buffer
+                       ** the number of whitespace characters we've seen
+                       ** since last encoded word.
+                       */
                        if (between_encodings) {
                                q -= whitespace;
                                dstlen += whitespace;
@@ -194,9 +195,9 @@ decode_rfc2047 (char *str, char *dst, size_t dstlen)
 
 #ifdef HAVE_ICONV
                        /*
-                        * empty encoded text. This ensures that we don't
-                        * malloc 0 bytes but skip on to the end
-                        */
+                       ** empty encoded text. This ensures that we don't
+                       ** malloc 0 bytes but skip on to the end
+                       */
                        if (endofmime == startofmime && use_iconv) {
                                use_iconv = 0;
                                iconv_close(cd);
@@ -207,10 +208,11 @@ decode_rfc2047 (char *str, char *dst, size_t dstlen)
                                savedstlen = dstlen;
                                q = convbuf = (char *) mh_xmalloc(endofmime - startofmime);
                        }
-/* ADDCHR2 is for adding characters when q is or might be convbuf:
- * in this case on buffer-full we want to run iconv before returning.
- * I apologise for the dreadful name.
- */
+/*
+** ADDCHR2 is for adding characters when q is or might be convbuf:
+** in this case on buffer-full we want to run iconv before returning.
+** I apologise for the dreadful name.
+*/
 # define ADDCHR2(C) do { *q++ = (C); dstlen--; if (!dstlen) goto iconvbuffull; } while (0)
 #else
 # define ADDCHR2(C) ADDCHR(C)
@@ -278,10 +280,11 @@ decode_rfc2047 (char *str, char *dst, size_t dstlen)
 
 #ifdef HAVE_ICONV
                iconvbuffull:
-                       /* NB that the string at convbuf is not necessarily
-                        * NUL terminated here:
-                        * q points to the first byte after the valid part.
-                        */
+                       /*
+                       ** NB that the string at convbuf is not necessarily
+                       ** NUL terminated here:
+                       ** q points to the first byte after the valid part.
+                       */
                        /* Convert to native character set */
                        if (use_iconv) {
                                size_t inbytes = q - convbuf;
@@ -292,9 +295,13 @@ decode_rfc2047 (char *str, char *dst, size_t dstlen)
                                                (size_t)-1) {
                                                if (errno != EILSEQ)
                                                        break;
-                                               /* character couldn't be converted. we output a `?'
-                                                * and try to carry on which won't work if
-                                                * either encoding was stateful */
+                                               /*
+                                               ** character couldn't be
+                                               ** converted. we output a
+                                               ** `?'  and try to carry on
+                                               ** which won't work if either
+                                               ** encoding was stateful
+                                               */
                                                iconv (cd, 0, 0, &saveq, &savedstlen);
                                                if (!savedstlen)
                                                        break;
@@ -313,10 +320,13 @@ decode_rfc2047 (char *str, char *dst, size_t dstlen)
                                        }
                                }
                                q = saveq;
-                               /* Stop now if (1) we hit the end of the buffer trying to do
-                                * MIME decoding and have just iconv-converted a partial string
-                                * or (2) our iconv-conversion hit the end of the buffer.
-                                */
+                               /*
+                               ** Stop now if (1) we hit the end of the
+                               ** buffer trying to do MIME decoding and
+                               ** have just iconv-converted a partial
+                               ** string or (2) our iconv-conversion hit
+                               ** the end of the buffer.
+                               */
                                if (!dstlen || !savedstlen)
                                        goto buffull;
                                dstlen = savedstlen;
@@ -325,9 +335,9 @@ decode_rfc2047 (char *str, char *dst, size_t dstlen)
 #endif
 
                        /*
-                        * Now that we are done decoding this particular
-                        * encoded word, advance string to trailing '='.
-                        */
+                       ** Now that we are done decoding this particular
+                       ** encoded word, advance string to trailing '='.
+                       */
                        p = endofmime + 1;
 
                        encoding_found = 1;  /* we found (at least 1) encoded word */
@@ -347,8 +357,10 @@ decode_rfc2047 (char *str, char *dst, size_t dstlen)
        return encoding_found;
 
   buffull:
-       /* q is currently just off the end of the buffer,
-        * so rewind to NUL terminate */
+       /*
+       ** q is currently just off the end of the buffer,
+       ** so rewind to NUL terminate
+       */
        q--;
        *q = '\0';
        return encoding_found;
index 14ec48b..8a8e4c1 100644 (file)
@@ -1,10 +1,10 @@
 /*
- * fmt_scan.c -- format string interpretation
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** fmt_scan.c -- format string interpretation
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 #include <h/addrsbr.h>
@@ -39,17 +39,17 @@ extern int fmt_norm;  /* defined in sbr/fmt_def.c = AD_NAME */
 struct mailname fmt_mnull;
 
 /*
- * static prototypes
- */
+** static prototypes
+*/
 static int match (char *, char *);
 static char *get_x400_friendly (char *, char *, int);
 static int get_x400_comp (char *, char *, char *, int);
 
 
 /*
- * test if string "sub" appears anywhere in
- * string "str" (case insensitive).
- */
+** test if string "sub" appears anywhere in
+** string "str" (case insensitive).
+*/
 
 static int
 match (char *str, char *sub)
@@ -87,8 +87,8 @@ match (char *str, char *sub)
 }
 
 /*
- * copy a number to the destination subject to a maximum width
- */
+** copy a number to the destination subject to a maximum width
+*/
 static void
 cpnumber(char **dest, int num, unsigned int wid, char fill, size_t n) {
        int i, c;
@@ -118,10 +118,10 @@ cpnumber(char **dest, int num, unsigned int wid, char fill, size_t n) {
 }
 
 /*
- * copy string from str to dest padding with the fill character to a size
- * of wid characters. if wid is negative, the string is right aligned
- * no more than n bytes are copied
- */
+** copy string from str to dest padding with the fill character to a size
+** of wid characters. if wid is negative, the string is right aligned
+** no more than n bytes are copied
+*/
 static void
 cptrimmed(char **dest, char *str, unsigned int wid, char fill, size_t n) {
        int remaining; /* remaining output width available */
@@ -789,17 +789,21 @@ fmt_scan (struct format *format, char *scanl, int width, int *dat)
                        break;
 
                case FT_FORMATADDR:
-                       /* hook for custom address list formatting (see replsbr.c) */
+                       /*
+                       ** hook for custom address list formatting
+                       ** (see replsbr.c)
+                       */
                        str = formataddr (savestr, str);
                        break;
 
                case FT_PUTADDR:
-                       /* output the str register as an address component,
-                        * splitting it into multiple lines if necessary.  The
-                        * value reg. contains the max line length.  The lit.
-                        * field may contain a string to prepend to the result
-                        * (e.g., "To: ")
-                        */
+                       /*
+                       ** output the str register as an address component,
+                       ** splitting it into multiple lines if necessary.  The
+                       ** value reg. contains the max line length.  The lit.
+                       ** field may contain a string to prepend to the result
+                       ** (e.g., "To: ")
+                       */
                        {
                        unsigned char *lp;
                        char *lastb;
@@ -868,10 +872,10 @@ fmt_scan (struct format *format, char *scanl, int width, int *dat)
 
                case FT_MYMBOX:
                        /*
-                        * if there's no component, we say true.  Otherwise we
-                        * say "true" only if we can parse the address and it
-                        * matches one of our addresses.
-                        */
+                       ** if there's no component, we say true.  Otherwise we
+                       ** say "true" only if we can parse the address and it
+                       ** matches one of our addresses.
+                       */
                        comp = fmt->f_comp;
                        if (comp->c_mn != &fmt_mnull)
                                mnfree (comp->c_mn);
@@ -900,10 +904,12 @@ fmt_scan (struct format *format, char *scanl, int width, int *dat)
 
                case FT_ADDTOSEQ:
 #ifdef LBL
-                       /* If we're working on a folder (as opposed to a file), add the
-                        * current msg to sequence given in literal field.  Don't
-                        * disturb string or value registers.
-                        */
+                       /*
+                       ** If we're working on a folder (as opposed to a
+                       ** file), add the current msg to sequence given
+                       ** in literal field.  Don't disturb string or
+                       ** value registers.
+                       */
                        if (fmt_current_folder)
                                seq_addmsg(fmt_current_folder, fmt->f_text, dat[0], -1);
 #endif
index e26e3bf..5d1690e 100644 (file)
@@ -1,19 +1,19 @@
 /*
- * folder_addmsg.c -- Link message into folder
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** folder_addmsg.c -- Link message into folder
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 #include <fcntl.h>
 #include <errno.h>
 
 /*
- * Link message into a folder.  Return the new number
- * of the message.  If an error occurs, return -1.
- */
+** Link message into a folder.  Return the new number
+** of the message.  If an error occurs, return -1.
+*/
 
 int
 folder_addmsg (struct msgs **mpp, char *msgfile, int selected,
@@ -39,17 +39,17 @@ folder_addmsg (struct msgs **mpp, char *msgfile, int selected,
        }
 
        /*
-        * We might need to make several attempts
-        * in order to add the message to the folder.
-        */
+       ** We might need to make several attempts
+       ** in order to add the message to the folder.
+       */
        for (;; msgnum++) {
 
                /*
-                * See if we need more space.  If we need space at the
-                * end, then we allocate space for an addition 100 messages.
-                * If we need space at the beginning of the range, then just
-                * extend message status range to cover this message number.
-                */
+               ** See if we need more space.  If we need space at the
+               ** end, then we allocate space for an addition 100 messages.
+               ** If we need space at the beginning of the range, then just
+               ** extend message status range to cover this message number.
+               */
                if (msgnum > mp->hghoff) {
                        if ((mp = folder_realloc (mp, mp->lowoff, msgnum + 100)))
                                *mpp = mp;
@@ -67,9 +67,9 @@ folder_addmsg (struct msgs **mpp, char *msgfile, int selected,
                }
 
                /*
-                * If a message is already in that slot,
-                * then loop to next available slot.
-                */
+               ** If a message is already in that slot,
+               ** then loop to next available slot.
+               */
                if (does_exist (mp, msgnum))
                        continue;
 
@@ -102,8 +102,8 @@ folder_addmsg (struct msgs **mpp, char *msgfile, int selected,
                }
 
                /*
-                * check if this is highest or lowest message
-                */
+               ** check if this is highest or lowest message
+               */
                if (mp->nummsg == 0) {
                        mp->lowmsg = msgnum;
                        mp->hghmsg = msgnum;
@@ -121,12 +121,14 @@ folder_addmsg (struct msgs **mpp, char *msgfile, int selected,
                snprintf (newmsg, sizeof(newmsg), "%s/%s", mp->foldpath, nmsg);
 
                /*
-                * Now try to link message into folder.
-                * Then run the external hook on the message if one was specified in the context.
-                * Run the refile hook if we're moving the message from one place to another.
-                * We have to construct the from path name for this because it's not there.
-                * Run the add hook if the message is getting copied or linked somewhere else.
-                */
+               ** Now try to link message into folder.  Then run the
+               ** external hook on the message if one was specified in
+               ** the context.  Run the refile hook if we're moving the
+               ** message from one place to another.  We have to construct
+               ** the from path name for this because it's not there.
+               ** Run the add hook if the message is getting copied or
+               ** linked somewhere else.
+               */
                if (link (msgfile, newmsg) != -1) {
 
                        if (deleting) {
@@ -145,11 +147,12 @@ folder_addmsg (struct msgs **mpp, char *msgfile, int selected,
 #endif /* EISREMOTE */
 
                        /*
-                        * Check if the file in our desired location is the same
-                        * as the source file.  If so, then just leave it alone
-                        * and return.  Otherwise, we will continue the main loop
-                        * and try again at another slot (hghmsg+1).
-                        */
+                       ** Check if the file in our desired location is
+                       ** the same as the source file.  If so, then just
+                       ** leave it alone and return.  Otherwise, we will
+                       ** continue the main loop and try again at another
+                       ** slot (hghmsg+1).
+                       */
                        if (linkerr == EEXIST) {
                                if (stat (msgfile, &st2) == 0 && stat (newmsg, &st1) == 0
                                        && st2.st_ino == st1.st_ino) {
@@ -160,11 +163,11 @@ folder_addmsg (struct msgs **mpp, char *msgfile, int selected,
                        }
 
                        /*
-                        * If link failed because we are trying to link
-                        * across devices, then check if there is a message
-                        * already in the desired location.  If so, then return
-                        * error, else just copy the message.
-                        */
+                       ** If link failed because we are trying to link
+                       ** across devices, then check if there is a message
+                       ** already in the desired location.  If so, then return
+                       ** error, else just copy the message.
+                       */
                        if (linkerr == EXDEV) {
                                if (stat (newmsg, &st1) == 0) {
                                        advise (NULL, "message %s:%s already exists", mp->foldpath, newmsg);
@@ -195,9 +198,9 @@ folder_addmsg (struct msgs **mpp, char *msgfile, int selected,
                        }
 
                        /*
-                        * Else, some other type of link error,
-                        * so just return error.
-                        */
+                       ** Else, some other type of link error,
+                       ** so just return error.
+                       */
                        advise (newmsg, "error linking %s to", msgfile);
                        return -1;
                }
index 0636d11..5df5b5f 100644 (file)
@@ -1,22 +1,22 @@
 /*
- * folder_delmsgs.c -- "remove" SELECTED messages from a folder
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** folder_delmsgs.c -- "remove" SELECTED messages from a folder
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 
 /*
- * 1) If we are using an external rmmproc, then exec it.
- * 2) Else if unlink_msgs is non-zero, then unlink the
- *    SELECTED messages.
- * 3) Else rename SELECTED messages by prefixing name
- *    with backup_prefix.
- *
- * If there is an error, return -1, else return 0.
- */
+** 1) If we are using an external rmmproc, then exec it.
+** 2) Else if unlink_msgs is non-zero, then unlink the
+**    SELECTED messages.
+** 3) Else rename SELECTED messages by prefixing name
+**    with backup_prefix.
+**
+** If there is an error, return -1, else return 0.
+*/
 
 int
 folder_delmsgs (struct msgs *mp, int unlink_msgs, int nohook)
@@ -27,8 +27,8 @@ folder_delmsgs (struct msgs *mp, int unlink_msgs, int nohook)
        char msgpath[BUFSIZ];
 
        /*
-        * If "rmmproc" is defined, exec it to remove messages.
-        */
+       ** If "rmmproc" is defined, exec it to remove messages.
+       */
        if (rmmproc) {
                /* Unset the EXISTS flag for each message to be removed */
                for (msgnum = mp->lowsel; msgnum <= mp->hghsel; msgnum++) {
@@ -73,8 +73,8 @@ folder_delmsgs (struct msgs *mp, int unlink_msgs, int nohook)
        }
 
        /*
-        * Either unlink or rename the SELECTED messages
-        */
+       ** Either unlink or rename the SELECTED messages
+       */
        for (msgnum = mp->lowsel; msgnum <= mp->hghsel; msgnum++) {
                if (is_selected (mp, msgnum)) {
                        /* unselect message */
@@ -82,12 +82,14 @@ folder_delmsgs (struct msgs *mp, int unlink_msgs, int nohook)
                        mp->numsel--;
 
                        /*
-                        * Run the external hook on the message if one was specified in the context.
-                        * All we have is the message number; we have changed to the directory
-                        * containing the message.  So, we need to extract that directory to form
-                        * the complete path.  Note that the caller knows the directory, but has
-                        * no way of passing that to us.
-                        */
+                       ** Run the external hook on the message if one
+                       ** was specified in the context.  All we have
+                       ** is the message number; we have changed to
+                       ** the directory containing the message.  So,
+                       ** we need to extract that directory to form the
+                       ** complete path.  Note that the caller knows the
+                       ** directory, but has no way of passing that to us.
+                       */
 
                        if (!nohook) {
                                (void)snprintf(msgpath, sizeof (msgpath), "%s/%d", mp->foldpath, msgnum);
index 985c7a4..d88febe 100644 (file)
@@ -1,10 +1,10 @@
 /*
- * folder_free.c -- free a folder/message structure
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** folder_free.c -- free a folder/message structure
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 
index 2e321b0..29ed687 100644 (file)
@@ -1,18 +1,18 @@
 /*
- * folder_pack.c -- pack (renumber) the messages in a folder
- *               -- into a contiguous range from 1 to n.
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** folder_pack.c -- pack (renumber) the messages in a folder
+**               -- into a contiguous range from 1 to n.
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 
 /*
- * Pack the message in a folder.
- * Return -1 if error, else return 0.
- */
+** Pack the message in a folder.
+** Return -1 if error, else return 0.
+*/
 
 int
 folder_pack (struct msgs **mpp, int verbose)
@@ -24,15 +24,15 @@ folder_pack (struct msgs **mpp, int verbose)
        mp = *mpp;
 
        /*
-        * Just return if folder is empty.
-        */
+       ** Just return if folder is empty.
+       */
        if (mp->nummsg == 0)
                return 0;
 
        /*
-        * Make sure we have message status space allocated
-        * for all numbers from 1 to current high message.
-        */
+       ** Make sure we have message status space allocated
+       ** for all numbers from 1 to current high message.
+       */
        if (mp->lowoff > 1) {
                if ((mp = folder_realloc (mp, 1, mp->hghmsg)))
                        *mpp = mp;
@@ -51,10 +51,11 @@ folder_pack (struct msgs **mpp, int verbose)
                                        printf ("message %s becomes %s\n", oldmsg, newmsg);
 
                                /*
-                                * Invoke the external refile hook for each message being renamed.
-                                * This is done before the file is renamed so that the old message
-                                * file is around for the hook.
-                                */
+                               ** Invoke the external refile hook for each
+                               ** message being renamed.  This is done
+                               ** before the file is renamed so that the
+                               ** old message file is around for the hook.
+                               */
 
                                (void)snprintf(oldmsg, sizeof (oldmsg), "%s/%d", mp->foldpath, msgnum);
                                (void)snprintf(newmsg, sizeof (newmsg), "%s/%d", mp->foldpath, hole);
@@ -78,7 +79,10 @@ folder_pack (struct msgs **mpp, int verbose)
                                if (msgnum == mp->hghsel)
                                        mp->hghsel = hole;
 
-                               /* mark that sequence information has been modified */
+                               /*
+                               ** mark that sequence information has
+                               ** been modified
+                               */
                                mp->msgflags |= SEQMOD;
                        }
                        hole++;
index c77ea1e..5743166 100644 (file)
@@ -1,10 +1,10 @@
 /*
- * folder_read.c -- initialize folder structure and read folder
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** folder_read.c -- initialize folder structure and read folder
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 #include <h/utils.h>
 #define NUMMSGS  1024
 
 /*
- * 1) Create the folder/message structure
- * 2) Read the directory (folder) and temporarily
- *    record the numbers of the messages we have seen.
- * 3) Then allocate the array for message attributes and
- *    set the initial flags for all messages we've seen.
- * 4) Read and initialize the sequence information.
- */
+** 1) Create the folder/message structure
+** 2) Read the directory (folder) and temporarily
+**    record the numbers of the messages we have seen.
+** 3) Then allocate the array for message attributes and
+**    set the initial flags for all messages we've seen.
+** 4) Read and initialize the sequence information.
+*/
 
 struct msgs *
 folder_read (char *name)
@@ -59,18 +59,18 @@ folder_read (char *name)
        prefix_len = strlen(backup_prefix);
 
        /*
-        * Allocate a temporary place to record the
-        * name of the messages in this folder.
-        */
+       ** Allocate a temporary place to record the
+       ** name of the messages in this folder.
+       */
        len = NUMMSGS;
        mi = (int *) mh_xmalloc ((size_t) (len * sizeof(*mi)));
 
        while ((dp = readdir (dd))) {
                if ((msgnum = m_atoi (dp->d_name)) && msgnum > 0) {
                        /*
-                        * Check if we need to allocate more
-                        * temporary elements for message names.
-                        */
+                       ** Check if we need to allocate more
+                       ** temporary elements for message names.
+                       */
                        if (mp->nummsg >= len) {
                                len += NUMMSGS;
                                mi = (int *) mh_xrealloc (mi, (size_t) (len * sizeof(*mi)));
@@ -81,7 +81,10 @@ folder_read (char *name)
                                mp->lowmsg = msgnum;
                                mp->hghmsg = msgnum;
                        } else {
-                               /* Check if this is it the highest or lowest we've seen? */
+                               /*
+                               ** Check if this is it the highest or
+                               ** lowest we've seen?
+                               */
                                if (msgnum < mp->lowmsg)
                                   mp->lowmsg = msgnum;
                                if (msgnum > mp->hghmsg)
@@ -89,9 +92,9 @@ folder_read (char *name)
                        }
 
                        /*
-                        * Now increment count, and record message
-                        * number in a temporary place for now.
-                        */
+                       ** Now increment count, and record message
+                       ** number in a temporary place for now.
+                       */
                        mi[mp->nummsg++] = msgnum;
 
                } else {
@@ -104,7 +107,10 @@ folder_read (char *name)
                                        continue;
 
                                default:
-                                       /* skip any files beginning with backup prefix */
+                                       /*
+                                       ** skip any files beginning with
+                                       ** backup prefix
+                                       */
                                        if (!strncmp (dp->d_name, backup_prefix, prefix_len))
                                                continue;
 
@@ -112,7 +118,10 @@ folder_read (char *name)
                                        if (!strcmp (dp->d_name, altmsglink))
                                                continue;
 
-                                       /* indicate that there are other files in folder */
+                                       /*
+                                       ** indicate that there are other
+                                       ** files in folder
+                                       */
                                        set_other_files (mp);
                                        continue;
                        }
@@ -129,30 +138,30 @@ folder_read (char *name)
        /* mp->hghoff = max (mp->hghmsg, 1); */
 
        /*
-        * Allocate space for status of each message.
-        */
+       ** Allocate space for status of each message.
+       */
        mp->msgstats = mh_xmalloc (MSGSTATSIZE(mp, mp->lowoff, mp->hghoff));
 
        /*
-        * Clear all the flag bits for all the message
-        * status entries we just allocated.
-        */
+       ** Clear all the flag bits for all the message
+       ** status entries we just allocated.
+       */
        for (msgnum = mp->lowoff; msgnum <= mp->hghoff; msgnum++)
                clear_msg_flags (mp, msgnum);
 
        /*
-        * Scan through the array of messages we've seen and
-        * setup the initial flags for those messages in the
-        * newly allocated mp->msgstats area.
-        */
+       ** Scan through the array of messages we've seen and
+       ** setup the initial flags for those messages in the
+       ** newly allocated mp->msgstats area.
+       */
        for (msgnum = 0; msgnum < mp->nummsg; msgnum++)
                set_exists (mp, mi[msgnum]);
 
        free (mi);  /* We don't need this anymore */
 
        /*
-        * Read and initialize the sequence information.
-        */
+       ** Read and initialize the sequence information.
+       */
        seq_read (mp);
 
        return mp;
index 1d2b140..2418abd 100644 (file)
@@ -1,21 +1,21 @@
 /*
- * folder_realloc.c -- realloc a folder/msgs structure
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** folder_realloc.c -- realloc a folder/msgs structure
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 #include <h/utils.h>
 
 /*
- * Reallocate some of the space in the folder
- * structure (currently just message status array).
- *
- * Return pointer to new folder structure.
- * If error, return NULL.
- */
+** Reallocate some of the space in the folder
+** structure (currently just message status array).
+**
+** Return pointer to new folder structure.
+** If error, return NULL.
+*/
 
 struct msgs *
 folder_realloc (struct msgs *mp, int lo, int hi)
@@ -40,16 +40,16 @@ folder_realloc (struct msgs *mp, int lo, int hi)
 
        if (lo == mp->lowoff) {
                /*
-                * We are just extending (or shrinking) the end of message
-                * status array.  So we don't have to move anything and can
-                * just realloc the message status array.
-                */
+               ** We are just extending (or shrinking) the end of message
+               ** status array.  So we don't have to move anything and can
+               ** just realloc the message status array.
+               */
                mp->msgstats = mh_xrealloc (mp->msgstats, MSGSTATSIZE(mp, lo, hi));
        } else {
                /*
-                * We are changing the offset of the message status
-                * array.  So we will need to shift everything.
-                */
+               ** We are changing the offset of the message status
+               ** array.  So we will need to shift everything.
+               */
                seqset_t *tmpstats;
 
                /* first allocate the new message status space */
@@ -68,9 +68,9 @@ folder_realloc (struct msgs *mp, int lo, int hi)
        mp->hghoff = hi;
 
        /*
-        * Clear all the flags for entries outside
-        * the current message range for this folder.
-        */
+       ** Clear all the flags for entries outside
+       ** the current message range for this folder.
+       */
        if (mp->nummsg > 0) {
                for (msgnum = mp->lowoff; msgnum < mp->lowmsg; msgnum++)
                        clear_msg_flags (mp, msgnum);
index 270b729..27d91cd 100644 (file)
@@ -1,10 +1,10 @@
 /*
- * gans.c -- get an answer from the user
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** gans.c -- get an answer from the user
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 
index befbd9a..3e38d87 100644 (file)
@@ -1,10 +1,10 @@
 /*
- * getans.c -- get an answer from the user and return a string array
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** getans.c -- get an answer from the user and return a string array
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 #include <h/signals.h>
@@ -15,8 +15,8 @@ static char ansbuf[BUFSIZ];
 static jmp_buf sigenv;
 
 /*
- * static prototypes
- */
+** static prototypes
+*/
 static RETSIGTYPE intrser (int);
 
 
@@ -70,7 +70,7 @@ static RETSIGTYPE
 intrser (int i)
 {
        /*
-        * should this be siglongjmp?
-        */
+       ** should this be siglongjmp?
+       */
        longjmp (sigenv, 1);
 }
index ed5fac0..4707255 100644 (file)
@@ -1,10 +1,10 @@
 /*
- * getanswer.c -- get a yes/no answer from the user
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** getanswer.c -- get a yes/no answer from the user
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 #include <stdio.h>
index d133e06..5dbdf56 100644 (file)
@@ -1,10 +1,10 @@
 /*
- * getarguments.c -- Get the argument vector ready to go.
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** getarguments.c -- Get the argument vector ready to go.
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 #include <h/utils.h>
@@ -16,8 +16,8 @@ getarguments (char *invo_name, int argc, char **argv, int check_context)
        int n = 0;
 
        /*
-        * Check if profile/context specifies any arguments
-        */
+       ** Check if profile/context specifies any arguments
+       */
        if (check_context && (cp = context_find (invo_name))) {
                cp = getcpy (cp);  /* make copy */
                ap = brkstring (cp, " ", "\n");  /* split string */
index 2e94f08..b2891b8 100644 (file)
@@ -1,14 +1,14 @@
 /*
- * getcpy.c -- copy a string in managed memory
- *
- * THIS IS OBSOLETE.  NEED TO REPLACE ALL OCCURENCES
- * OF GETCPY WITH STRDUP.  BUT THIS WILL REQUIRE
- * CHANGING PARTS OF THE CODE TO DEAL WITH NULL VALUES.
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** getcpy.c -- copy a string in managed memory
+**
+** THIS IS OBSOLETE.  NEED TO REPLACE ALL OCCURENCES
+** OF GETCPY WITH STRDUP.  BUT THIS WILL REQUIRE
+** CHANGING PARTS OF THE CODE TO DEAL WITH NULL VALUES.
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 #include <h/utils.h>
index 11e2b21..02910c3 100644 (file)
@@ -1,10 +1,10 @@
 /*
- * getfolder.c -- get the current or default folder
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** getfolder.c -- get the current or default folder
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 
@@ -15,19 +15,19 @@ getfolder(int wantcurrent)
        register char *folder;
 
        /*
-        * If wantcurrent == 1, then try the current folder first
-        */
+       ** If wantcurrent == 1, then try the current folder first
+       */
        if (wantcurrent && (folder = context_find (pfolder)) && *folder != '\0')
                return folder;
 
        /*
-        * Else try the Inbox profile entry
-        */
+       ** Else try the Inbox profile entry
+       */
        if ((folder = context_find (inbox)) && *folder != '\0')
                return folder;
 
        /*
-        * Else return compile time default.
-        */
+       ** Else return compile time default.
+       */
        return defaultfolder;
 }
index 865a6c9..14f2242 100644 (file)
@@ -1,44 +1,46 @@
 /*
- * Portions of this code are Copyright (c) 1988, 1993
- *      The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *      This product includes software developed by the University of
- *      California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
+** Portions of this code are Copyright (c) 1988, 1993
+**      The Regents of the University of California.  All rights reserved.
+**
+** Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions
+** are met:
+** 1. Redistributions of source code must retain the above copyright
+**    notice, this list of conditions and the following disclaimer.
+** 2. Redistributions in binary form must reproduce the above copyright
+**    notice, this list of conditions and the following disclaimer in the
+**    documentation and/or other materials provided with the distribution.
+** 3. All advertising materials mentioning features or use of this software
+**    must display the following acknowledgement:
+**      This product includes software developed by the University of
+**      California, Berkeley and its contributors.
+** 4. Neither the name of the University nor the names of its contributors
+**    may be used to endorse or promote products derived from this software
+**    without specific prior written permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+** ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+** ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+** FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+** DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+** OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+** HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+** OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+** SUCH DAMAGE.
+*/
 
 #include <stdio.h>
 #include <termios.h>
 #include <unistd.h>   /* for isatty() */
 #include "h/mh.h"     /* for adios() */
 
-/* We don't use MAX_PASS here because the maximum password length on a remote
-   POP daemon will have nothing to do with the length on our OS.  256 is
-   arbitrary but hopefully big enough to accomodate everyone. */
+/*
+** We don't use MAX_PASS here because the maximum password length on a remote
+** POP daemon will have nothing to do with the length on our OS.  256 is
+** arbitrary but hopefully big enough to accomodate everyone.
+*/
 #define MAX_PASSWORD_LEN 256
 
 #ifndef TCSANOW
@@ -55,9 +57,10 @@ nmh_getpass(const char *prompt)
        static char buf[MAX_PASSWORD_LEN + 1];
        int istty = isatty(fileno(stdin));
 
-       /* Find if stdin is connect to a terminal. If so, read directly from
-        * the terminal, and turn off echo. Otherwise read from stdin.
-        */
+       /*
+       ** Find if stdin is connect to a terminal. If so, read directly from
+       ** the terminal, and turn off echo. Otherwise read from stdin.
+       */
 
        if (!istty || !(fout = fin = fopen("/dev/tty", "w+"))) {
                fout = stderr;
index 5bc83cc..d3d447e 100644 (file)
@@ -1,18 +1,19 @@
 /*
- * lock.c -- routines to lock/unlock files
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
-
-/* Modified by Ruud de Rooij to support Miquel van Smoorenburg's liblockfile
- *
- * Since liblockfile locking shares most of its code with dot locking, it
- * is enabled by defining both DOT_LOCKING and HAVE_LIBLOCKFILE.
- *
- * Ruud de Rooij <ruud@debian.org>  Sun, 28 Mar 1999 15:34:03 +0200
- */
+** lock.c -- routines to lock/unlock files
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
+
+/*
+** Modified by Ruud de Rooij to support Miquel van Smoorenburg's liblockfile
+**
+** Since liblockfile locking shares most of its code with dot locking, it
+** is enabled by defining both DOT_LOCKING and HAVE_LIBLOCKFILE.
+**
+** Ruud de Rooij <ruud@debian.org>  Sun, 28 Mar 1999 15:34:03 +0200
+*/
 
 #include <h/mh.h>
 #include <h/signals.h>
@@ -69,16 +70,16 @@ struct lockinfo {
 };
 
 /*
- * Amount of time to wait before
- * updating ctime of lock file.
- */
+** Amount of time to wait before
+** updating ctime of lock file.
+*/
 #define NSECS 20
 
 #if !defined(HAVE_LIBLOCKFILE)
 /*
- * How old does a lock file need to be
- * before we remove it.
- */
+** How old does a lock file need to be
+** before we remove it.
+*/
 #define RSECS 180
 #endif /* HAVE_LIBLOCKFILE */
 
@@ -94,8 +95,8 @@ static struct lock *l_top = NULL;
 #endif /* DOT_LOCKING */
 
 /*
- * static prototypes
- */
+** static prototypes
+*/
 #ifdef KERNEL_LOCKING
 static int lkopen_kernel (char *, int, mode_t);
 #endif
@@ -113,9 +114,9 @@ static int lockit (struct lockinfo *);
 #endif
 
 /*
- * Base routine to open and lock a file,
- * and return a file descriptor.
- */
+** Base routine to open and lock a file,
+** and return a file descriptor.
+*/
 
 int
 lkopen (char *file, int access, mode_t mode)
@@ -131,9 +132,9 @@ lkopen (char *file, int access, mode_t mode)
 
 
 /*
- * Base routine to close and unlock a file,
- * given a file descriptor.
- */
+** Base routine to close and unlock a file,
+** given a file descriptor.
+*/
 
 int
 lkclose (int fd, char *file)
@@ -182,9 +183,9 @@ lkclose (int fd, char *file)
 
 
 /*
- * Base routine to open and lock a file,
- * and return a FILE pointer
- */
+** Base routine to open and lock a file,
+** and return a FILE pointer
+*/
 
 FILE *
 lkfopen (char *file, char *mode)
@@ -222,9 +223,9 @@ lkfopen (char *file, char *mode)
 
 
 /*
- * Base routine to close and unlock a file,
- * given a FILE pointer
- */
+** Base routine to close and unlock a file,
+** given a FILE pointer
+*/
 
 int
 lkfclose (FILE *fp, char *file)
@@ -275,8 +276,8 @@ lkfclose (FILE *fp, char *file)
 #ifdef KERNEL_LOCKING
 
 /*
- * open and lock a file, using kernel locking
- */
+** open and lock a file, using kernel locking
+*/
 
 static int
 lkopen_kernel (char *file, int access, mode_t mode)
@@ -297,9 +298,9 @@ lkopen_kernel (char *file, int access, mode_t mode)
                access &= ~O_APPEND;
 
                /*
-                * We MUST have write permission or
-                * lockf/fcntl() won't work
-                */
+               ** We MUST have write permission or
+               ** lockf/fcntl() won't work
+               */
                if ((access & 03) == O_RDONLY) {
                        access &= ~O_RDONLY;
                        access |= O_RDWR;
@@ -349,8 +350,8 @@ lkopen_kernel (char *file, int access, mode_t mode)
 #ifdef DOT_LOCKING
 
 /*
- * open and lock a file, using dot locking
- */
+** open and lock a file, using dot locking
+*/
 
 static int
 lkopen_dot (char *file, int access, mode_t mode)
@@ -363,9 +364,9 @@ lkopen_dot (char *file, int access, mode_t mode)
                return -1;
 
        /*
-        * Get the name of the eventual lock file, as well
-        * as a name for a temporary lock file.
-        */
+       ** Get the name of the eventual lock file, as well
+       ** as a name for a temporary lock file.
+       */
        lockname (file, &lkinfo, 1);
 
 #if !defined(HAVE_LIBLOCKFILE)
@@ -379,9 +380,10 @@ lkopen_dot (char *file, int access, mode_t mode)
                                return fd;
                        } else {
                                /*
-                                * Abort locking, if we fail to lock after 5 attempts
-                                * and are never able to stat the lock file.
-                                */
+                               ** Abort locking, if we fail to lock after 5
+                               ** attempts and are never able to stat the
+                               ** lock file.
+                               */
                                struct stat st;
                                if (stat (lkinfo.curlock, &st) == -1) {
                                        if (i++ > 5)
@@ -392,7 +394,10 @@ lkopen_dot (char *file, int access, mode_t mode)
                                        i = 0;
                                        time (&curtime);
 
-                                       /* check for stale lockfile, else sleep */
+                                       /*
+                                       ** check for stale lockfile,
+                                       ** else sleep
+                                       */
                                        if (curtime > st.st_ctime + RSECS)
                                                unlink (lkinfo.curlock);
                                        else
@@ -415,9 +420,9 @@ lkopen_dot (char *file, int access, mode_t mode)
 
 #if !defined(HAVE_LIBLOCKFILE)
 /*
- * Routine that actually tries to create
- * the lock file.
- */
+** Routine that actually tries to create
+** the lock file.
+*/
 
 static int
 lockit (struct lockinfo *li)
@@ -454,9 +459,9 @@ lockit (struct lockinfo *li)
        close (fd);
 
        /*
-        * Now try to create the real lock file
-        * by linking to the temporary file.
-        */
+       ** Now try to create the real lock file
+       ** by linking to the temporary file.
+       */
        fd = link(tmplock, curlock);
        unlink(tmplock);
 
@@ -465,8 +470,8 @@ lockit (struct lockinfo *li)
 #endif /* HAVE_LIBLOCKFILE */
 
 /*
- * Get name of lock file, and temporary lock file
- */
+** Get name of lock file, and temporary lock file
+*/
 
 static void
 lockname (char *file, struct lockinfo *li, int isnewlock)
@@ -499,10 +504,10 @@ lockname (char *file, struct lockinfo *li, int isnewlock)
 
 #if 0
        /*
-        * mmdf style dot locking.  Currently not supported.
-        * If we start supporting mmdf style dot locking,
-        * we will need to change the return value of lockname
-        */
+       ** mmdf style dot locking.  Currently not supported.
+       ** If we start supporting mmdf style dot locking,
+       ** we will need to change the return value of lockname
+       */
        if (stat (file, &st) == -1)
                return -1;
 
@@ -514,9 +519,9 @@ lockname (char *file, struct lockinfo *li, int isnewlock)
 
 #if !defined(HAVE_LIBLOCKFILE)
        /*
-        * If this is for a new lock, create a name for
-        * the temporary lock file for lockit()
-        */
+       ** If this is for a new lock, create a name for
+       ** the temporary lock file for lockit()
+       */
        if (isnewlock) {
                if ((cp = strrchr (li->curlock, '/')) == NULL || *++cp == 0)
                        strncpy (li->tmplock, ",LCK.XXXXXX", sizeof(li->tmplock));
@@ -529,9 +534,9 @@ lockname (char *file, struct lockinfo *li, int isnewlock)
 
 
 /*
- * Add new lockfile to the list of open lockfiles
- * and start the lock file timer.
- */
+** Add new lockfile to the list of open lockfiles
+** and start the lock file timer.
+*/
 
 static void
 timerON (char *curlock, int fd)
@@ -558,9 +563,9 @@ timerON (char *curlock, int fd)
 
 
 /*
- * Search through the list of lockfiles for the
- * current lockfile, and remove it from the list.
- */
+** Search through the list of lockfiles for the
+** current lockfile, and remove it from the list.
+*/
 
 static void
 timerOFF (int fd)
@@ -592,9 +597,9 @@ timerOFF (int fd)
 
 
 /*
- * If timer goes off, we update the ctime of all open
- * lockfiles, so another command doesn't remove them.
- */
+** If timer goes off, we update the ctime of all open
+** lockfiles, so another command doesn't remove them.
+*/
 
 static RETSIGTYPE
 alrmser (int sig)
index 21606c4..0222533 100644 (file)
@@ -1,12 +1,12 @@
 /*
- * m_atoi.c -- Parse a string representation of a message number, and
- *          -- return the numeric value of the message.  If the string
- *          -- contains any non-digit characters, then return 0.
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** m_atoi.c -- Parse a string representation of a message number, and
+**          -- return the numeric value of the message.  If the string
+**          -- contains any non-digit characters, then return 0.
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 
index 1b219a2..e8c5566 100644 (file)
@@ -1,10 +1,10 @@
 /*
- * m_backup.c -- construct a backup file
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** m_backup.c -- construct a backup file
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 
index ee9ba5b..cd18406 100644 (file)
@@ -1,17 +1,17 @@
 /*
- * m_convert.c -- parse a message range or sequence and set SELECTED
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** m_convert.c -- parse a message range or sequence and set SELECTED
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 
 /*
- * error codes for sequence
- * and message range processing
- */
+** error codes for sequence
+** and message range processing
+*/
 #define BADMSG (-2)
 #define BADRNG (-3)
 #define BADNEW (-4)
@@ -27,8 +27,8 @@ static int convdir; /* convert direction */
 static char *delimp;
 
 /*
- * static prototypes
- */
+** static prototypes
+*/
 static int m_conv (struct msgs *, char *, int);
 static int attr (struct msgs *, char *);
 
@@ -50,15 +50,15 @@ m_convert (struct msgs *mp, char *name)
        else if (err > 0)
                return 1;
        /*
-        * else err == 0, so continue
-        */
+       ** else err == 0, so continue
+       */
 
        found = 0;
 
        /*
-        * Check for special "new" sequence, which
-        * is valid only if ALLOW_NEW is set.
-        */
+       ** Check for special "new" sequence, which
+       ** is valid only if ALLOW_NEW is set.
+       */
        if ((mp->msgflags & ALLOW_NEW) && !strcmp (cp, "new")) {
                if ((err = first = getnew (mp)) <= 0)
                        goto badmsg;
@@ -75,7 +75,8 @@ m_convert (struct msgs *mp, char *name)
        cp = delimp;
        if (*cp != '\0' && *cp != '-' && *cp != ':') {
 badelim:
-               advise (NULL, "illegal argument delimiter: `%c'(0%o)", *delimp, *delimp);
+               advise (NULL, "illegal argument delimiter: `%c'(0%o)",
+                               *delimp, *delimp);
                return 0;
        }
 
@@ -93,7 +94,8 @@ badmsg:
                                break;
 
                        case BADRNG:
-                               advise (NULL, "message %s out of range 1-%d", cp, mp->hghmsg);
+                               advise (NULL, "message %s out of range 1-%d",
+                                               cp, mp->hghmsg);
                                break;
 
                        case BADLST:
@@ -102,7 +104,8 @@ badlist:
                                break;
 
                        case BADNEW:
-                               advise (NULL, "folder full, no %s message", name);
+                               advise (NULL, "folder full, no %s message",
+                                               name);
                                break;
 
                        default:
@@ -170,12 +173,12 @@ rangerr:
 
 single:
                /*
-                * Single Message
-                *
-                * If ALLOW_NEW is set, then allow selecting of an
-                * empty slot.  If ALLOW_NEW is not set, then we
-                * check if message is in-range and exists.
-                */
+               ** Single Message
+               **
+               ** If ALLOW_NEW is set, then allow selecting of an
+               ** empty slot.  If ALLOW_NEW is not set, then we
+               ** check if message is in-range and exists.
+               */
                if (mp->msgflags & ALLOW_NEW) {
                        set_select_empty (mp, first);
                } else {
@@ -193,10 +196,10 @@ single:
        }
 
        /*
-        * Cycle through the range and select the messages
-        * that exist.  If ALLOW_NEW is set, then we also check
-        * if we are selecting an empty slot.
-        */
+       ** Cycle through the range and select the messages
+       ** that exist.  If ALLOW_NEW is set, then we also check
+       ** if we are selecting an empty slot.
+       */
        for (; first <= last; first++) {
                if (does_exist (mp, first) ||
                        ((mp->msgflags & ALLOW_NEW) && is_select_empty (mp, first))) {
@@ -219,17 +222,17 @@ single:
 }
 
 /*
- * Convert the various message names to
- * their numeric values.
- *
- * n  (integer)
- * prev
- * next
- * first
- * last
- * cur
- * .  (same as cur)
- */
+** Convert the various message names to
+** their numeric values.
+**
+** n  (integer)
+** prev
+** next
+** first
+** last
+** cur
+** .  (same as cur)
+*/
 
 static int
 m_conv (struct msgs *mp, char *str, int call)
@@ -305,18 +308,18 @@ m_conv (struct msgs *mp, char *str, int call)
 }
 
 /*
- * Handle user defined sequences.
- * They can take the following forms:
- *
- * seq
- * seq:prev
- * seq:next
- * seq:first
- * seq:last
- * seq:+n
- * seq:-n
- * seq:n
- */
+** Handle user defined sequences.
+** They can take the following forms:
+**
+** seq
+** seq:prev
+** seq:next
+** seq:first
+** seq:last
+** seq:+n
+** seq:-n
+** seq:n
+*/
 
 static int
 attr (struct msgs *mp, char *cp)
@@ -351,11 +354,11 @@ attr (struct msgs *mp, char *cp)
                range = 1;
 
                /*
-                * seq:prev  (or)
-                * seq:next  (or)
-                * seq:first (or)
-                * seq:last
-                */
+               ** seq:prev  (or)
+               ** seq:next  (or)
+               ** seq:first (or)
+               ** seq:last
+               */
                if (isalpha (*dp)) {
                        if (!strcmp (dp, "prev")) {
                                convdir = -1;
@@ -373,10 +376,10 @@ attr (struct msgs *mp, char *cp)
                                return BADLST;
                } else {
                        /*
-                        * seq:n  (or)
-                        * seq:+n (or)
-                        * seq:-n
-                        */
+                       ** seq:n  (or)
+                       ** seq:+n (or)
+                       ** seq:-n
+                       */
                        if (*dp == '+')
                                dp++;
                        else if (*dp == '-') {
@@ -418,9 +421,9 @@ attr (struct msgs *mp, char *cp)
                        found++;
 
                        /*
-                        * If we have a range, then break out
-                        * once we've found enough.
-                        */
+                       ** If we have a range, then break out
+                       ** once we've found enough.
+                       */
                        if (range && found >= range)
                                break;
                }
index 4a64804..845fb96 100644 (file)
@@ -1,10 +1,10 @@
 /*
- * m_draft.c -- construct the name of a draft message
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** m_draft.c -- construct the name of a draft message
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 #include <h/utils.h>
@@ -39,11 +39,11 @@ m_draft(char *which)
                adios (NULL, "unable to read folder %s", folder);
 
        /*
-        * Make sure we have enough message status space for all
-        * the message numbers from 1 to "new", since we might
-        * select an empty slot.  If we add more space at the
-        * end, go ahead and add 10 additional slots.
-        */
+       ** Make sure we have enough message status space for all
+       ** the message numbers from 1 to "new", since we might
+       ** select an empty slot.  If we add more space at the
+       ** end, go ahead and add 10 additional slots.
+       */
        if (mp->hghmsg >= mp->hghoff) {
                if (!(mp = folder_realloc (mp, 1, mp->hghmsg + 10)))
                        adios (NULL, "unable to allocate folder storage");
@@ -55,10 +55,10 @@ m_draft(char *which)
        mp->msgflags |= ALLOW_NEW;  /* allow the "new" sequence */
 
        /*
-        * The draft message name to return is defined by `which'.
-        * Usually it is "cur" (for the current draft) or "new"
-        * (to start a new draft).
-        */
+       ** The draft message name to return is defined by `which'.
+       ** Usually it is "cur" (for the current draft) or "new"
+       ** (to start a new draft).
+       */
        if (!m_convert (mp, which))
                done (1);
        seq_setprev (mp);
index f2c2ffa..1ce52b6 100644 (file)
 /*
- * m_getfld.c -- read/parse a message
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** m_getfld.c -- read/parse a message
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 #include <h/mts.h>
 #include <h/utils.h>
 
-/* This module has a long and checkered history.  First, it didn't burst
-   maildrops correctly because it considered two CTRL-A:s in a row to be
-   an inter-message delimiter.  It really is four CTRL-A:s followed by a
-   newline.  Unfortunately, MMDF will convert this delimiter *inside* a
-   message to a CTRL-B followed by three CTRL-A:s and a newline.  This
-   caused the old version of m_getfld() to declare eom prematurely.  The
-   fix was a lot slower than
-
-                c == '\001' && peekc (iob) == '\001'
-
-   but it worked, and to increase generality, MBOX style maildrops could
-   be parsed as well.  Unfortunately the speed issue finally caught up with
-   us since this routine is at the very heart of MH.
-
-   To speed things up considerably, the routine Eom() was made an auxilary
-   function called by the macro eom().  Unless we are bursting a maildrop,
-   the eom() macro returns FALSE saying we aren't at the end of the
-   message.
-
-   The next thing to do is to read the mts.conf file and initialize
-   delimiter[] and delimlen accordingly...
-
-   After mhl was made a built-in in msh, m_getfld() worked just fine
-   (using m_unknown() at startup).  Until one day: a message which was
-   the result of a bursting was shown. Then, since the burst boundaries
-   aren't CTRL-A:s, m_getfld() would blinding plunge on past the boundary.
-   Very sad.  The solution: introduce m_eomsbr().  This hook gets called
-   after the end of each line (since testing for eom involves an fseek()).
-   This worked fine, until one day: a message with no body portion arrived.
-   Then the
-
-                   while (eom (c = Getc (iob), iob))
-                        continue;
-
-   loop caused m_getfld() to return FMTERR.  So, that logic was changed to
-   check for (*eom_action) and act accordingly.
-
-   [ Note by meillo 2011-10:
-     as msh was removed from mmh, m_eomsbr() became irrelevant. ]
-
-   This worked fine, until one day: someone didn't use four CTRL:A's as
-   their delimiters.  So, the bullet got bit and we read mts.h and
-   continue to struggle on.  It's not that bad though, since the only time
-   the code gets executed is when inc (or msh) calls it, and both of these
-   have already called mts_init().
-
-   ------------------------
-   (Written by Van Jacobson for the mh6 m_getfld, January, 1986):
-
-   This routine was accounting for 60% of the cpu time used by most mh
-   programs.  I spent a bit of time tuning and it now accounts for <10%
-   of the time used.  Like any heavily tuned routine, it's a bit
-   complex and you want to be sure you understand everything that it's
-   doing before you start hacking on it.  Let me try to emphasize
-   that:  every line in this atrocity depends on every other line,
-   sometimes in subtle ways.  You should understand it all, in detail,
-   before trying to change any part.  If you do change it, test the
-   result thoroughly (I use a hand-constructed test file that exercises
-   all the ways a header name, header body, header continuation,
-   header-body separator, body line and body eom can align themselves
-   with respect to a buffer boundary).  "Minor" bugs in this routine
-   result in garbaged or lost mail.
-
-   If you hack on this and slow it down, I, my children and my
-   children's children will curse you.
-
-   This routine gets used on three different types of files: normal,
-   single msg files, "packed" unix or mmdf mailboxs (when used by inc)
-   and packed, directoried bulletin board files (when used by msh).
-   The biggest impact of different file types is in "eom" testing.  The
-   code has been carefully organized to test for eom at appropriate
-   times and at no other times (since the check is quite expensive).
-   I have tried to arrange things so that the eom check need only be
-   done on entry to this routine.  Since an eom can only occur after a
-   newline, this is easy to manage for header fields.  For the msg
-   body, we try to efficiently search the input buffer to see if
-   contains the eom delimiter.  If it does, we take up to the
-   delimiter, otherwise we take everything in the buffer.  (The change
-   to the body eom/copy processing produced the most noticeable
-   performance difference, particularly for "inc" and "show".)
-
-   There are three qualitatively different things this routine busts
-   out of a message: field names, field text and msg bodies.  Field
-   names are typically short (~8 char) and the loop that extracts them
-   might terminate on a colon, newline or max width.  I considered
-   using a Vax "scanc" to locate the end of the field followed by a
-   "bcopy" but the routine call overhead on a Vax is too large for this
-   to work on short names.  If Berkeley ever makes "inline" part of the
-   C optimiser (so things like "scanc" turn into inline instructions) a
-   change here would be worthwhile.
-
-   Field text is typically 60 - 100 characters so there's (barely)
-   a win in doing a routine call to something that does a "locc"
-   followed by a "bmove".  About 30% of the fields have continuations
-   (usually the 822 "received:" lines) and each continuation generates
-   another routine call.  "Inline" would be a big win here, as well.
-
-   Messages, as of this writing, seem to come in two flavors: small
-   (~1K) and long (>2K).  Most messages have 400 - 600 bytes of headers
-   so message bodies average at least a few hundred characters.
-   Assuming your system uses reasonably sized stdio buffers (1K or
-   more), this routine should be able to remove the body in large
-   (>500 byte) chunks.  The makes the cost of a call to "bcopy"
-   small but there is a premium on checking for the eom in packed
-   maildrops.  The eom pattern is always a simple string so we can
-   construct an efficient pattern matcher for it (e.g., a Vax "matchc"
-   instruction).  Some thought went into recognizing the start of
-   an eom that has been split across two buffers.
-
-   This routine wants to deal with large chunks of data so, rather
-   than "getc" into a local buffer, it uses stdio's buffer.  If
-   you try to use it on a non-buffered file, you'll get what you
-   deserve.  This routine "knows" that struct FILEs have a _ptr
-   and a _cnt to describe the current state of the buffer and
-   it knows that _filbuf ignores the _ptr & _cnt and simply fills
-   the buffer.  If stdio on your system doesn't work this way, you
-   may have to make small changes in this routine.
-
-   This routine also "knows" that an EOF indication on a stream is
-   "sticky" (i.e., you will keep getting EOF until you reposition the
-   stream).  If your system doesn't work this way it is broken and you
-   should complain to the vendor.  As a consequence of the sticky
-   EOF, this routine will never return any kind of EOF status when
-   there is data in "name" or "buf").
-  */
+/*
+** This module has a long and checkered history.  First, it didn't burst
+** maildrops correctly because it considered two CTRL-A:s in a row to be
+** an inter-message delimiter.  It really is four CTRL-A:s followed by a
+** newline.  Unfortunately, MMDF will convert this delimiter *inside* a
+** message to a CTRL-B followed by three CTRL-A:s and a newline.  This
+** caused the old version of m_getfld() to declare eom prematurely.  The
+** fix was a lot slower than
+**
+**              c == '\001' && peekc (iob) == '\001'
+**
+** but it worked, and to increase generality, MBOX style maildrops could
+** be parsed as well.  Unfortunately the speed issue finally caught up with
+** us since this routine is at the very heart of MH.
+**
+** To speed things up considerably, the routine Eom() was made an auxilary
+** function called by the macro eom().  Unless we are bursting a maildrop,
+** the eom() macro returns FALSE saying we aren't at the end of the
+** message.
+**
+** The next thing to do is to read the mts.conf file and initialize
+** delimiter[] and delimlen accordingly...
+**
+** After mhl was made a built-in in msh, m_getfld() worked just fine
+** (using m_unknown() at startup).  Until one day: a message which was
+** the result of a bursting was shown. Then, since the burst boundaries
+** aren't CTRL-A:s, m_getfld() would blinding plunge on past the boundary.
+** Very sad.  The solution: introduce m_eomsbr().  This hook gets called
+** after the end of each line (since testing for eom involves an fseek()).
+** This worked fine, until one day: a message with no body portion arrived.
+** Then the
+**
+**                 while (eom (c = Getc (iob), iob))
+**                      continue;
+**
+** loop caused m_getfld() to return FMTERR.  So, that logic was changed to
+** check for (*eom_action) and act accordingly.
+**
+** [ Note by meillo 2011-10:
+**   as msh was removed from mmh, m_eomsbr() became irrelevant. ]
+**
+** This worked fine, until one day: someone didn't use four CTRL:A's as
+** their delimiters.  So, the bullet got bit and we read mts.h and
+** continue to struggle on.  It's not that bad though, since the only time
+** the code gets executed is when inc (or msh) calls it, and both of these
+** have already called mts_init().
+**
+** ------------------------
+** (Written by Van Jacobson for the mh6 m_getfld, January, 1986):
+**
+** This routine was accounting for 60% of the cpu time used by most mh
+** programs.  I spent a bit of time tuning and it now accounts for <10%
+** of the time used.  Like any heavily tuned routine, it's a bit
+** complex and you want to be sure you understand everything that it's
+** doing before you start hacking on it.  Let me try to emphasize
+** that:  every line in this atrocity depends on every other line,
+** sometimes in subtle ways.  You should understand it all, in detail,
+** before trying to change any part.  If you do change it, test the
+** result thoroughly (I use a hand-constructed test file that exercises
+** all the ways a header name, header body, header continuation,
+** header-body separator, body line and body eom can align themselves
+** with respect to a buffer boundary).  "Minor" bugs in this routine
+** result in garbaged or lost mail.
+**
+** If you hack on this and slow it down, I, my children and my
+** children's children will curse you.
+**
+** This routine gets used on three different types of files: normal,
+** single msg files, "packed" unix or mmdf mailboxs (when used by inc)
+** and packed, directoried bulletin board files (when used by msh).
+** The biggest impact of different file types is in "eom" testing.  The
+** code has been carefully organized to test for eom at appropriate
+** times and at no other times (since the check is quite expensive).
+** I have tried to arrange things so that the eom check need only be
+** done on entry to this routine.  Since an eom can only occur after a
+** newline, this is easy to manage for header fields.  For the msg
+** body, we try to efficiently search the input buffer to see if
+** contains the eom delimiter.  If it does, we take up to the
+** delimiter, otherwise we take everything in the buffer.  (The change
+** to the body eom/copy processing produced the most noticeable
+** performance difference, particularly for "inc" and "show".)
+**
+** There are three qualitatively different things this routine busts
+** out of a message: field names, field text and msg bodies.  Field
+** names are typically short (~8 char) and the loop that extracts them
+** might terminate on a colon, newline or max width.  I considered
+** using a Vax "scanc" to locate the end of the field followed by a
+** "bcopy" but the routine call overhead on a Vax is too large for this
+** to work on short names.  If Berkeley ever makes "inline" part of the
+** C optimiser (so things like "scanc" turn into inline instructions) a
+** change here would be worthwhile.
+**
+** Field text is typically 60 - 100 characters so there's (barely)
+** a win in doing a routine call to something that does a "locc"
+** followed by a "bmove".  About 30% of the fields have continuations
+** (usually the 822 "received:" lines) and each continuation generates
+** another routine call.  "Inline" would be a big win here, as well.
+**
+** Messages, as of this writing, seem to come in two flavors: small
+** (~1K) and long (>2K).  Most messages have 400 - 600 bytes of headers
+** so message bodies average at least a few hundred characters.
+** Assuming your system uses reasonably sized stdio buffers (1K or
+** more), this routine should be able to remove the body in large
+** (>500 byte) chunks.  The makes the cost of a call to "bcopy"
+** small but there is a premium on checking for the eom in packed
+** maildrops.  The eom pattern is always a simple string so we can
+** construct an efficient pattern matcher for it (e.g., a Vax "matchc"
+** instruction).  Some thought went into recognizing the start of
+** an eom that has been split across two buffers.
+**
+** This routine wants to deal with large chunks of data so, rather
+** than "getc" into a local buffer, it uses stdio's buffer.  If
+** you try to use it on a non-buffered file, you'll get what you
+** deserve.  This routine "knows" that struct FILEs have a _ptr
+** and a _cnt to describe the current state of the buffer and
+** it knows that _filbuf ignores the _ptr & _cnt and simply fills
+** the buffer.  If stdio on your system doesn't work this way, you
+** may have to make small changes in this routine.
+**
+** This routine also "knows" that an EOF indication on a stream is
+** "sticky" (i.e., you will keep getting EOF until you reposition the
+** stream).  If your system doesn't work this way it is broken and you
+** should complain to the vendor.  As a consequence of the sticky
+** EOF, this routine will never return any kind of EOF status when
+** there is data in "name" or "buf").
+*/
 
 
 /*
- * static prototypes
- */
+** static prototypes
+*/
 static int m_Eom (int, FILE *);
 static unsigned char *matchc(int, char *, int, char *);
 static unsigned char *locc(int, unsigned char *, unsigned char);
@@ -152,30 +153,30 @@ static unsigned char *locc(int, unsigned char *, unsigned char);
 static unsigned char **pat_map;
 
 /*
- * defined in sbr/m_msgdef.c = 0
- * This is a disgusting hack for "inc" so it can know how many
- * characters were stuffed in the buffer on the last call
- * (see comments in uip/scansbr.c).
- */
+** defined in sbr/m_msgdef.c = 0
+** This is a disgusting hack for "inc" so it can know how many
+** characters were stuffed in the buffer on the last call
+** (see comments in uip/scansbr.c).
+*/
 extern int msg_count;
 
 /*
- * defined in sbr/m_msgdef.c = MS_DEFAULT
- */
+** defined in sbr/m_msgdef.c = MS_DEFAULT
+*/
 extern int msg_style;
 
 /*
- * The "full" delimiter string for a packed maildrop consists
- * of a newline followed by the actual delimiter.  E.g., the
- * full string for a Unix maildrop would be: "\n\nFrom ".
- * "Fdelim" points to the start of the full string and is used
- * in the BODY case of the main routine to search the buffer for
- * a possible eom.  Msg_delim points to the first character of
- * the actual delim. string (i.e., fdelim+1).  Edelim
- * points to the 2nd character of actual delimiter string.  It
- * is used in m_Eom because the first character of the string
- * has been read and matched before m_Eom is called.
- */
+** The "full" delimiter string for a packed maildrop consists
+** of a newline followed by the actual delimiter.  E.g., the
+** full string for a Unix maildrop would be: "\n\nFrom ".
+** "Fdelim" points to the start of the full string and is used
+** in the BODY case of the main routine to search the buffer for
+** a possible eom.  Msg_delim points to the first character of
+** the actual delim. string (i.e., fdelim+1).  Edelim
+** points to the 2nd character of actual delimiter string.  It
+** is used in m_Eom because the first character of the string
+** has been read and matched before m_Eom is called.
+*/
 extern char *msg_delim;  /* defined in sbr/m_msgdef.c = "" */
 static unsigned char *fdelim;
 static unsigned char *delimend;
@@ -255,10 +256,10 @@ m_getfld (int state, unsigned char *name, unsigned char *buf,
                                goto body;
                        }
                        /*
-                        * get the name of this component.  take characters up
-                        * to a ':', a newline or NAMESZ-1 characters,
-                        * whichever comes first.
-                        */
+                       ** get the name of this component.  take characters up
+                       ** to a ':', a newline or NAMESZ-1 characters,
+                       ** whichever comes first.
+                       */
                        cp = name;
                        i = NAMESZ - 1;
                        for (;;) {
@@ -308,24 +309,35 @@ m_getfld (int state, unsigned char *name, unsigned char *buf,
                                        break;
 
                                /*
-                                * something went wrong.  possibilities are:
-                                *  . hit a newline (error)
-                                *  . got more than namesz chars. (error)
-                                *  . hit the end of the buffer. (loop)
-                                */
+                               ** something went wrong.  possibilities are:
+                               **  . hit a newline (error)
+                               **  . got more than namesz chars. (error)
+                               **  . hit the end of the buffer. (loop)
+                               */
                                if (c == '\n') {
-                                       /* We hit the end of the line without seeing ':' to
-                                        * terminate the field name.  This is usually (always?)
-                                        * spam.  But, blowing up is lame, especially when
-                                        * scan(1)ing a folder with such messages.  Pretend such
-                                        * lines are the first of the body (at least mutt also
-                                        * handles it this way). */
-
-                                       /* See if buf can hold this line, since we were assuming
-                                        * we had a buffer of NAMESZ, not bufsz. */
+                                       /*
+                                       ** We hit the end of the line
+                                       ** without seeing ':' to terminate
+                                       ** the field name.  This is usually
+                                       ** (always?)  spam.  But, blowing
+                                       ** up is lame, especially when
+                                       ** scan(1)ing a folder with such
+                                       ** messages.  Pretend such lines are
+                                       ** the first of the body (at least
+                                       ** mutt also handles it this way).
+                                       */
+
+                                       /*
+                                       ** See if buf can hold this line,
+                                       ** since we were assuming we had
+                                       ** a buffer of NAMESZ, not bufsz.
+                                       */
                                        /* + 1 for the newline */
                                        if (bufsz < j + 1) {
-                                               /* No, it can't.  Oh well, guess we'll blow up. */
+                                               /*
+                                               ** No, it can't.  Oh well,
+                                               ** guess we'll blow up.
+                                               */
                                                *cp = *buf = 0;
                                                advise (NULL, "eol encountered in field \"%s\"", name);
                                                state = FMTERR;
@@ -334,13 +346,20 @@ m_getfld (int state, unsigned char *name, unsigned char *buf,
                                        memcpy (buf, name, j - 1);
                                        buf[j - 1] = '\n';
                                        buf[j] = '\0';
-                                       /* mhparse.c:get_content wants to find the position of the
-                                        * body start, but it thinks there's a blank line between
-                                        * the header and the body (naturally!), so seek back so
-                                        * that things line up even though we don't have that
-                                        * blank line in this case.  Simpler parsers (e.g. mhl)
-                                        * get extra newlines, but that should be harmless enough,
-                                        * right?  This is a corrupt message anyway. */
+                                       /*
+                                       ** mhparse.c:get_content wants to
+                                       ** find the position of the body
+                                       ** start, but it thinks there's a
+                                       ** blank line between the header
+                                       ** and the body (naturally!), so
+                                       ** seek back so that things line
+                                       ** up even though we don't have
+                                       ** that blank line in this case.
+                                       ** Simpler parsers (e.g. mhl)
+                                       ** get extra newlines, but that
+                                       ** should be harmless enough, right?
+                                       ** This is a corrupt message anyway.
+                                       */
                                        fseek (iob, ftell (iob) - 2, SEEK_SET);
                                        return BODY;
                                }
@@ -359,10 +378,10 @@ m_getfld (int state, unsigned char *name, unsigned char *buf,
 
                case FLDPLUS:
                        /*
-                        * get (more of) the text of a field.  take
-                        * characters up to the end of this field (newline
-                        * followed by non-blank) or bufsz-1 characters.
-                        */
+                       ** get (more of) the text of a field.  take
+                       ** characters up to the end of this field (newline
+                       ** followed by non-blank) or bufsz-1 characters.
+                       */
                        cp = buf; i = bufsz-1;
                        for (;;) {
 #ifdef LINUX_STDIO
@@ -378,8 +397,9 @@ m_getfld (int state, unsigned char *name, unsigned char *buf,
                                c = cnt < i ? cnt : i;
                                while ((ep = locc( c, bp, '\n' ))) {
                                        /*
-                                        * if we hit the end of this field, return.
-                                        */
+                                       ** if we hit the end of this field,
+                                       ** return.
+                                       */
                                        if ((j = *++ep) != ' ' && j != '\t') {
 #ifdef LINUX_STDIO
                                                j = ep - (unsigned char *) iob->_IO_read_ptr;
@@ -404,8 +424,9 @@ m_getfld (int state, unsigned char *name, unsigned char *buf,
                                        bp = ep;
                                }
                                /*
-                                * end of input or dest buffer - copy what we've found.
-                                */
+                               ** end of input or dest buffer - copy what
+                               ** we've found.
+                               */
 #ifdef LINUX_STDIO
                                c += bp - (unsigned char *) iob->_IO_read_ptr;
                                memcpy( cp, iob->_IO_read_ptr, c);
@@ -433,11 +454,12 @@ m_getfld (int state, unsigned char *name, unsigned char *buf,
                                        break;
                                }
                                /*
-                                * There's one character left in the input buffer.
-                                * Copy it & fill the buffer.  If the last char
-                                * was a newline and the next char is not whitespace,
-                                * this is the end of the field.  Otherwise loop.
-                                */
+                               ** There's one character left in the input
+                               ** buffer.  Copy it & fill the buffer.
+                               ** If the last char was a newline and the
+                               ** next char is not whitespace, this is
+                               ** the end of the field.  Otherwise loop.
+                               */
                                --i;
 #ifdef LINUX_STDIO
                                *cp++ = j = *(iob->_IO_read_ptr + c);
@@ -473,11 +495,12 @@ m_getfld (int state, unsigned char *name, unsigned char *buf,
                case BODY:
                body:
                        /*
-                        * get the message body up to bufsz characters or the
-                        * end of the message.  Sleazy hack: if bufsz is negative
-                        * we assume that we were called to copy directly into
-                        * the output buffer and we don't add an eos.
-                        */
+                       ** get the message body up to bufsz characters or
+                       ** the end of the message.  Sleazy hack: if bufsz
+                       ** is negative we assume that we were called to
+                       ** copy directly into the output buffer and we
+                       ** don't add an eos.
+                       */
                        i = (bufsz < 0) ? -bufsz : bufsz-1;
 #ifdef LINUX_STDIO
                        bp = (unsigned char *) --iob->_IO_read_ptr;
@@ -492,61 +515,91 @@ m_getfld (int state, unsigned char *name, unsigned char *buf,
                        c = (cnt < i ? cnt : i);
                        if (msg_style != MS_DEFAULT && c > 1) {
                                /*
-                                * packed maildrop - only take up to the (possible)
-                                * start of the next message.  This "matchc" should
-                                * probably be a Boyer-Moore matcher for non-vaxen,
-                                * particularly since we have the alignment table
-                                * all built for the end-of-buffer test (next).
-                                * But our vax timings indicate that the "matchc"
-                                * instruction is 50% faster than a carefully coded
-                                * B.M. matcher for most strings.  (So much for elegant
-                                * algorithms vs. brute force.)  Since I (currently)
-                                * run MH on a vax, we use the matchc instruction. --vj
-                                */
+                               ** packed maildrop - only take up to the
+                               ** (possible) start of the next message.
+                               ** This "matchc" should probably be a
+                               ** Boyer-Moore matcher for non-vaxen,
+                               ** particularly since we have the alignment
+                               ** table all built for the end-of-buffer
+                               ** test (next).  But our vax timings
+                               ** indicate that the "matchc" instruction
+                               ** is 50% faster than a carefully coded
+                               ** B.M. matcher for most strings.  (So much
+                               ** for elegant algorithms vs. brute force.)
+                               ** Since I (currently) run MH on a vax,
+                               ** we use the matchc instruction. --vj
+                               */
                                if ((ep = matchc( fdelimlen, fdelim, c, bp )))
                                        c = ep - bp + 1;
                                else {
                                        /*
-                                        * There's no delim in the buffer but there may be
-                                        * a partial one at the end.  If so, we want to leave
-                                        * it so the "eom" check on the next call picks it up.
-                                        * Use a modified Boyer-Moore matcher to make this
-                                        * check relatively cheap.  The first "if" figures
-                                        * out what position in the pattern matches the last
-                                        * character in the buffer.  The inner "while" matches
-                                        * the pattern against the buffer, backwards starting
-                                        * at that position.  Note that unless the buffer
-                                        * ends with one of the characters in the pattern
-                                        * (excluding the first and last), we do only one test.
-                                        */
+                                       ** There's no delim in the buffer
+                                       ** but there may be a partial one
+                                       ** at the end.  If so, we want
+                                       ** to leave it so the "eom" check
+                                       ** on the next call picks it up.
+                                       ** Use a modified Boyer-Moore
+                                       ** matcher to make this check
+                                       ** relatively cheap.  The first
+                                       ** "if" figures out what position
+                                       ** in the pattern matches the
+                                       ** last character in the buffer.
+                                       ** The inner "while" matches the
+                                       ** pattern against the buffer,
+                                       ** backwards starting at that
+                                       ** position.  Note that unless
+                                       ** the buffer ends with one of
+                                       ** the characters in the pattern
+                                       ** (excluding the first and last),
+                                       ** we do only one test.
+                                       */
                                        ep = bp + c - 1;
                                        if ((sp = pat_map[*ep])) {
                                                do {
-                                                       /* This if() is true unless (a) the buffer is too
-                                                        * small to contain this delimiter prefix, or
-                                                        * (b) it contains exactly enough chars for the
-                                                        * delimiter prefix.
-                                                        * For case (a) obviously we aren't going to match.
-                                                        * For case (b), if the buffer really contained exactly
-                                                        * a delim prefix, then the m_eom call at entry
-                                                        * should have found it.  Thus it's not a delim
-                                                        * and we know we won't get a match.
-                                                        */
+                                                       /*
+                                                       ** This if() is
+                                                       ** true unless (a)
+                                                       ** the buffer is too
+                                                       ** small to contain
+                                                       ** this delimiter
+                                                       ** prefix, or (b)
+                                                       ** it contains
+                                                       ** exactly enough
+                                                       ** chars for the
+                                                       ** delimiter prefix.
+                                                       ** For case (a)
+                                                       ** obviously we
+                                                       ** aren't going
+                                                       ** to match.
+                                                       ** For case (b),
+                                                       ** if the buffer
+                                                       ** really contained
+                                                       ** exactly a delim
+                                                       ** prefix, then
+                                                       ** the m_eom call
+                                                       ** at entry should
+                                                       ** have found it.
+                                                       ** Thus it's not
+                                                       ** a delim and we
+                                                       ** know we won't
+                                                       ** get a match.
+                                                       */
                                                        if (((sp - fdelim) + 2) <= c) {
                                                                cp = sp;
-                                                               /* Unfortunately although fdelim has a preceding NUL
-                                                                * we can't use this as a sentinel in case the buffer
-                                                                * contains a NUL in exactly the wrong place (this
-                                                                * would cause us to run off the front of fdelim).
-                                                                */
+                                                               /*
+                                                               ** Unfortunately although fdelim has a preceding NUL
+                                                               ** we can't use this as a sentinel in case the buffer
+                                                               ** contains a NUL in exactly the wrong place (this
+                                                               ** would cause us to run off the front of fdelim).
+                                                               */
                                                                while (*--ep == *--cp)
                                                                        if (cp < fdelim)
                                                                                break;
                                                                if (cp < fdelim) {
                                                                        /* we matched the entire delim prefix,
-                                                                        * so only take the buffer up to there.
-                                                                        * we know ep >= bp -- check above prevents underrun
-                                                                        */
+                                                                       ** so only take the buffer up to there.
+                                                                       ** we know ep >= bp -- check above prevents underrun
+                                                                       */
                                                                        c = (ep - bp) + 2;
                                                                        break;
                                                                }
@@ -598,17 +651,17 @@ m_unknown(FILE *iob)
        register char *delimstr;
 
 /*
- * Figure out what the message delimitter string is for this
- * maildrop.  (This used to be part of m_Eom but I didn't like
- * the idea of an "if" statement that could only succeed on the
- * first call to m_Eom getting executed on each call, i.e., at
- * every newline in the message).
- *
- * If the first line of the maildrop is a Unix "From " line, we
- * say the style is MBOX and eat the rest of the line.  Otherwise
- * we say the style is MMDF and look for the delimiter string
- * specified when nmh was built (or from the mts.conf file).
- */
+** Figure out what the message delimitter string is for this
+** maildrop.  (This used to be part of m_Eom but I didn't like
+** the idea of an "if" statement that could only succeed on the
+** first call to m_Eom getting executed on each call, i.e., at
+** every newline in the message).
+**
+** If the first line of the maildrop is a Unix "From " line, we
+** say the style is MBOX and eat the rest of the line.  Otherwise
+** we say the style is MMDF and look for the delimiter string
+** specified when nmh was built (or from the mts.conf file).
+*/
 
        msg_style = MS_UNKNOWN;
 
@@ -647,11 +700,11 @@ m_unknown(FILE *iob)
        if (edelimlen <= 1)
                adios (NULL, "maildrop delimiter must be at least 2 bytes");
        /*
-        * build a Boyer-Moore end-position map for the matcher in m_getfld.
-        * N.B. - we don't match just the first char (since it's the newline
-        * separator) or the last char (since the matchc would have found it
-        * if it was a real delim).
-        */
+       ** build a Boyer-Moore end-position map for the matcher in m_getfld.
+       ** N.B. - we don't match just the first char (since it's the newline
+       ** separator) or the last char (since the matchc would have found it
+       ** if it was a real delim).
+       */
        pat_map = (unsigned char **) calloc (256, sizeof(unsigned char *));
 
        for (cp = (char *) fdelim + 1; cp < (char *) delimend; cp++ )
@@ -668,8 +721,8 @@ m_unknown(FILE *iob)
 
 
 /*
- * test for msg delimiter string
- */
+** test for msg delimiter string
+*/
 
 static int
 m_Eom (int c, FILE *iob)
@@ -685,9 +738,10 @@ m_Eom (int c, FILE *iob)
        if ((i = fread (text, sizeof *text, edelimlen, iob)) != edelimlen
                || strncmp (text, (char *)edelim, edelimlen)) {
                if (i == 0 && msg_style == MS_MBOX)
-                       /* the final newline in the (brain damaged) unix-format
-                        * maildrop is part of the delimitter - delete it.
-                        */
+                       /*
+                       ** the final newline in the (brain damaged) unix-format
+                       ** maildrop is part of the delimitter - delete it.
+                       */
                        return 1;
 
 #if 0
@@ -718,15 +772,15 @@ m_Eom (int c, FILE *iob)
 
 #ifdef RPATHS
 /*
- * Return the Return-Path and Delivery-Date
- * header information.
- *
- * Currently, I'm assuming that the "From " line
- * takes one of the following forms.
- *
- * From sender date remote from host   (for UUCP delivery)
- * From sender@host  date              (for sendmail delivery)
- */
+** Return the Return-Path and Delivery-Date
+** header information.
+**
+** Currently, I'm assuming that the "From " line
+** takes one of the following forms.
+**
+** From sender date remote from host   (for UUCP delivery)
+** From sender@host  date              (for sendmail delivery)
+*/
 
 int
 get_returnpath (char *rp, int rplen, char *dd, int ddlen)
@@ -738,9 +792,9 @@ get_returnpath (char *rp, int rplen, char *dd, int ddlen)
                return 0;
 
        /*
-        * Check for "remote from" in envelope to see
-        * if this message uses UUCP style addressing
-        */
+       ** Check for "remote from" in envelope to see
+       ** if this message uses UUCP style addressing
+       */
        while ((cp = strchr(++cp, 'r'))) {
                if (strncmp (cp, "remote from", 11) == 0) {
                        cp = strrchr (cp, ' ');
@@ -749,9 +803,9 @@ get_returnpath (char *rp, int rplen, char *dd, int ddlen)
        }
 
        /*
-        * Get the Return-Path information from
-        * the "From " envelope.
-        */
+       ** Get the Return-Path information from
+       ** the "From " envelope.
+       */
        if (cp) {
                /* return path for UUCP style addressing */
                dp = strchr (++cp, '\n');
@@ -762,9 +816,9 @@ get_returnpath (char *rp, int rplen, char *dd, int ddlen)
        }
 
        /*
-        * advance over the spaces to get to
-        * delivery date on envelope
-        */
+       ** advance over the spaces to get to
+       ** delivery date on envelope
+       */
        while (*bp == ' ')
                bp++;
 
@@ -802,9 +856,9 @@ matchc(int patln, char *pat, int strln, char *str)
 
 
 /*
- * Locate character "term" in the next "cnt" characters of "src".
- * If found, return its address, otherwise return 0.
- */
+** Locate character "term" in the next "cnt" characters of "src".
+** If found, return its address, otherwise return 0.
+*/
 
 static unsigned char *
 locc(int cnt, unsigned char *src, unsigned char term)
index 9bf7088..999e6f7 100644 (file)
@@ -1,10 +1,10 @@
 /*
- * m_gmprot.c -- return the msg-protect value
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** m_gmprot.c -- return the msg-protect value
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 
index 15e4a66..1ba21c8 100644 (file)
@@ -1,10 +1,10 @@
 /*
- * m_maildir.c -- get the path for the mail directory
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** m_maildir.c -- get the path for the mail directory
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 
@@ -18,8 +18,8 @@
 static char mailfold[BUFSIZ];
 
 /*
- * static prototypes
- */
+** static prototypes
+*/
 static char *exmaildir (char *);
 
 
index 6f2089b..9b9652b 100644 (file)
@@ -1,10 +1,10 @@
 /*
- * m_mktemp.c -- Construct a temporary file.
- *
- * This code is Copyright (c) 2010, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** m_mktemp.c -- Construct a temporary file.
+**
+** This code is Copyright (c) 2010, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <errno.h>
 #include <h/mh.h>
 static char *get_temp_dir();
 
 /*  Create a temporary file.  If pfx_in is null, the temporary file
- *  will be created in the temporary directory (more on that later).
- *  If pfx_in is not null, then the temporary file location will be
- *  defined by the value pfx_in.
- *
- *  The file created will be at the pathname specified appended with
- *  6 random (we hope :) characters.
- *
- *  The return value will be the pathname to the file created.
- *
- *  CAUTION: The return pointer references static data.  If
- *  you need to modify, or save, the return string, make a copy of it
- *  first.
- *
- *  When pfx_in is null, the temporary directory is determined as
- *  follows, in order:
- *
- *    MHTMPDIR envvar
- *    TMPDIR envvar
- *    TMP envvar
- *    User's mail directory.
- *
- *  NOTE: One will probably use m_mktemp2() instead of this function.
- *  For example, if you want to create a temp file in the defined
- *  temporary directory, but with a custom basename prefix, do
- *  something like the following:
- *
- *    char *tmp_pathname = m_mktemp2(NULL, "mypre", ...);
- */
+**  will be created in the temporary directory (more on that later).
+**  If pfx_in is not null, then the temporary file location will be
+**  defined by the value pfx_in.
+**
+**  The file created will be at the pathname specified appended with
+**  6 random (we hope :) characters.
+**
+**  The return value will be the pathname to the file created.
+**
+**  CAUTION: The return pointer references static data.  If
+**  you need to modify, or save, the return string, make a copy of it
+**  first.
+**
+**  When pfx_in is null, the temporary directory is determined as
+**  follows, in order:
+**
+**    MHTMPDIR envvar
+**    TMPDIR envvar
+**    TMP envvar
+**    User's mail directory.
+**
+**  NOTE: One will probably use m_mktemp2() instead of this function.
+**  For example, if you want to create a temp file in the defined
+**  temporary directory, but with a custom basename prefix, do
+**  something like the following:
+**
+**    char *tmp_pathname = m_mktemp2(NULL, "mypre", ...);
+*/
 char *
 m_mktemp (
        const char *pfx_in,  /* Pathname prefix for temporary file. */
-       int *fd_ret,         /* (return,optional) File descriptor to temp file. */
-       FILE **fp_ret        /* (return,optional) FILE pointer to temp file. */
+       int *fd_ret,         /* (return,opt.) File descriptor to temp file. */
+       FILE **fp_ret        /* (return,opt.) FILE pointer to temp file. */
 )
 {
        static char tmpfil[BUFSIZ];
@@ -53,7 +53,8 @@ m_mktemp (
        mode_t oldmode = umask(077);
 
        if (pfx_in == NULL) {
-               snprintf(tmpfil, sizeof(tmpfil), "%s/nmhXXXXXX", get_temp_dir());
+               snprintf(tmpfil, sizeof(tmpfil), "%s/nmhXXXXXX",
+                               get_temp_dir());
        } else {
                snprintf(tmpfil, sizeof(tmpfil), "%sXXXXXX", pfx_in);
        }
@@ -87,22 +88,23 @@ m_mktemp (
        return tmpfil;
 }
 
-/* This version allows one to specify the directory the temp file should
- * by created based on a given pathname.  Although m_mktemp() technically
- * supports this, this version is when the directory is defined by
- * a separate variable from the prefix, eliminating the caller from having
- * to do string manipulation to generate the desired. pathname prefix.
- *
- * The pfx_in parameter specifies a basename prefix for the file.  If dir_in
- * is NULL, then the defined temporary directory (see comments to m_mktemp()
- * above) is used to create the temp file.
- */
+/*
+** This version allows one to specify the directory the temp file should
+** by created based on a given pathname.  Although m_mktemp() technically
+** supports this, this version is when the directory is defined by
+** a separate variable from the prefix, eliminating the caller from having
+** to do string manipulation to generate the desired. pathname prefix.
+**
+** The pfx_in parameter specifies a basename prefix for the file.  If dir_in
+** is NULL, then the defined temporary directory (see comments to m_mktemp()
+** above) is used to create the temp file.
+*/
 char *
 m_mktemp2 (
        const char *dir_in,   /* Directory to place temp file. */
        const char *pfx_in,   /* Basename prefix for temp file. */
-       int *fd_ret,          /* (return,optional) File descriptor to temp file. */
-       FILE **fp_ret         /* (return,optional) FILE pointer to temp file. */
+       int *fd_ret,          /* (return,opt.) File descriptor to temp file. */
+       FILE **fp_ret         /* (return,opt.) FILE pointer to temp file. */
 )
 {
        static char buffer[BUFSIZ];
@@ -130,7 +132,7 @@ m_mktemp2 (
 static char *
 get_temp_dir()
 {
-       // Ignore envvars if we are setuid
+       /* Ignore envvars if we are setuid */
        if ((getuid()==geteuid()) && (getgid()==getegid())) {
                char *tmpdir = NULL;
                tmpdir = getenv("MHTMPDIR");
index cddb4e9..cdab622 100644 (file)
@@ -1,32 +1,32 @@
 /*
- * m_msgdef.c -- some defines for sbr/m_getfld.c
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** m_msgdef.c -- some defines for sbr/m_getfld.c
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 
 /*
- * disgusting hack for "inc" so it can know how many characters
- * were stuffed in the buffer on the last call (see comments
- * in uip/scansbr.c)
- */
+** disgusting hack for "inc" so it can know how many characters
+** were stuffed in the buffer on the last call (see comments
+** in uip/scansbr.c)
+*/
 int msg_count = 0;
 
 int msg_style = MS_DEFAULT;
 
 /*
- * The "full" delimiter string for a packed maildrop consists
- * of a newline followed by the actual delimiter.  E.g., the
- * full string for a Unix maildrop would be: "\n\nFrom ".
- * "Fdelim" points to the start of the full string and is used
- * in the BODY case of the main routine to search the buffer for
- * a possible eom.  Msg_delim points to the first character of
- * the actual delim. string (i.e., fdelim+1).  Edelim
- * points to the 2nd character of actual delimiter string.  It
- * is used in m_Eom because the first character of the string
- * has been read and matched before m_Eom is called.
- */
+** The "full" delimiter string for a packed maildrop consists
+** of a newline followed by the actual delimiter.  E.g., the
+** full string for a Unix maildrop would be: "\n\nFrom ".
+** "Fdelim" points to the start of the full string and is used
+** in the BODY case of the main routine to search the buffer for
+** a possible eom.  Msg_delim points to the first character of
+** the actual delim. string (i.e., fdelim+1).  Edelim
+** points to the 2nd character of actual delimiter string.  It
+** is used in m_Eom because the first character of the string
+** has been read and matched before m_Eom is called.
+*/
 char *msg_delim = "";
index bc3a681..20acffe 100644 (file)
@@ -1,10 +1,10 @@
 /*
- * m_name.c -- return a message number as a string
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** m_name.c -- return a message number as a string
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 
index 1e03caa..89e9045 100644 (file)
@@ -1,14 +1,14 @@
 /*
- * makedir.c -- make a directory
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** makedir.c -- make a directory
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 /*
- * Modified to try recursive create.
- */
+** Modified to try recursive create.
+*/
 
 #include <h/mh.h>
 #include <errno.h>
@@ -31,17 +31,22 @@ makedir (char *dir)
        if (!(folder_perms_ASCII = context_find ("folder-protect")))
                folder_perms_ASCII = foldprot;  /* defaults to "700" */
 
-       /* Because mh-profile.man documents "Folder-Protect:" as an octal constant,
-          and we don't want to force the user to remember to include a leading
-          zero, we call atooi(folder_perms_ASCII) here rather than
-          strtoul(folder_perms_ASCII, NULL, 0).  Therefore, if anyone ever tries to
-          specify a mode in say, hex, they'll get garbage.  (I guess nmh uses its
-          atooi() function rather than calling strtoul() with a radix of 8 because
-          some ancient platforms are missing that functionality. */
+       /*
+       ** Because mh-profile.man documents "Folder-Protect:" as an octal
+       ** constant, and we don't want to force the user to remember to
+       ** include a leading zero, we call atooi(folder_perms_ASCII) here
+       ** rather than strtoul(folder_perms_ASCII, NULL, 0).  Therefore,
+       ** if anyone ever tries to specify a mode in say, hex, they'll
+       ** get garbage.  (I guess nmh uses its atooi() function rather
+       ** than calling strtoul() with a radix of 8 because some ancient
+       ** platforms are missing that functionality.
+       */
        folder_perms = atooi(folder_perms_ASCII);
 
-       /* Folders have definite desired permissions that are set -- we don't want
-          to interact with the umask.  Clear it temporarily. */
+       /*
+       ** Folders have definite desired permissions that are set -- we
+       ** don't want to interact with the umask.  Clear it temporarily.
+       */
        saved_umask = umask(0);
 
        if (getuid () == geteuid ()) {
@@ -64,8 +69,10 @@ makedir (char *dir)
                }
 
                if (!had_an_error) {
-                       /* Create the innermost nested subdirectory of the
-                        * path we're being asked to create. */
+                       /*
+                       ** Create the innermost nested subdirectory of the
+                       ** path we're being asked to create.
+                       */
                        if (mkdir (dir, folder_perms) == -1) {
                                advise (dir, "unable to create directory");
                                had_an_error = 1;
index fdad91e..8f7e357 100644 (file)
--- a/sbr/mf.c
+++ b/sbr/mf.c
@@ -1,10 +1,10 @@
 /*
- * mf.c -- mail filter subroutines
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** mf.c -- mail filter subroutines
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mf.h>
 #include <ctype.h>
@@ -12,8 +12,8 @@
 #include <h/utils.h>
 
 /*
- * static prototypes
- */
+** static prototypes
+*/
 static char *getcpy (char *);
 static int isat (char *);
 static int parse_address (void);
@@ -32,9 +32,9 @@ getcpy (char *s)
 
        if (!s) {
                /*
-                * causes compiles to blow up because the symbol _cleanup
-                * is undefined where did this ever come from?
-                */
+               ** causes compiles to blow up because the symbol _cleanup
+               ** is undefined where did this ever come from?
+               */
                /* _cleanup(); */
                abort();
                for(;;)
@@ -62,62 +62,62 @@ isat (char *p)
 
 
 /*
- *
- * getadrx() implements a partial 822-style address parser.  The parser
- * is neither complete nor correct.  It does however recognize nearly all
- * of the 822 address syntax.  In addition it handles the majority of the
- * 733 syntax as well.  Most problems arise from trying to accomodate both.
- *
- * In terms of 822, the route-specification in
- *
- *     "<" [route] local-part "@" domain ">"
- *
- * is parsed and returned unchanged.  Multiple at-signs are compressed
- * via source-routing.  Recursive groups are not allowed as per the
- * standard.
- *
- * In terms of 733, " at " is recognized as equivalent to "@".
- *
- * In terms of both the parser will not complain about missing hosts.
- *
- * -----
- *
- * We should not allow addresses like
- *
- *     Marshall T. Rose <MRose@UCI>
- *
- * but should insist on
- *
- *     "Marshall T. Rose" <MRose@UCI>
- *
- * Unfortunately, a lot of mailers stupidly let people get away with this.
- *
- * -----
- *
- * We should not allow addresses like
- *
- *     <MRose@UCI>
- *
- * but should insist on
- *
- *     MRose@UCI
- *
- * Unfortunately, a lot of mailers stupidly let people's UAs get away with
- * this.
- *
- * -----
- *
- * We should not allow addresses like
- *
- *     @UCI:MRose@UCI-750a
- *
- * but should insist on
- *
- *     Marshall Rose <@UCI:MRose@UCI-750a>
- *
- * Unfortunately, a lot of mailers stupidly do this.
- *
- */
+**
+** getadrx() implements a partial 822-style address parser.  The parser
+** is neither complete nor correct.  It does however recognize nearly all
+** of the 822 address syntax.  In addition it handles the majority of the
+** 733 syntax as well.  Most problems arise from trying to accomodate both.
+**
+** In terms of 822, the route-specification in
+**
+**     "<" [route] local-part "@" domain ">"
+**
+** is parsed and returned unchanged.  Multiple at-signs are compressed
+** via source-routing.  Recursive groups are not allowed as per the
+** standard.
+**
+** In terms of 733, " at " is recognized as equivalent to "@".
+**
+** In terms of both the parser will not complain about missing hosts.
+**
+** -----
+**
+** We should not allow addresses like
+**
+**     Marshall T. Rose <MRose@UCI>
+**
+** but should insist on
+**
+**     "Marshall T. Rose" <MRose@UCI>
+**
+** Unfortunately, a lot of mailers stupidly let people get away with this.
+**
+** -----
+**
+** We should not allow addresses like
+**
+**     <MRose@UCI>
+**
+** but should insist on
+**
+**     MRose@UCI
+**
+** Unfortunately, a lot of mailers stupidly let people's UAs get away with
+** this.
+**
+** -----
+**
+** We should not allow addresses like
+**
+**     @UCI:MRose@UCI-750a
+**
+** but should insist on
+**
+**     Marshall Rose <@UCI:MRose@UCI-750a>
+**
+** Unfortunately, a lot of mailers stupidly do this.
+**
+*/
 
 #define QUOTE  '\\'
 
@@ -477,7 +477,8 @@ local_part (char *buffer)
                                break;
 
                        default:
-                               sprintf (err, "no mailbox in local-part (%s)", buffer);
+                               sprintf (err, "no mailbox in local-part (%s)",
+                                               buffer);
                                return NOTOK;
                }
 
@@ -588,9 +589,9 @@ my_lex (char *buffer)
        register char *bp;
 
        /*
-        * Add C to the buffer bp. After use of this macro *bp is guaranteed
-        * to be within the buffer.
-        */
+       ** Add C to the buffer bp. After use of this macro *bp is guaranteed
+       ** to be within the buffer.
+       */
 #define ADDCHR(C)  \
        do { \
                *bp++ = (C); \
index 4e02831..55c0f02 100644 (file)
--- a/sbr/mts.c
+++ b/sbr/mts.c
@@ -1,10 +1,10 @@
 /*
- * mts.c -- definitions for the mail transport system
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** mts.c -- definitions for the mail transport system
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>   /* for snprintf() */
 #include <h/nmh.h>
@@ -26,8 +26,8 @@
 #define OK     0
 
 /*
- * static prototypes
- */
+** static prototypes
+*/
 static char *tailor_value (unsigned char *);
 static void getuserinfo (void);
 static const char *get_mtsconf_pathname(void);
@@ -35,16 +35,16 @@ static const char *get_mtsuserconf_pathname(void);
 static void mts_read_conf_file (FILE *fp);
 
 /*
- * *mmdfldir and *uucpldir are the maildrop directories.  If maildrops
- * are kept in the user's home directory, then these should be empty
- * strings.  In this case, the appropriate ...lfil array should contain
- * the name of the file in the user's home directory.  Usually, this is
- * something like ".mail".
- */
+** *mmdfldir and *uucpldir are the maildrop directories.  If maildrops
+** are kept in the user's home directory, then these should be empty
+** strings.  In this case, the appropriate ...lfil array should contain
+** the name of the file in the user's home directory.  Usually, this is
+** something like ".mail".
+*/
 
 /*
- * nmh mail transport interface customization file
- */
+** nmh mail transport interface customization file
+*/
 static char *mtsconf = nmhetcdir(/mts.conf);
 
 char *mmdfldir = MAILSPOOL;
@@ -66,22 +66,22 @@ boolean  username_extension_masquerading = FALSE;  /* " from addrsbr.c */
 static char* masquerade = "";
 
 /*
- * Global MailDelivery file
- */
+** Global MailDelivery file
+*/
 char *maildelivery = nmhetcdir(/maildelivery);
 
 
 /*
- * Aliasing Facility (doesn't belong here)
- */
+** Aliasing Facility (doesn't belong here)
+*/
 int Everyone = NOTOK;
 static char *everyone = "-1";
 char *NoShell = "";
 
 /*
- * Customize the MTS settings for nmh by adjusting
- * the file mts.conf in the nmh etc directory.
- */
+** Customize the MTS settings for nmh by adjusting
+** the file mts.conf in the nmh etc directory.
+*/
 
 struct bind {
        char *keyword;
@@ -104,9 +104,9 @@ static struct bind binds[] = {
 
 
 /*
- * Read the configuration file for the nmh interface
- * to the mail transport system (MTS).
- */
+** Read the configuration file for the nmh interface
+** to the mail transport system (MTS).
+*/
 
 void
 mts_init (char *name)
@@ -143,9 +143,9 @@ mts_init (char *name)
 #define QUOTE  '\\'
 
 /*
- * Convert escaped values, malloc some new space,
- * and copy string to malloc'ed memory.
- */
+** Convert escaped values, malloc some new space,
+** and copy string to malloc'ed memory.
+*/
 
 static char *
 tailor_value (unsigned char *s)
@@ -194,8 +194,8 @@ tailor_value (unsigned char *s)
 }
 
 /*
- * Get the fully qualified name of the local host.
- */
+** Get the fully qualified name of the local host.
+*/
 
 char *
 LocalName (void)
@@ -236,9 +236,9 @@ LocalName (void)
 
 
 /*
- * This is only for UUCP mail.  It gets the hostname
- * as part of the UUCP "domain".
- */
+** This is only for UUCP mail.  It gets the hostname
+** as part of the UUCP "domain".
+*/
 
 char *
 SystemName (void)
@@ -267,8 +267,8 @@ SystemName (void)
 
 
 /*
- * Get the username of current user
- */
+** Get the username of current user
+*/
 
 char *
 getusername (void)
@@ -281,9 +281,9 @@ getusername (void)
 
 
 /*
- * Get full name of current user (typically from GECOS
- * field of password file).
- */
+** Get full name of current user (typically from GECOS
+** field of password file).
+*/
 
 char *
 getfullname (void)
@@ -296,10 +296,10 @@ getfullname (void)
 
 
 /*
- * Find the user's username and full name, and cache them.
- * Also, handle "mmailid" username masquerading controlled from the GECOS field
- * of the passwd file.
- */
+** Find the user's username and full name, and cache them.
+** Also, handle "mmailid" username masquerading controlled from the GECOS field
+** of the passwd file.
+*/
 
 static void
 getuserinfo (void)
@@ -319,11 +319,14 @@ getuserinfo (void)
 
        np = pw->pw_gecos;
 
-       /* Get the user's real name from the GECOS field.  Stop once we hit a ',',
-        * which some OSes use to separate other 'finger' information in the GECOS
-        * field, like phone number.  Also, if mmailid masquerading is turned on due
-        * to "mmailid" appearing on the "masquerade:" line of mts.conf, stop if we
-        * hit a '<' (which should precede any ','s). */
+       /*
+       ** Get the user's real name from the GECOS field.  Stop once
+       ** we hit a ',', which some OSes use to separate other 'finger'
+       ** information in the GECOS field, like phone number.  Also, if
+       ** mmailid masquerading is turned on due to "mmailid" appearing
+       ** on the "masquerade:" line of mts.conf, stop if we hit a '<'
+       ** (which should precede any ','s).
+       */
 #ifndef BSD42
        if (mmailid_masquerading)
                /* Stop at ',' or '<'. */
@@ -331,20 +334,26 @@ getuserinfo (void)
                        *cp++ = *np++)
                        continue;
        else
-               /* Allow '<' as a legal character of the user's name.  This code is
-                * basically a duplicate of the code above the "else" -- we don't
-                * collapse it down to one copy and put the mmailid_masquerading check
-                * inside the loop with "(x ? y : z)" because that's inefficient and the
-                * value'll never change while it's in there. */
+               /*
+               ** Allow '<' as a legal character of the user's name.
+               ** This code is basically a duplicate of the code above the
+               ** "else" -- we don't collapse it down to one copy and put
+               ** the mmailid_masquerading check inside the loop with "(x
+               ** ? y : z)" because that's inefficient and the value'll
+               ** never change while it's in there.
+               */
                for (cp = fullname; *np != '\0' && *np != ','; *cp++ = *np++)
                        continue;
 #else /* BSD42 */
-       /* On BSD(-derived) systems, the system utilities that deal with the GECOS
-        * field (finger, mail, sendmail, etc.) translate any '&' character in it to
-        * the login name, with the first letter capitalized.  So, for instance,
-        * fingering a user "bob" with the GECOS field "& Jones" would reveal him to
-        * be "In real life: Bob Jones".  Surprisingly, though, the OS doesn't do
-        * the translation for you, so we have to do it manually here. */
+       /*
+       ** On BSD(-derived) systems, the system utilities that deal with
+       ** the GECOS field (finger, mail, sendmail, etc.) translate
+       ** any '&' character in it to the login name, with the first
+       ** letter capitalized.  So, for instance, fingering a user "bob"
+       ** with the GECOS field "& Jones" would reveal him to be "In real
+       ** life: Bob Jones".  Surprisingly, though, the OS doesn't do the
+       ** translation for you, so we have to do it manually here.
+       */
        if (mmailid_masquerading)
                /* Stop at ',' or '<'. */
                for (cp = fullname;
@@ -360,11 +369,14 @@ getuserinfo (void)
                        }
                }
        else
-               /* Allow '<' as a legal character of the user's name.  This code is
-                * basically a duplicate of the code above the "else" -- we don't
-                * collapse it down to one copy and put the mmailid_masquerading check
-                * inside the loop with "(x ? y : z)" because that's inefficient and the
-                * value'll never change while it's in there. */
+               /*
+               ** Allow '<' as a legal character of the user's name.
+               ** This code is basically a duplicate of the code above the
+               ** "else" -- we don't collapse it down to one copy and put
+               ** the mmailid_masquerading check inside the loop with "(x
+               ** ? y : z)" because that's inefficient and the value'll
+               ** never change while it's in there.
+               */
                for (cp = fullname; *np != '\0' && *np != ',';) {
                        if (*np == '&') {  /* blech! */
                                strcpy (cp, pw->pw_name);
@@ -380,11 +392,13 @@ getuserinfo (void)
        *cp = '\0';
 
        if (mmailid_masquerading) {
-               /* Do mmailid processing.  The GECOS field should have the form
-                * "Full Name <fakeusername>".  For instance,
-                * "Dan Harkless <Dan.Harkless>".  Naturally, you'll want your MTA to
-                * have an alias (e.g. in /etc/aliases) from "fakeusername" to your
-                * account name.  */
+               /*
+               ** Do mmailid processing.  The GECOS field should have
+               ** the form "Full Name <fakeusername>".  For instance,
+               ** "Dan Harkless <Dan.Harkless>".  Naturally, you'll want
+               ** your MTA to have an alias (e.g. in /etc/aliases) from
+               ** "fakeusername" to your account name.
+               */
                if (*np)
                        np++;
                for (cp = username; *np && *np != '>'; *cp++ = *np++)
@@ -394,8 +408,10 @@ getuserinfo (void)
        if (!mmailid_masquerading || *np == '\0')
                strncpy (username, pw->pw_name, sizeof(username));
 
-       /* The $SIGNATURE environment variable overrides the GECOS field's
-        * idea of your real name. */
+       /*
+       ** The $SIGNATURE environment variable overrides the GECOS field's
+       ** idea of your real name.
+       */
        if ((cp = getenv ("SIGNATURE")) && *cp)
                strncpy (fullname, cp, sizeof(fullname));
 
index 8ec544f..ca3a2c4 100644 (file)
@@ -1,28 +1,28 @@
 /*
- * The Single Unix Specification function nl_langinfo(CODESET)
- * returns the name of the encoding used by the currently selected
- * locale:
- *
- *   http://www.opengroup.org/onlinepubs/7908799/xsh/langinfo.h.html
- *
- * Unfortunately the encoding names are not yet standardized.
- * This function knows about the encoding names used on many
- * different systems and converts them where possible into
- * the corresponding MIME charset name registered in
- *
- *   http://www.iana.org/assignments/character-sets
- *
- * Please extend it as needed and suggest improvements to the author.
- *
- * Markus.Kuhn@cl.cam.ac.uk -- 2002-03-11
- * Permission to use, copy, modify, and distribute this software
- * for any purpose and without fee is hereby granted. The author
- * disclaims all warranties with regard to this software.
- *
- * Latest version:
- *
- *   http://www.cl.cam.ac.uk/~mgk25/ucs/norm_charmap.c
- */
+** The Single Unix Specification function nl_langinfo(CODESET)
+** returns the name of the encoding used by the currently selected
+** locale:
+**
+**   http://www.opengroup.org/onlinepubs/7908799/xsh/langinfo.h.html
+**
+** Unfortunately the encoding names are not yet standardized.
+** This function knows about the encoding names used on many
+** different systems and converts them where possible into
+** the corresponding MIME charset name registered in
+**
+**   http://www.iana.org/assignments/character-sets
+**
+** Please extend it as needed and suggest improvements to the author.
+**
+** Markus.Kuhn@cl.cam.ac.uk -- 2002-03-11
+** Permission to use, copy, modify, and distribute this software
+** for any purpose and without fee is hereby granted. The author
+** disclaims all warranties with regard to this software.
+**
+** Latest version:
+**
+**   http://www.cl.cam.ac.uk/~mgk25/ucs/norm_charmap.c
+*/
 
 #include <string.h>
 
@@ -38,9 +38,11 @@ norm_charmap(char *name)
        if (!name)
                return name;
 
-       /* Many need no remapping, but they are listed here so you
-        * can see what output to expect, and modify for your needs
-        * as necessary. */
+       /*
+       ** Many need no remapping, but they are listed here so you
+       ** can see what output to expect, and modify for your needs
+       ** as necessary.
+       */
        if (!strcmp(name, "UTF-8"))
                return "UTF-8";
        if (!strcmp(name, "EUC-JP"))
@@ -106,9 +108,11 @@ norm_charmap(char *name)
        if (!strcmp(name, "Big5HKSCS") || !strcmp(name, "BIG5HKSCS"))
                return "Big5HKSCS";
 
-       /* I don't know of any implementation of nl_langinfo(CODESET) out
-        * there that returns anything else (and I'm not even certain all of
-        * the above occur in the wild), but just in case, as a fallback,
-        * return the unmodified name. */
+       /*
+       ** I don't know of any implementation of nl_langinfo(CODESET) out
+       ** there that returns anything else (and I'm not even certain all of
+       ** the above occur in the wild), but just in case, as a fallback,
+       ** return the unmodified name.
+       */
        return name;
 }