Hangul Mail patch to Pine 3.95 =============================== Contents 1. pine395k.patch context patch for strings.c and pine.h in pine3.95/pine to make outgoing message from Pine 3.95 fully compliant to RFC 1557 (Hangul Mail Exchange standard) where pine3.95 denotes the top level directory of Pine 3.95 source. a. unzip and untar pine3.95.tar.gz and apply the patch in the top level directory of Pine 3.95 after moving pine395k.patch to that directory. (pine 3.95 source is available at ftp://ftp.cac.washington.edu/pine) % patch < pine395k.patch pine3.95/pine/strings.c may be replaced by strings.c included in the package and pine3.95/pine/pine.h may be manually patched if somehow patch doesn't work. See 4. below. b. In the top of Pine 3.95 source tree, build Pine following instruction given in documents included(pine3.95/build and pine3.95/doc/pine-ports). All you have to do is run './build osname' where osname is three-letter abbreviation used as the extension for os-specific makefiles in the directory pine3.95/pine. (e.g. lnx for Linux, sol for Solaris 2.x, a41 for AIX 4.1, gso for Solaris 2.x and GCC, sun for Sun OS 4.1.x,sgi for SGI IRIX). It will make all the binaries, pine,pico,pilot,and imapd. You may delete binaries other than pine if you wish to. % ./build lnx for Linux c. Please, note that you need about 20MB of free disk space to compile Pine 3.95. If you're short of disk space, you can delete all makefiles and os-dependent files but those for the target OS(Be careful with the latter since some OS dependent files - e.g. os-bsd.h and os-bsd.ic in pine3.95/pine/osdep are required by other OS such as Linux as well) and all files below pine3.95/doc. You may also save yourself quite much disk space by leaving either pine3.95/imap/ANSI or pine3.95/imap/non-ANSI and deleting the other depending on the flavor of your C compiler. Perhaps, lines for building pico and pilot can be commented out in pine3.95/build, as well. d. In AIX 4.1, you may have to tinker with the source a little bit. For example, I have to get rid of "char **home" in the prototype for server_login () in pine3.95/imap/ANSI/c-client/env.h. The line long server_login (char *user,char *pass,char **home,int argc,char *argv[]) should read long server_login (char *user,char *pass,int argc,char *argv[]) in AIX 4.1. Moreover, you may have to modify the line 2905 in pine3.95/pine/send.c to read setpgrp(ps_global->post->pid); instead of setpgrp(0, ps_global->post->pid); 2. hmconv1.0pl3.c The latest version of hmconv, code converter exclusively made for Hangul mail exchange. Compile it with 'cc -o hmconv hmconv1.0pl3.c' In case your C compiler doesn't support ANSI C prototyping, add '-DKNR' to the command line as shown below (or uncomment the line defining 'KNR' in the source before compiling) 'cc -o hmconv -DKNR hmconv1.0pl2.c' Usage: hmconv [-u] [-h] [input-file [output-file]] -u : iso-2022-kr -> ksc 5601 -h : help no option: ksc 5601 -> iso-2022-kr 3. README.pine document as to how to set Pine 3.92 or later for Hangul mail exchange. please, note that there are quite big changes ( 4. and 5 ) in the file about Pine configuration 4. strings.c Just in case pine395k.patch can't be applied, replace pine3.95/pine/strings.c with this hangul-patched version. At the line 66 of pine3.95/pine/pine.h, please, don't forget to add 'K' to the the version number to tell this version from the one distributed by U. Washington if pine395k.patch (See 1.) doesn't work. #define PINE_VERSION "3.95" ===> #define PINE_VERSION "3.95K" ---------- Please, send any comment to jshin@pantheon.yale.edu Jungshik Shin