OSDN Git Service

untabify all sources.
authorarai <arai@6a8cc165-1e22-0410-a132-eb4e3f353aba>
Sat, 16 Nov 2002 19:03:23 +0000 (19:03 +0000)
committerarai <arai@6a8cc165-1e22-0410-a132-eb4e3f353aba>
Sat, 16 Nov 2002 19:03:23 +0000 (19:03 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/lha/lha/trunk@588 6a8cc165-1e22-0410-a132-eb4e3f353aba

21 files changed:
src/append.c
src/crcio.c
src/dhuf.c
src/extract.c
src/header.c
src/huf.c
src/larc.c
src/lha.h
src/lha_macro.h
src/lhadd.c
src/lharc.c
src/lhdir.c
src/lhdir.h
src/lhext.c
src/lhlist.c
src/maketbl.c
src/maketree.c
src/patmatch.c
src/shuf.c
src/slide.c
src/util.c

index b67665e..93c365a 100644 (file)
@@ -1,10 +1,10 @@
 /* ------------------------------------------------------------------------ */
-/* LHa for UNIX                                                                                                                        */
-/*                             append.c -- append to archive                                                           */
-/*                                                                                                                                                     */
-/*             Modified                        Nobutaka Watazaki                                                       */
-/*                                                                                                                                                     */
-/*     Ver. 1.14       Source All chagned                              1995.01.14      N.Watazaki              */
+/* LHa for UNIX                                                             */
+/*              append.c -- append to archive                               */
+/*                                                                          */
+/*      Modified                Nobutaka Watazaki                           */
+/*                                                                          */
+/*  Ver. 1.14   Source All chagned              1995.01.14  N.Watazaki      */
 /* ------------------------------------------------------------------------ */
 #include "lha.h"
 
@@ -13,143 +13,143 @@ static long reading_size;
 /* ------------------------------------------------------------------------ */
 int
 encode_lzhuf(infp, outfp, size, original_size_var, packed_size_var,
-            name, hdr_method)
-       FILE           *infp;
-       FILE           *outfp;
-       long            size;
-       long           *original_size_var;
-       long           *packed_size_var;
-       char           *name;
-       char           *hdr_method;
+         name, hdr_method)
+    FILE           *infp;
+    FILE           *outfp;
+    long            size;
+    long           *original_size_var;
+    long           *packed_size_var;
+    char           *name;
+    char           *hdr_method;
 {
-       static int      method = -1;
+    static int      method = -1;
     unsigned int crc;
 
-       if (method < 0) {
-               method = compress_method;
-               if (method > 0)
-                       method = encode_alloc(method);
-       }
+    if (method < 0) {
+        method = compress_method;
+        if (method > 0)
+            method = encode_alloc(method);
+    }
 
-       interface.method = method;
+    interface.method = method;
 
-       if (interface.method > 0) {
-               interface.infile = infp;
-               interface.outfile = outfp;
-               interface.original = size;
-               start_indicator(name, size, "Freezing", 1 << dicbit);
-               crc = encode(&interface);
-               *packed_size_var = interface.packed;
-               *original_size_var = interface.original;
-       } else {
-               copyfile(infp, outfp, size, 0, &crc);
-               *packed_size_var = *original_size_var = size;
-       }
-       memcpy(hdr_method, "-lh -", 5);
-       hdr_method[3] = interface.method + '0';
+    if (interface.method > 0) {
+        interface.infile = infp;
+        interface.outfile = outfp;
+        interface.original = size;
+        start_indicator(name, size, "Freezing", 1 << dicbit);
+        crc = encode(&interface);
+        *packed_size_var = interface.packed;
+        *original_size_var = interface.original;
+    } else {
+        copyfile(infp, outfp, size, 0, &crc);
+        *packed_size_var = *original_size_var = size;
+    }
+    memcpy(hdr_method, "-lh -", 5);
+    hdr_method[3] = interface.method + '0';
 
-       finish_indicator2(name, "Frozen",
-                   (int) ((*packed_size_var * 100L) / *original_size_var));
-       return crc;
+    finish_indicator2(name, "Frozen",
+            (int) ((*packed_size_var * 100L) / *original_size_var));
+    return crc;
 }
 /* ------------------------------------------------------------------------ */
 void
 start_indicator(name, size, msg, def_indicator_threshold)
-       char           *name;
-       long            size;
-       char           *msg;
-       long            def_indicator_threshold;
+    char           *name;
+    long            size;
+    char           *msg;
+    long            def_indicator_threshold;
 {
 #ifdef NEED_INCREMENTAL_INDICATOR
-       long            i;
-       int             m;
+    long            i;
+    int             m;
 #endif
 
-       if (quiet)
-               return;
+    if (quiet)
+        return;
 
 #ifdef NEED_INCREMENTAL_INDICATOR
-       switch (quiet_mode) {
-       case 0:
-               m = MAX_INDICATOR_COUNT - strlen(name);
-               if (m < 1)              /* Bug Fixed by N.Watazaki */
-                       m = 3;          /* (^_^) */
-               printf("\r%s\t- %s :  ", name, msg);
-               indicator_threshold =
-                       ((size + (m * def_indicator_threshold - 1)) /
-                        (m * def_indicator_threshold) *
-                        def_indicator_threshold);
-               if (indicator_threshold)
-                       i = ((size + (indicator_threshold - 1)) / indicator_threshold);
-               else
-                       i = 0;
-               while (i--)
-                       putchar('.');
-               indicator_count = 0;
-               printf("\r%s\t- %s :  ", name, msg);
-               break;
-       case 1:
-               printf("\r%s :", name);
-               break;
-       }
+    switch (quiet_mode) {
+    case 0:
+        m = MAX_INDICATOR_COUNT - strlen(name);
+        if (m < 1)      /* Bug Fixed by N.Watazaki */
+            m = 3;      /* (^_^) */
+        printf("\r%s\t- %s :  ", name, msg);
+        indicator_threshold =
+            ((size + (m * def_indicator_threshold - 1)) /
+             (m * def_indicator_threshold) *
+             def_indicator_threshold);
+        if (indicator_threshold)
+            i = ((size + (indicator_threshold - 1)) / indicator_threshold);
+        else
+            i = 0;
+        while (i--)
+            putchar('.');
+        indicator_count = 0;
+        printf("\r%s\t- %s :  ", name, msg);
+        break;
+    case 1:
+        printf("\r%s :", name);
+        break;
+    }
 #else
-       printf("%s\t- ", name);
+    printf("%s\t- ", name);
 #endif
-       fflush(stdout);
-       reading_size = 0L;
+    fflush(stdout);
+    reading_size = 0L;
 }
 /* ------------------------------------------------------------------------ */
 #ifdef NEED_INCREMENTAL_INDICATOR
 void
 put_indicator(count)
-       long int        count;
+    long int        count;
 {
     reading_size += count;
-       if (!quiet && indicator_threshold) {
-               while (reading_size > indicator_count) {
-                       putchar('o');
-                       fflush(stdout);
-                       indicator_count += indicator_threshold;
-               }
-       }
+    if (!quiet && indicator_threshold) {
+        while (reading_size > indicator_count) {
+            putchar('o');
+            fflush(stdout);
+            indicator_count += indicator_threshold;
+        }
+    }
 }
 #endif
 
 /* ------------------------------------------------------------------------ */
 void
 finish_indicator2(name, msg, pcnt)
-       char           *name;
-       char           *msg;
-       int             pcnt;
+    char           *name;
+    char           *msg;
+    int             pcnt;
 {
-       if (quiet)
-               return;
+    if (quiet)
+        return;
 
-       if (pcnt > 100)
-               pcnt = 100;     /* (^_^) */
+    if (pcnt > 100)
+        pcnt = 100; /* (^_^) */
 #ifdef NEED_INCREMENTAL_INDICATOR
-       printf("\r%s\t- %s(%d%%)\n", name,  msg, pcnt);
+    printf("\r%s\t- %s(%d%%)\n", name,  msg, pcnt);
 #else
-       printf("%s\n", msg);
+    printf("%s\n", msg);
 #endif
-       fflush(stdout);
+    fflush(stdout);
 }
 
 /* ------------------------------------------------------------------------ */
 void
 finish_indicator(name, msg)
-       char           *name;
-       char           *msg;
+    char           *name;
+    char           *msg;
 {
-       if (quiet)
-               return;
+    if (quiet)
+        return;
 
 #ifdef NEED_INCREMENTAL_INDICATOR
-       printf("\r%s\t- %s\n", name, msg);
+    printf("\r%s\t- %s\n", name, msg);
 #else
-       printf("%s\n", msg);
+    printf("%s\n", msg);
 #endif
-       fflush(stdout);
+    fflush(stdout);
 }
 /* Local Variables: */
 /* tab-width : 4 */
index aba1c3d..a972b88 100644 (file)
@@ -1,10 +1,10 @@
 /* ------------------------------------------------------------------------ */
-/* LHa for UNIX                                                                                                                        */
-/*                             crcio.c -- crc input / output                                                           */
-/*                                                                                                                                                     */
-/*             Modified                        Nobutaka Watazaki                                                       */
-/*                                                                                                                                                     */
-/*     Ver. 1.14       Source All chagned                              1995.01.14      N.Watazaki              */
+/* LHa for UNIX                                                             */
+/*              crcio.c -- crc input / output                               */
+/*                                                                          */
+/*      Modified                Nobutaka Watazaki                           */
+/*                                                                          */
+/*  Ver. 1.14   Source All chagned              1995.01.14  N.Watazaki      */
 /* ------------------------------------------------------------------------ */
 #include "lha.h"
 
@@ -18,212 +18,207 @@ static int      getc_euc_cache;
 void
 make_crctable( /* void */ )
 {
-       unsigned int    i, j, r;
-
-       for (i = 0; i <= UCHAR_MAX; i++) {
-               r = i;
-               for (j = 0; j < CHAR_BIT; j++)
-                       if (r & 1)
-                               r = (r >> 1) ^ CRCPOLY;
-                       else
-                               r >>= 1;
-               crctable[i] = r;
-       }
+    unsigned int    i, j, r;
+
+    for (i = 0; i <= UCHAR_MAX; i++) {
+        r = i;
+        for (j = 0; j < CHAR_BIT; j++)
+            if (r & 1)
+                r = (r >> 1) ^ CRCPOLY;
+            else
+                r >>= 1;
+        crctable[i] = r;
+    }
 }
 
 /* ------------------------------------------------------------------------ */
 unsigned int
 calccrc(crc, p, n)
     unsigned int crc;
-       unsigned char  *p;
-       unsigned int    n;
+    unsigned char  *p;
+    unsigned int    n;
 {
-       while (n-- > 0)
-               crc = UPDATE_CRC(crc, *p++);
-       return crc;
+    while (n-- > 0)
+        crc = UPDATE_CRC(crc, *p++);
+    return crc;
 }
 
 /* ------------------------------------------------------------------------ */
 int
 fread_crc(crcp, p, n, fp)
     unsigned int *crcp;
-       unsigned char  *p;
-       int             n;
-       FILE           *fp;
+    unsigned char  *p;
+    int             n;
+    FILE           *fp;
 {
-       if (text_mode)
-               n = fread_txt(p, n, fp);
-       else
-               n = fread(p, 1, n, fp);
+    if (text_mode)
+        n = fread_txt(p, n, fp);
+    else
+        n = fread(p, 1, n, fp);
 
-       *crcp = calccrc(*crcp, p, n);
+    *crcp = calccrc(*crcp, p, n);
 #ifdef NEED_INCREMENTAL_INDICATOR
-       put_indicator(n);
+    put_indicator(n);
 #endif
-       return n;
+    return n;
 }
 
 /* ------------------------------------------------------------------------ */
 void
 fwrite_crc(crcp, p, n, fp)
     unsigned int *crcp;
-       unsigned char  *p;
-       int             n;
-       FILE           *fp;
+    unsigned char  *p;
+    int             n;
+    FILE           *fp;
 {
-       *crcp = calccrc(*crcp, p, n);
+    *crcp = calccrc(*crcp, p, n);
 #ifdef NEED_INCREMENTAL_INDICATOR
-       put_indicator(n);
+    put_indicator(n);
 #endif
-       if (verify_mode)
-               return;
-
-       if (fp) {
-               if (text_mode) {
-                       if (fwrite_txt(p, n, fp))
-                               fatal_error("File write error");
-               }
-               else {
-                       if (fwrite(p, 1, n, fp) < n)
-                               fatal_error("File write error");
-               }
-       }
+    if (verify_mode)
+        return;
+
+    if (fp) {
+        if (text_mode) {
+            if (fwrite_txt(p, n, fp))
+                fatal_error("File write error");
+        }
+        else {
+            if (fwrite(p, 1, n, fp) < n)
+                fatal_error("File write error");
+        }
+    }
 }
 
 /* ------------------------------------------------------------------------ */
 void
 init_code_cache( /* void */ )
-{                              /* called from copyfile() in util.c */
+{               /* called from copyfile() in util.c */
 #ifdef EUC
-       putc_euc_cache = EOF;
+    putc_euc_cache = EOF;
 #endif
-       getc_euc_cache = EOF;
+    getc_euc_cache = EOF;
 }
 
 /* ------------------------------------------------------------------------ */
 #ifdef EUC
 int
 putc_euc(c, fd)
-       int             c;
-       FILE           *fd;
+    int             c;
+    FILE           *fd;
 {
-       int             d;
-
-       if (putc_euc_cache == EOF) {
-               if (!euc_mode || c < 0x81 || c > 0xFC) {
-                       return putc(c, fd);
-               }
-               if (c >= 0xA0 && c < 0xE0) {
-                       if (putc(0x8E, fd) == EOF) return EOF;  /* single shift */
-                       return putc(c, fd);
-               }
-               putc_euc_cache = c;     /* save first byte */
-               return c;
-       }
-       d = putc_euc_cache;
-       putc_euc_cache = EOF;
-       if (d >= 0xA0)
-               d -= 0xE0 - 0xA0;
-       if (c > 0x9E) {
-               c = c - 0x9F + 0x21;
-               d = (d - 0x81) * 2 + 0x22;
-       }
-       else {
-               if (c > 0x7E)
-                       c--;
-               c -= 0x1F;
-               d = (d - 0x81) * 2 + 0x21;
-       }
-       if (putc(0x80 | d, fd) == EOF) return EOF;
-       return putc(0x80 | c, fd);
+    int             d;
+
+    if (putc_euc_cache == EOF) {
+        if (!euc_mode || c < 0x81 || c > 0xFC) {
+            return putc(c, fd);
+        }
+        if (c >= 0xA0 && c < 0xE0) {
+            if (putc(0x8E, fd) == EOF) return EOF;  /* single shift */
+            return putc(c, fd);
+        }
+        putc_euc_cache = c; /* save first byte */
+        return c;
+    }
+    d = putc_euc_cache;
+    putc_euc_cache = EOF;
+    if (d >= 0xA0)
+        d -= 0xE0 - 0xA0;
+    if (c > 0x9E) {
+        c = c - 0x9F + 0x21;
+        d = (d - 0x81) * 2 + 0x22;
+    }
+    else {
+        if (c > 0x7E)
+            c--;
+        c -= 0x1F;
+        d = (d - 0x81) * 2 + 0x21;
+    }
+    if (putc(0x80 | d, fd) == EOF) return EOF;
+    return putc(0x80 | c, fd);
 }
 #endif
 
 /* ------------------------------------------------------------------------ */
 int
 fwrite_txt(p, n, fp)
-       unsigned char  *p;
-       int             n;
-       FILE           *fp;
+    unsigned char  *p;
+    int             n;
+    FILE           *fp;
 {
-       while (--n >= 0) {
-               if (*p != '\015' && *p != '\032') {
+    while (--n >= 0) {
+        if (*p != '\015' && *p != '\032') {
 #ifdef EUC
-                       if (putc_euc(*p, fp) == EOF)
+            if (putc_euc(*p, fp) == EOF)
                 break;
 #else
-                       if (putc(*p, fp) == EOF)
+            if (putc(*p, fp) == EOF)
                 break;
 #endif
-               }
+        }
 
-               prev_char = *p++;
-       }
-       return (ferror(fp));
+        prev_char = *p++;
+    }
+    return (ferror(fp));
 }
 
 /* ------------------------------------------------------------------------ */
 int
 fread_txt(p, n, fp)
-       unsigned char  *p;
-       int             n;
-       FILE           *fp;
+    unsigned char  *p;
+    int             n;
+    FILE           *fp;
 {
-       int             c;
-       int             cnt = 0;
-
-       while (cnt < n) {
-               if (getc_euc_cache != EOF) {
-                       c = getc_euc_cache;
-                       getc_euc_cache = EOF;
-               }
-               else {
-                       if ((c = fgetc(fp)) == EOF)
-                               break;
-                       if (c == '\n') {
-                               getc_euc_cache = c;
-                               ++origsize;
-                               c = '\r';
-                       }
+    int             c;
+    int             cnt = 0;
+
+    while (cnt < n) {
+        if (getc_euc_cache != EOF) {
+            c = getc_euc_cache;
+            getc_euc_cache = EOF;
+        }
+        else {
+            if ((c = fgetc(fp)) == EOF)
+                break;
+            if (c == '\n') {
+                getc_euc_cache = c;
+                ++origsize;
+                c = '\r';
+            }
 #ifdef EUC
-                       else if (euc_mode && (c == 0x8E || (0xA0 < c && c < 0xFF))) {
-                               int             d = fgetc(fp);
-                               if (d == EOF) {
-                                       *p++ = c;
-                                       cnt++;
-                                       break;
-                               }
-                               if (c == 0x8E) {        /* single shift (KANA) */
-                                       if ((0x20 < d && d < 0x7F) || (0xA0 < d && d < 0xFF))
-                                               c = d | 0x80;
-                                       else
-                                               getc_euc_cache = d;
-                               }
-                               else {
-                                       if (0xA0 < d && d < 0xFF) {     /* if GR */
-                                               c &= 0x7F;      /* convert to MS-kanji */
-                                               d &= 0x7F;
-                                               if (!(c & 1)) {
-                                                       c--;
-                                                       d += 0x7F - 0x21;
-                                               }
-                                               if ((d += 0x40 - 0x21) > 0x7E)
-                                                       d++;
-                                               if ((c = (c >> 1) + 0x71) >= 0xA0)
-                                                       c += 0xE0 - 0xA0;
-                                       }
-                                       getc_euc_cache = d;
-                               }
-                       }
+            else if (euc_mode && (c == 0x8E || (0xA0 < c && c < 0xFF))) {
+                int             d = fgetc(fp);
+                if (d == EOF) {
+                    *p++ = c;
+                    cnt++;
+                    break;
+                }
+                if (c == 0x8E) {    /* single shift (KANA) */
+                    if ((0x20 < d && d < 0x7F) || (0xA0 < d && d < 0xFF))
+                        c = d | 0x80;
+                    else
+                        getc_euc_cache = d;
+                }
+                else {
+                    if (0xA0 < d && d < 0xFF) { /* if GR */
+                        c &= 0x7F;  /* convert to MS-kanji */
+                        d &= 0x7F;
+                        if (!(c & 1)) {
+                            c--;
+                            d += 0x7F - 0x21;
+                        }
+                        if ((d += 0x40 - 0x21) > 0x7E)
+                            d++;
+                        if ((c = (c >> 1) + 0x71) >= 0xA0)
+                            c += 0xE0 - 0xA0;
+                    }
+                    getc_euc_cache = d;
+                }
+            }
 #endif
-               }
-               *p++ = c;
-               cnt++;
-       }
-       return cnt;
+        }
+        *p++ = c;
+        cnt++;
+    }
+    return cnt;
 }
-
-/* Local Variables: */
-/* tab-width : 4 */
-/* End: */
-/* vi: set tabstop=4: */
index b76c67f..bddda87 100644 (file)
@@ -1,17 +1,17 @@
 /* ------------------------------------------------------------------------ */
-/* LHa for UNIX                                                                                                                        */
-/*                             dhuf.c -- Dynamic Hufffman routine                                                      */
-/*                                                                                                                                                     */
-/*             Modified                        H.Yoshizaki                                                                     */
-/*                                                                                                                                                     */
-/*     Ver. 1.14       Source All chagned                              1995.01.14      N.Watazaki              */
+/* LHa for UNIX                                                             */
+/*              dhuf.c -- Dynamic Hufffman routine                          */
+/*                                                                          */
+/*      Modified                H.Yoshizaki                                 */
+/*                                                                          */
+/*  Ver. 1.14   Source All chagned              1995.01.14  N.Watazaki      */
 /* ------------------------------------------------------------------------ */
 #include "lha.h"
 
 /* ------------------------------------------------------------------------ */
 static short    child[TREESIZE], parent[TREESIZE], block[TREESIZE], edge[TREESIZE], stock[TREESIZE],
-                s_node[TREESIZE / 2];  /* Changed N.Watazaki */
-/*     node[..] -> s_node[..] */
+                s_node[TREESIZE / 2];   /* Changed N.Watazaki */
+/*  node[..] -> s_node[..] */
 
 static unsigned short freq[TREESIZE];
 
@@ -23,49 +23,49 @@ static unsigned long nextcount;
 void
 start_c_dyn( /* void */ )
 {
-       int             i, j, f;
+    int             i, j, f;
 
-       n1 = (n_max >= 256 + maxmatch - THRESHOLD + 1) ? 512 : n_max - 1;
-       for (i = 0; i < TREESIZE_C; i++) {
-               stock[i] = i;
-               block[i] = 0;
-       }
-       for (i = 0, j = n_max * 2 - 2; i < n_max; i++, j--) {
-               freq[j] = 1;
-               child[j] = ~i;
-               s_node[i] = j;
-               block[j] = 1;
-       }
-       avail = 2;
-       edge[1] = n_max - 1;
-       i = n_max * 2 - 2;
-       while (j >= 0) {
-               f = freq[j] = freq[i] + freq[i - 1];
-               child[j] = i;
-               parent[i] = parent[i - 1] = j;
-               if (f == freq[j + 1]) {
-                       edge[block[j] = block[j + 1]] = j;
-               }
-               else {
-                       edge[block[j] = stock[avail++]] = j;
-               }
-               i -= 2;
-               j--;
-       }
+    n1 = (n_max >= 256 + maxmatch - THRESHOLD + 1) ? 512 : n_max - 1;
+    for (i = 0; i < TREESIZE_C; i++) {
+        stock[i] = i;
+        block[i] = 0;
+    }
+    for (i = 0, j = n_max * 2 - 2; i < n_max; i++, j--) {
+        freq[j] = 1;
+        child[j] = ~i;
+        s_node[i] = j;
+        block[j] = 1;
+    }
+    avail = 2;
+    edge[1] = n_max - 1;
+    i = n_max * 2 - 2;
+    while (j >= 0) {
+        f = freq[j] = freq[i] + freq[i - 1];
+        child[j] = i;
+        parent[i] = parent[i - 1] = j;
+        if (f == freq[j + 1]) {
+            edge[block[j] = block[j + 1]] = j;
+        }
+        else {
+            edge[block[j] = stock[avail++]] = j;
+        }
+        i -= 2;
+        j--;
+    }
 }
 
 /* ------------------------------------------------------------------------ */
 static void
 start_p_dyn( /* void */ )
 {
-       freq[ROOT_P] = 1;
-       child[ROOT_P] = ~(N_CHAR);
-       s_node[N_CHAR] = ROOT_P;
-       edge[block[ROOT_P] = stock[avail++]] = ROOT_P;
-       most_p = ROOT_P;
-       total_p = 0;
-       nn = 1 << dicbit;
-       nextcount = 64;
+    freq[ROOT_P] = 1;
+    child[ROOT_P] = ~(N_CHAR);
+    s_node[N_CHAR] = ROOT_P;
+    edge[block[ROOT_P] = stock[avail++]] = ROOT_P;
+    most_p = ROOT_P;
+    total_p = 0;
+    nn = 1 << dicbit;
+    nextcount = 64;
 }
 
 /* ------------------------------------------------------------------------ */
@@ -73,201 +73,201 @@ start_p_dyn( /* void */ )
 void
 decode_start_dyn( /* void */ )
 {
-       n_max = 286;
-       maxmatch = MAXMATCH;
-       init_getbits();
+    n_max = 286;
+    maxmatch = MAXMATCH;
+    init_getbits();
     init_code_cache();
-       start_c_dyn();
-       start_p_dyn();
+    start_c_dyn();
+    start_p_dyn();
 }
 
 /* ------------------------------------------------------------------------ */
 static void
 reconst(start, end)
-       int             start;
-       int             end;
+    int             start;
+    int             end;
 {
-       int             i, j, k, l, b;
-       unsigned int    f, g;
+    int             i, j, k, l, b;
+    unsigned int    f, g;
 
-       for (i = j = start; i < end; i++) {
-               if ((k = child[i]) < 0) {
-                       freq[j] = (freq[i] + 1) / 2;
-                       child[j] = k;
-                       j++;
-               }
-               if (edge[b = block[i]] == i) {
-                       stock[--avail] = b;
-               }
-       }
-       j--;
-       i = end - 1;
-       l = end - 2;
-       while (i >= start) {
-               while (i >= l) {
-                       freq[i] = freq[j];
-                       child[i] = child[j];
-                       i--, j--;
-               }
-               f = freq[l] + freq[l + 1];
-               for (k = start; f < freq[k]; k++);
-               while (j >= k) {
-                       freq[i] = freq[j];
-                       child[i] = child[j];
-                       i--, j--;
-               }
-               freq[i] = f;
-               child[i] = l + 1;
-               i--;
-               l -= 2;
-       }
-       f = 0;
-       for (i = start; i < end; i++) {
-               if ((j = child[i]) < 0)
-                       s_node[~j] = i;
-               else
-                       parent[j] = parent[j - 1] = i;
-               if ((g = freq[i]) == f) {
-                       block[i] = b;
-               }
-               else {
-                       edge[b = block[i] = stock[avail++]] = i;
-                       f = g;
-               }
-       }
+    for (i = j = start; i < end; i++) {
+        if ((k = child[i]) < 0) {
+            freq[j] = (freq[i] + 1) / 2;
+            child[j] = k;
+            j++;
+        }
+        if (edge[b = block[i]] == i) {
+            stock[--avail] = b;
+        }
+    }
+    j--;
+    i = end - 1;
+    l = end - 2;
+    while (i >= start) {
+        while (i >= l) {
+            freq[i] = freq[j];
+            child[i] = child[j];
+            i--, j--;
+        }
+        f = freq[l] + freq[l + 1];
+        for (k = start; f < freq[k]; k++);
+        while (j >= k) {
+            freq[i] = freq[j];
+            child[i] = child[j];
+            i--, j--;
+        }
+        freq[i] = f;
+        child[i] = l + 1;
+        i--;
+        l -= 2;
+    }
+    f = 0;
+    for (i = start; i < end; i++) {
+        if ((j = child[i]) < 0)
+            s_node[~j] = i;
+        else
+            parent[j] = parent[j - 1] = i;
+        if ((g = freq[i]) == f) {
+            block[i] = b;
+        }
+        else {
+            edge[b = block[i] = stock[avail++]] = i;
+            f = g;
+        }
+    }
 }
 
 /* ------------------------------------------------------------------------ */
 static int
 swap_inc(p)
-       int             p;
+    int             p;
 {
-       int             b, q, r, s;
+    int             b, q, r, s;
 
-       b = block[p];
-       if ((q = edge[b]) != p) {       /* swap for leader */
-               r = child[p];
-               s = child[q];
-               child[p] = s;
-               child[q] = r;
-               if (r >= 0)
-                       parent[r] = parent[r - 1] = q;
-               else
-                       s_node[~r] = q;
-               if (s >= 0)
-                       parent[s] = parent[s - 1] = p;
-               else
-                       s_node[~s] = p;
-               p = q;
-               goto Adjust;
-       }
-       else if (b == block[p + 1]) {
+    b = block[p];
+    if ((q = edge[b]) != p) {   /* swap for leader */
+        r = child[p];
+        s = child[q];
+        child[p] = s;
+        child[q] = r;
+        if (r >= 0)
+            parent[r] = parent[r - 1] = q;
+        else
+            s_node[~r] = q;
+        if (s >= 0)
+            parent[s] = parent[s - 1] = p;
+        else
+            s_node[~s] = p;
+        p = q;
+        goto Adjust;
+    }
+    else if (b == block[p + 1]) {
 Adjust:
-               edge[b]++;
-               if (++freq[p] == freq[p - 1]) {
-                       block[p] = block[p - 1];
-               }
-               else {
-                       edge[block[p] = stock[avail++]] = p;    /* create block */
-               }
-       }
-       else if (++freq[p] == freq[p - 1]) {
-               stock[--avail] = b;     /* delete block */
-               block[p] = block[p - 1];
-       }
-       return parent[p];
+        edge[b]++;
+        if (++freq[p] == freq[p - 1]) {
+            block[p] = block[p - 1];
+        }
+        else {
+            edge[block[p] = stock[avail++]] = p;    /* create block */
+        }
+    }
+    else if (++freq[p] == freq[p - 1]) {
+        stock[--avail] = b; /* delete block */
+        block[p] = block[p - 1];
+    }
+    return parent[p];
 }
 
 /* ------------------------------------------------------------------------ */
 static void
 update_c(p)
-       int             p;
+    int             p;
 {
-       int             q;
+    int             q;
 
-       if (freq[ROOT_C] == 0x8000) {
-               reconst(0, n_max * 2 - 1);
-       }
-       freq[ROOT_C]++;
-       q = s_node[p];
-       do {
-               q = swap_inc(q);
-       } while (q != ROOT_C);
+    if (freq[ROOT_C] == 0x8000) {
+        reconst(0, n_max * 2 - 1);
+    }
+    freq[ROOT_C]++;
+    q = s_node[p];
+    do {
+        q = swap_inc(q);
+    } while (q != ROOT_C);
 }
 
 /* ------------------------------------------------------------------------ */
 static void
 update_p(p)
-       int             p;
+    int             p;
 {
-       int             q;
+    int             q;
 
-       if (total_p == 0x8000) {
-               reconst(ROOT_P, most_p + 1);
-               total_p = freq[ROOT_P];
-               freq[ROOT_P] = 0xffff;
-       }
-       q = s_node[p + N_CHAR];
-       while (q != ROOT_P) {
-               q = swap_inc(q);
-       }
-       total_p++;
+    if (total_p == 0x8000) {
+        reconst(ROOT_P, most_p + 1);
+        total_p = freq[ROOT_P];
+        freq[ROOT_P] = 0xffff;
+    }
+    q = s_node[p + N_CHAR];
+    while (q != ROOT_P) {
+        q = swap_inc(q);
+    }
+    total_p++;
 }
 
 /* ------------------------------------------------------------------------ */
 static void
 make_new_node(p)
-       int             p;
+    int             p;
 {
-       int             q, r;
+    int             q, r;
 
-       r = most_p + 1;
-       q = r + 1;
-       s_node[~(child[r] = child[most_p])] = r;
-       child[q] = ~(p + N_CHAR);
-       child[most_p] = q;
-       freq[r] = freq[most_p];
-       freq[q] = 0;
-       block[r] = block[most_p];
-       if (most_p == ROOT_P) {
-               freq[ROOT_P] = 0xffff;
-               edge[block[ROOT_P]]++;
-       }
-       parent[r] = parent[q] = most_p;
-       edge[block[q] = stock[avail++]] = s_node[p + N_CHAR] = most_p = q;
-       update_p(p);
+    r = most_p + 1;
+    q = r + 1;
+    s_node[~(child[r] = child[most_p])] = r;
+    child[q] = ~(p + N_CHAR);
+    child[most_p] = q;
+    freq[r] = freq[most_p];
+    freq[q] = 0;
+    block[r] = block[most_p];
+    if (most_p == ROOT_P) {
+        freq[ROOT_P] = 0xffff;
+        edge[block[ROOT_P]]++;
+    }
+    parent[r] = parent[q] = most_p;
+    edge[block[q] = stock[avail++]] = s_node[p + N_CHAR] = most_p = q;
+    update_p(p);
 }
 
 /* ------------------------------------------------------------------------ */
 static void
 encode_c_dyn(c)
-       unsigned int    c;
+    unsigned int    c;
 {
-       unsigned int    bits;
-       int             p, d, cnt;
+    unsigned int    bits;
+    int             p, d, cnt;
 
-       d = c - n1;
-       if (d >= 0) {
-               c = n1;
-       }
-       cnt = bits = 0;
-       p = s_node[c];
-       do {
-               bits >>= 1;
-               if (p & 1) {
-                       bits |= 0x80000000L;
-               }
-               cnt++;
-       } while ((p = parent[p]) != ROOT_C);
-       if (cnt <= 16) {
-               putcode(cnt, bits >> 16);
-       } else {
-               putcode(16, bits >> 16);
-               putbits(cnt - 16, bits);
-       }
-       if (d >= 0)
-               putbits(8, d);
-       update_c(c);
+    d = c - n1;
+    if (d >= 0) {
+        c = n1;
+    }
+    cnt = bits = 0;
+    p = s_node[c];
+    do {
+        bits >>= 1;
+        if (p & 1) {
+            bits |= 0x80000000L;
+        }
+        cnt++;
+    } while ((p = parent[p]) != ROOT_C);
+    if (cnt <= 16) {
+        putcode(cnt, bits >> 16);
+    } else {
+        putcode(16, bits >> 16);
+        putbits(cnt - 16, bits);
+    }
+    if (d >= 0)
+        putbits(8, d);
+    update_c(c);
 }
 
 /* ------------------------------------------------------------------------ */
@@ -275,27 +275,27 @@ encode_c_dyn(c)
 unsigned short
 decode_c_dyn( /* void */ )
 {
-       int             c;
-       short           buf, cnt;
+    int             c;
+    short           buf, cnt;
 
-       c = child[ROOT_C];
-       buf = bitbuf;
-       cnt = 0;
-       do {
-               c = child[c - (buf < 0)];
-               buf <<= 1;
-               if (++cnt == 16) {
-                       fillbuf(16);
-                       buf = bitbuf;
-                       cnt = 0;
-               }
-       } while (c > 0);
-       fillbuf(cnt);
-       c = ~c;
-       update_c(c);
-       if (c == n1)
-               c += getbits(8);
-       return c;
+    c = child[ROOT_C];
+    buf = bitbuf;
+    cnt = 0;
+    do {
+        c = child[c - (buf < 0)];
+        buf <<= 1;
+        if (++cnt == 16) {
+            fillbuf(16);
+            buf = bitbuf;
+            cnt = 0;
+        }
+    } while (c > 0);
+    fillbuf(cnt);
+    c = ~c;
+    update_c(c);
+    if (c == n1)
+        c += getbits(8);
+    return c;
 }
 
 /* ------------------------------------------------------------------------ */
@@ -303,44 +303,44 @@ decode_c_dyn( /* void */ )
 unsigned short
 decode_p_dyn( /* void */ )
 {
-       int             c;
-       short           buf, cnt;
+    int             c;
+    short           buf, cnt;
 
-       while (count > nextcount) {
-               make_new_node(nextcount / 64);
-               if ((nextcount += 64) >= nn)
-                       nextcount = 0xffffffff;
-       }
-       c = child[ROOT_P];
-       buf = bitbuf;
-       cnt = 0;
-       while (c > 0) {
-               c = child[c - (buf < 0)];
-               buf <<= 1;
-               if (++cnt == 16) {
-                       fillbuf(16);
-                       buf = bitbuf;
-                       cnt = 0;
-               }
-       }
-       fillbuf(cnt);
-       c = (~c) - N_CHAR;
-       update_p(c);
+    while (count > nextcount) {
+        make_new_node(nextcount / 64);
+        if ((nextcount += 64) >= nn)
+            nextcount = 0xffffffff;
+    }
+    c = child[ROOT_P];
+    buf = bitbuf;
+    cnt = 0;
+    while (c > 0) {
+        c = child[c - (buf < 0)];
+        buf <<= 1;
+        if (++cnt == 16) {
+            fillbuf(16);
+            buf = bitbuf;
+            cnt = 0;
+        }
+    }
+    fillbuf(cnt);
+    c = (~c) - N_CHAR;
+    update_p(c);
 
-       return (c << 6) + getbits(6);
+    return (c << 6) + getbits(6);
 }
 
 /* ------------------------------------------------------------------------ */
 /* lh1 */
 void
 output_dyn(code, pos)
-       unsigned int    code;
-       unsigned int    pos;
+    unsigned int    code;
+    unsigned int    pos;
 {
-       encode_c_dyn(code);
-       if (code >= 0x100) {
-               encode_p_st0(pos);
-       }
+    encode_c_dyn(code);
+    if (code >= 0x100) {
+        encode_p_st0(pos);
+    }
 }
 
 /* ------------------------------------------------------------------------ */
@@ -348,11 +348,5 @@ output_dyn(code, pos)
 void
 encode_end_dyn( /* void */ )
 {
-       putcode(7, 0);
+    putcode(7, 0);
 }
-
-/* Local Variables: */
-/* mode:c */
-/* tab-width:4 */
-/* End: */
-/* vi: set tabstop=4: */
index 00b66bd..1f716ce 100644 (file)
@@ -1,73 +1,67 @@
 /* ------------------------------------------------------------------------ */
-/* LHa for UNIX                                                                                                                        */
-/*                             extract.c -- extrcat from archive                                                       */
-/*                                                                                                                                                     */
-/*             Modified                        Nobutaka Watazaki                                                       */
-/*                                                                                                                                                     */
-/*     Ver. 1.14       Source All chagned                              1995.01.14      N.Watazaki              */
+/* LHa for UNIX                                                             */
+/*              extract.c -- extrcat from archive                           */
+/*                                                                          */
+/*      Modified                Nobutaka Watazaki                           */
+/*                                                                          */
+/*  Ver. 1.14   Source All chagned              1995.01.14  N.Watazaki      */
 /* ------------------------------------------------------------------------ */
 #include "lha.h"
 
 int
 decode_lzhuf(infp, outfp, original_size, packed_size, name, method)
-       FILE           *infp;
-       FILE           *outfp;
-       long            original_size;
-       long            packed_size;
-       char           *name;
-       int             method;
+    FILE           *infp;
+    FILE           *outfp;
+    long            original_size;
+    long            packed_size;
+    char           *name;
+    int             method;
 {
     unsigned int crc;
 
-       interface.method = method;
-       interface.dicbit = 13;  /* method + 8; -lh5- */
-       interface.infile = infp;
-       interface.outfile = outfp;
-       interface.original = original_size;
-       interface.packed = packed_size;
+    interface.method = method;
+    interface.dicbit = 13;  /* method + 8; -lh5- */
+    interface.infile = infp;
+    interface.outfile = outfp;
+    interface.original = original_size;
+    interface.packed = packed_size;
 
-       switch (method) {
-       case LZHUFF0_METHOD_NUM:
-       case LARC4_METHOD_NUM:
-               start_indicator(name, original_size
-                             ,verify_mode ? "Testing " : "Melting ", 2048);
-               copyfile(infp, (verify_mode ? NULL : outfp), original_size, 2, &crc);
-               break;
-       case LARC_METHOD_NUM:           /* -lzs- */
-               interface.dicbit = 11;
-               start_indicator(name, original_size
-                               ,verify_mode ? "Testing " : "Melting "
-                               ,1 << interface.dicbit);
-               crc = decode(&interface);
-               break;
-       case LZHUFF1_METHOD_NUM:                /* -lh1- */
-       case LZHUFF4_METHOD_NUM:                /* -lh4- */
-       case LARC5_METHOD_NUM:                  /* -lz5- */
-               interface.dicbit = 12;
-               start_indicator(name, original_size
-                               ,verify_mode ? "Testing " : "Melting "
-                               ,1 << interface.dicbit);
-               crc = decode(&interface);
-               break;
-       case LZHUFF6_METHOD_NUM:                /* -lh6- */     /* Added N.Watazaki (^_^) */
+    switch (method) {
+    case LZHUFF0_METHOD_NUM:
+    case LARC4_METHOD_NUM:
+        start_indicator(name, original_size
+                  ,verify_mode ? "Testing " : "Melting ", 2048);
+        copyfile(infp, (verify_mode ? NULL : outfp), original_size, 2, &crc);
+        break;
+    case LARC_METHOD_NUM:       /* -lzs- */
+        interface.dicbit = 11;
+        start_indicator(name, original_size
+                ,verify_mode ? "Testing " : "Melting "
+                ,1 << interface.dicbit);
+        crc = decode(&interface);
+        break;
+    case LZHUFF1_METHOD_NUM:        /* -lh1- */
+    case LZHUFF4_METHOD_NUM:        /* -lh4- */
+    case LARC5_METHOD_NUM:          /* -lz5- */
+        interface.dicbit = 12;
+        start_indicator(name, original_size
+                ,verify_mode ? "Testing " : "Melting "
+                ,1 << interface.dicbit);
+        crc = decode(&interface);
+        break;
+    case LZHUFF6_METHOD_NUM:        /* -lh6- */ /* Added N.Watazaki (^_^) */
 #ifdef SUPPORT_LH7
-       case LZHUFF7_METHOD_NUM:                /* -lh7- */
+    case LZHUFF7_METHOD_NUM:                /* -lh7- */
 #endif
-           interface.dicbit = (method - LZHUFF6_METHOD_NUM) + 15;
-               
-       default:
-               start_indicator(name, original_size
-                               ,verify_mode ? "Testing " : "Melting "
-                               ,1 << interface.dicbit);
-               crc = decode(&interface);
-       }
-       finish_indicator(name, verify_mode ? "Tested  " : "Melted  ");
+        interface.dicbit = (method - LZHUFF6_METHOD_NUM) + 15;
+        
+    default:
+        start_indicator(name, original_size
+                ,verify_mode ? "Testing " : "Melting "
+                ,1 << interface.dicbit);
+        crc = decode(&interface);
+    }
+    finish_indicator(name, verify_mode ? "Tested  " : "Melted  ");
 
-       return crc;
+    return crc;
 }
-
-/* Local Variables: */
-/* mode:c */
-/* tab-width:4 */
-/* End: */
-/* vi: set tabstop=4: */
index f3d3bd8..e67efe5 100644 (file)
@@ -1,15 +1,15 @@
 /* ------------------------------------------------------------------------ */
-/* LHa for UNIX                                                                                                                        */
-/*                             header.c -- header manipulate functions                                         */
-/*                                                                                                                                                     */
-/*             Modified                        Nobutaka Watazaki                                                       */
-/*                                                                                                                                                     */
-/*     Original                                                                                                Y.Tagawa                */
-/*     modified                                                                        1991.12.16      M.Oki                   */
-/*     Ver. 1.10  Symbolic Link added                          1993.10.01      N.Watazaki              */
-/*     Ver. 1.13b Symbolic Link Bug Fix                        1994.08.22      N.Watazaki              */
-/*     Ver. 1.14  Source All chagned                           1995.01.14      N.Watazaki              */
-/*  Ver. 1.14i bug fixed                                               2000.10.06  t.okamoto       */
+/* LHa for UNIX                                                             */
+/*              header.c -- header manipulate functions                     */
+/*                                                                          */
+/*      Modified                Nobutaka Watazaki                           */
+/*                                                                          */
+/*  Original                                                Y.Tagawa        */
+/*  modified                                    1991.12.16  M.Oki           */
+/*  Ver. 1.10  Symbolic Link added              1993.10.01  N.Watazaki      */
+/*  Ver. 1.13b Symbolic Link Bug Fix            1994.08.22  N.Watazaki      */
+/*  Ver. 1.14  Source All chagned               1995.01.14  N.Watazaki      */
+/*  Ver. 1.14i bug fixed                        2000.10.06  t.okamoto       */
 /* ------------------------------------------------------------------------ */
 #include "lha.h"
 
@@ -25,7 +25,7 @@
 
 /* ------------------------------------------------------------------------ */
 static char    *get_ptr;
-#define GET_BYTE()             (*get_ptr++ & 0xff)
+#define GET_BYTE()      (*get_ptr++ & 0xff)
 
 #if DUMP_HEADER
 static char    *start_ptr;
@@ -33,13 +33,13 @@ static char    *start_ptr;
 #define get_byte()      dump_get_byte()
 #define skip_bytes(len) dump_skip_bytes(len)
 #else
-#define setup_get(PTR) (get_ptr = (PTR))
-#define get_byte()             GET_BYTE()
+#define setup_get(PTR)  (get_ptr = (PTR))
+#define get_byte()      GET_BYTE()
 #define skip_bytes(len) (get_ptr += (len))
 #endif
-#define put_ptr                        get_ptr
-#define setup_put(PTR) (put_ptr = (PTR))
-#define put_byte(c)            (*put_ptr++ = (char)(c))
+#define put_ptr         get_ptr
+#define setup_put(PTR)  (put_ptr = (PTR))
+#define put_byte(c)     (*put_ptr++ = (char)(c))
 
 int optional_archive_kanji_code = NONE;
 int optional_system_kanji_code = NONE;
@@ -56,15 +56,15 @@ int default_system_kanji_code = NONE;
 /* ------------------------------------------------------------------------ */
 int
 calc_sum(p, len)
-       register char  *p;
-       register int    len;
+    register char  *p;
+    register int    len;
 {
-       register int    sum;
+    register int    sum;
 
-       for (sum = 0; len; len--)
-               sum += *p++;
+    for (sum = 0; len; len--)
+        sum += *p++;
 
-       return sum & 0xff;
+    return sum & 0xff;
 }
 
 #if DUMP_HEADER
@@ -105,64 +105,64 @@ dump_skip_bytes(len)
 static int
 get_word()
 {
-       int             b0, b1;
+    int             b0, b1;
     int w;
 
 #if DUMP_HEADER
     if (verbose_listing && verbose > 1)
         printf("%02d %2d: ", get_ptr - start_ptr, 2);
 #endif
-       b0 = GET_BYTE();
-       b1 = GET_BYTE();
+    b0 = GET_BYTE();
+    b1 = GET_BYTE();
     w = (b1 << 8) + b0;
 #if DUMP_HEADER
     if (verbose_listing && verbose > 1)
         printf("%d(0x%04x)\n", w, w);
 #endif
-       return w;
+    return w;
 }
 
 /* ------------------------------------------------------------------------ */
 static void
 put_word(v)
-       unsigned int    v;
+    unsigned int    v;
 {
-       put_byte(v);
-       put_byte(v >> 8);
+    put_byte(v);
+    put_byte(v >> 8);
 }
 
 /* ------------------------------------------------------------------------ */
 static long
 get_longword()
 {
-       long            b0, b1, b2, b3;
+    long            b0, b1, b2, b3;
     long l;
 
 #if DUMP_HEADER
     if (verbose_listing && verbose > 1)
         printf("%02d %2d: ", get_ptr - start_ptr, 4);
 #endif
-       b0 = GET_BYTE();
-       b1 = GET_BYTE();
-       b2 = GET_BYTE();
-       b3 = GET_BYTE();
+    b0 = GET_BYTE();
+    b1 = GET_BYTE();
+    b2 = GET_BYTE();
+    b3 = GET_BYTE();
     l = (b3 << 24) + (b2 << 16) + (b1 << 8) + b0;
 #if DUMP_HEADER
     if (verbose_listing && verbose > 1)
         printf("%ld(0x%08lx)\n", l, l);
 #endif
-       return l;
+    return l;
 }
 
 /* ------------------------------------------------------------------------ */
 static void
 put_longword(v)
-       long            v;
+    long            v;
 {
-       put_byte(v);
-       put_byte(v >> 8);
-       put_byte(v >> 16);
-       put_byte(v >> 24);
+    put_byte(v);
+    put_byte(v >> 8);
+    put_byte(v >> 16);
+    put_byte(v >> 24);
 }
 
 static int
@@ -376,30 +376,30 @@ gettz()
 {
 #ifdef HAVE_TZSET
 #if defined(_MINIX)
-    extern long     timezone;          /* not defined in time.h */
+    extern long     timezone;       /* not defined in time.h */
 #endif
 
-       tzset();
-       return timezone;
+    tzset();
+    return timezone;
 #elif HAVE_FTIME        
-       struct timeb    buf;
+    struct timeb    buf;
 
-       ftime(&buf);
-       return buf.timezone * 60L;
+    ftime(&buf);
+    return buf.timezone * 60L;
 #elif HAVE_STRUCT_TM_TM_GMTOFF
-       time_t tt;
+    time_t tt;
 
-       time(&tt);
-       return -localtime(&tt)->tm_gmtoff;
+    time(&tt);
+    return -localtime(&tt)->tm_gmtoff;
 #elif GETTIMEOFDAY_HAS_2ND_ARG
-       struct timeval  tp;
-       struct timezone tzp;
-       gettimeofday(&tp, &tzp);/* specific to 4.3BSD */
-       /*
-        * return (tzp.tz_minuteswest * 60L + (tzp.tz_dsttime != 0 ? 60L *
-        * 60L : 0));
-        */
-       return (tzp.tz_minuteswest * 60L);
+    struct timeval  tp;
+    struct timezone tzp;
+    gettimeofday(&tp, &tzp);/* specific to 4.3BSD */
+    /*
+     * return (tzp.tz_minuteswest * 60L + (tzp.tz_dsttime != 0 ? 60L *
+     * 60L : 0));
+     */
+    return (tzp.tz_minuteswest * 60L);
 #else
     /* Compile error will be caused */
     CANNOT GET TIMEZONE INFORMATION ON YOUR SYSTEM.
@@ -411,87 +411,87 @@ gettz()
 /* ------------------------------------------------------------------------ */
 static          time_t
 generic_to_unix_stamp(t)
-       long            t;
+    long            t;
 {
 #if defined(HAVE_MKTIME) || defined(HAVE_TIMELOCAL)
-       struct tm       dostm;
-
-       /*
-        * special case:  if MSDOS format date and time were zero, then we
-        * set time to be zero here too.
-        */
-       if (t == 0)
-               return (time_t) 0;
-
-       dostm.tm_sec = (t & 0x1f) * 2;
-       dostm.tm_min = t >> 5 & 0x3f;
-       dostm.tm_hour = t >> 11 & 0x1f;
-       dostm.tm_mday = t >> 16 & 0x1f;
-       dostm.tm_mon = (t >> (16+5) & 0x0f) - 1;        /* 0..11 */
-       dostm.tm_year = (t >> (16+9) & 0x7f) + 80;
-       dostm.tm_isdst = -1;
+    struct tm       dostm;
+
+    /*
+     * special case:  if MSDOS format date and time were zero, then we
+     * set time to be zero here too.
+     */
+    if (t == 0)
+        return (time_t) 0;
+
+    dostm.tm_sec = (t & 0x1f) * 2;
+    dostm.tm_min = t >> 5 & 0x3f;
+    dostm.tm_hour = t >> 11 & 0x1f;
+    dostm.tm_mday = t >> 16 & 0x1f;
+    dostm.tm_mon = (t >> (16+5) & 0x0f) - 1;    /* 0..11 */
+    dostm.tm_year = (t >> (16+9) & 0x7f) + 80;
+    dostm.tm_isdst = -1;
 
 #if HAVE_MKTIME
-       return (time_t) mktime(&dostm);
+    return (time_t) mktime(&dostm);
 #else /* HAVE_TIMELOCAL is defined */
-       return (time_t) timelocal(&dostm);
+    return (time_t) timelocal(&dostm);
 #endif
 
-#else                          /* defined(HAVE_MKTIME) || defined(HAVE_TIMELOCAL) */
-       int             year, month, day, hour, min, sec;
-       long            longtime;
-       static unsigned int dsboy[12] = {0, 31, 59, 90, 120, 151,
-       181, 212, 243, 273, 304, 334};
-       unsigned int    days;
-
-       /*
-        * special case:  if MSDOS format date and time were zero, then we
-        * set time to be zero here too.
-        */
-       if (t == 0)
-               return (time_t) 0;
-
-       year = ((int) (t >> 16 + 9) & 0x7f) + 1980;
-       month = (int) (t >> 16 + 5) & 0x0f;     /* 1..12 means Jan..Dec */
-       day = (int) (t >> 16) & 0x1f;   /* 1..31 means 1st,...31st */
-
-       hour = ((int) t >> 11) & 0x1f;
-       min = ((int) t >> 5) & 0x3f;
-       sec = ((int) t & 0x1f) * 2;
-
-       /* Calculate days since 1970.01.01 */
-       days = (365 * (year - 1970) +   /* days due to whole years */
-               (year - 1970 + 1) / 4 + /* days due to leap years */
-               dsboy[month - 1] +      /* days since beginning of this year */
-               day - 1);       /* days since beginning of month */
-
-       if ((year % 4 == 0) &&
-               (year % 100 != 0 || year % 400 == 0) &&         /* 1999.5.24 t.oka */
-           (month >= 3))       /* if this is a leap year and month */
-               days++;         /* is March or later, add a day */
-
-       /* Knowing the days, we can find seconds */
-       longtime = (((days * 24) + hour) * 60 + min) * 60 + sec;
-       longtime += gettz();    /* adjust for timezone */
-
-       /* LONGTIME is now the time in seconds, since 1970/01/01 00:00:00.  */
-       return (time_t) longtime;
-#endif                         /* defined(HAVE_MKTIME) || defined(HAVE_TIMELOCAL) */
+#else               /* defined(HAVE_MKTIME) || defined(HAVE_TIMELOCAL) */
+    int             year, month, day, hour, min, sec;
+    long            longtime;
+    static unsigned int dsboy[12] = {0, 31, 59, 90, 120, 151,
+    181, 212, 243, 273, 304, 334};
+    unsigned int    days;
+
+    /*
+     * special case:  if MSDOS format date and time were zero, then we
+     * set time to be zero here too.
+     */
+    if (t == 0)
+        return (time_t) 0;
+
+    year = ((int) (t >> 16 + 9) & 0x7f) + 1980;
+    month = (int) (t >> 16 + 5) & 0x0f; /* 1..12 means Jan..Dec */
+    day = (int) (t >> 16) & 0x1f;   /* 1..31 means 1st,...31st */
+
+    hour = ((int) t >> 11) & 0x1f;
+    min = ((int) t >> 5) & 0x3f;
+    sec = ((int) t & 0x1f) * 2;
+
+    /* Calculate days since 1970.01.01 */
+    days = (365 * (year - 1970) +   /* days due to whole years */
+        (year - 1970 + 1) / 4 + /* days due to leap years */
+        dsboy[month - 1] +  /* days since beginning of this year */
+        day - 1);   /* days since beginning of month */
+
+    if ((year % 4 == 0) &&
+        (year % 100 != 0 || year % 400 == 0) &&     /* 1999.5.24 t.oka */
+        (month >= 3))   /* if this is a leap year and month */
+        days++;     /* is March or later, add a day */
+
+    /* Knowing the days, we can find seconds */
+    longtime = (((days * 24) + hour) * 60 + min) * 60 + sec;
+    longtime += gettz();    /* adjust for timezone */
+
+    /* LONGTIME is now the time in seconds, since 1970/01/01 00:00:00.  */
+    return (time_t) longtime;
+#endif              /* defined(HAVE_MKTIME) || defined(HAVE_TIMELOCAL) */
 }
 
 /* ------------------------------------------------------------------------ */
 static long
 unix_to_generic_stamp(t)
-       time_t          t;
+    time_t          t;
 {
-       struct tm      *tm = localtime(&t);
-
-       return ((((long) (tm->tm_year - 80)) << 25) +
-               (((long) (tm->tm_mon + 1)) << 21) +
-               (((long) tm->tm_mday) << 16) +
-               (long) ((tm->tm_hour << 11) +
-                       (tm->tm_min << 5) +
-                       (tm->tm_sec / 2)));
+    struct tm      *tm = localtime(&t);
+
+    return ((((long) (tm->tm_year - 80)) << 25) +
+        (((long) (tm->tm_mon + 1)) << 21) +
+        (((long) tm->tm_mday) << 16) +
+        (long) ((tm->tm_hour << 11) +
+            (tm->tm_min << 5) +
+            (tm->tm_sec / 2)));
 }
 
 static unsigned long
@@ -533,7 +533,7 @@ wintime_to_unix_stamp()
 }
 
 /* ------------------------------------------------------------------------ */
-/* build header functions                                                                                                      */
+/* build header functions                                                   */
 /* ------------------------------------------------------------------------ */
 
 /*
@@ -1194,7 +1194,7 @@ get_header(fp, hdr)
                      system_kanji_code,
                      archive_delim, system_delim, filename_case);
 
-       if ((hdr->unix_mode & UNIX_FILE_SYMLINK) == UNIX_FILE_SYMLINK) {
+    if ((hdr->unix_mode & UNIX_FILE_SYMLINK) == UNIX_FILE_SYMLINK) {
         char *p;
         /* split symbolic link */
         p = strchr(hdr->name, '|');
@@ -1214,18 +1214,18 @@ get_header(fp, hdr)
 /* skip SFX header */
 boolean
 skip_msdos_sfx1_code(fp)
-       FILE           *fp;
+    FILE           *fp;
 {
-       unsigned char   buffer[64 * 1024]; /* SFX header size */
-       unsigned char  *p;
-       int             n;
+    unsigned char   buffer[64 * 1024]; /* SFX header size */
+    unsigned char  *p;
+    int             n;
 
-       n = fread(buffer, 1, sizeof(buffer), fp);
+    n = fread(buffer, 1, sizeof(buffer), fp);
 
-       for (p = buffer; p < buffer + n; p++) {
-               if (! (p[I_METHOD]=='-' && p[I_METHOD+1]=='l' && p[I_METHOD+4]=='-'))
+    for (p = buffer; p < buffer + n; p++) {
+        if (! (p[I_METHOD]=='-' && p[I_METHOD+1]=='l' && p[I_METHOD+4]=='-'))
             continue;
-               /* found "-l??-" keyword (as METHOD type string) */
+        /* found "-l??-" keyword (as METHOD type string) */
 
         /* size and checksum validate check */
 
@@ -1244,20 +1244,20 @@ skip_msdos_sfx1_code(fp)
             fseek(fp, (p - buffer) - n, SEEK_CUR);
             return TRUE;
         }
-       }
+    }
 
-       fseek(fp, -n, SEEK_CUR);
-       return FALSE;
+    fseek(fp, -n, SEEK_CUR);
+    return FALSE;
 }
 
 /* ------------------------------------------------------------------------ */
 void
 init_header(name, v_stat, hdr)
-       char           *name;
-       struct stat    *v_stat;
-       LzHeader       *hdr;
+    char           *name;
+    struct stat    *v_stat;
+    LzHeader       *hdr;
 {
-       int             len;
+    int             len;
 
     memset(hdr, 0, sizeof(LzHeader));
 
@@ -1265,24 +1265,24 @@ init_header(name, v_stat, hdr)
        but need set for empty files */
     memcpy(hdr->method, LZHUFF0_METHOD, METHOD_TYPE_STORAGE);
 
-       hdr->packed_size = 0;
-       hdr->original_size = v_stat->st_size;
-       hdr->attribute = GENERIC_ATTRIBUTE;
-       hdr->header_level = header_level;
-       strcpy(hdr->name, name);
-       len = strlen(name);
-       hdr->crc = 0x0000;
-       hdr->extend_type = EXTEND_UNIX;
-       hdr->unix_last_modified_stamp = v_stat->st_mtime;
-       /* since 00:00:00 JAN.1.1970 */
+    hdr->packed_size = 0;
+    hdr->original_size = v_stat->st_size;
+    hdr->attribute = GENERIC_ATTRIBUTE;
+    hdr->header_level = header_level;
+    strcpy(hdr->name, name);
+    len = strlen(name);
+    hdr->crc = 0x0000;
+    hdr->extend_type = EXTEND_UNIX;
+    hdr->unix_last_modified_stamp = v_stat->st_mtime;
+    /* since 00:00:00 JAN.1.1970 */
 #ifdef NOT_COMPATIBLE_MODE
-       /* Please need your modification in this space. */
+    /* Please need your modification in this space. */
 #else
-       hdr->unix_mode = v_stat->st_mode;
+    hdr->unix_mode = v_stat->st_mode;
 #endif
 
-       hdr->unix_uid = v_stat->st_uid;
-       hdr->unix_gid = v_stat->st_gid;
+    hdr->unix_uid = v_stat->st_uid;
+    hdr->unix_gid = v_stat->st_gid;
 
 #if INCLUDE_OWNER_NAME_IN_HEADER
 #if HAVE_GETPWUID
@@ -1308,21 +1308,21 @@ init_header(name, v_stat, hdr)
     }
 #endif
 #endif /* INCLUDE_OWNER_NAME_IN_HEADER */
-       if (is_directory(v_stat)) {
-               memcpy(hdr->method, LZHDIRS_METHOD, METHOD_TYPE_STORAGE);
-               hdr->attribute = GENERIC_DIRECTORY_ATTRIBUTE;
-               hdr->original_size = 0;
-               if (len > 0 && hdr->name[len - 1] != '/')
-                       strcpy(&hdr->name[len++], "/");
-       }
+    if (is_directory(v_stat)) {
+        memcpy(hdr->method, LZHDIRS_METHOD, METHOD_TYPE_STORAGE);
+        hdr->attribute = GENERIC_DIRECTORY_ATTRIBUTE;
+        hdr->original_size = 0;
+        if (len > 0 && hdr->name[len - 1] != '/')
+            strcpy(&hdr->name[len++], "/");
+    }
 
 #ifdef S_IFLNK
-       if (is_symlink(v_stat)) {
-               memcpy(hdr->method, LZHDIRS_METHOD, METHOD_TYPE_STORAGE);
-               hdr->attribute = GENERIC_DIRECTORY_ATTRIBUTE;
-               hdr->original_size = 0;
-               readlink(name, hdr->realname, sizeof(hdr->realname));
-       }
+    if (is_symlink(v_stat)) {
+        memcpy(hdr->method, LZHDIRS_METHOD, METHOD_TYPE_STORAGE);
+        hdr->attribute = GENERIC_DIRECTORY_ATTRIBUTE;
+        hdr->original_size = 0;
+        readlink(name, hdr->realname, sizeof(hdr->realname));
+    }
 #endif
 }
 
@@ -1634,7 +1634,7 @@ write_header(fp, hdr)
         archive_delim = "\\";
     }
 
-       if ((hdr->unix_mode & UNIX_FILE_SYMLINK) == UNIX_FILE_SYMLINK) {
+    if ((hdr->unix_mode & UNIX_FILE_SYMLINK) == UNIX_FILE_SYMLINK) {
         char *p;
         p = strchr(hdr->name, '|');
         if (p) {
@@ -1858,8 +1858,8 @@ utf8_to_sjis(char *dst, const char *src, size_t dstsize)
 
 /*
  * SJIS <-> EUC ÊÑ´¹´Ø¿ô
- * ¡ÖÆüËܸì¾ðÊó½èÍý¡×  ¥½¥Õ¥È¥Ð¥ó¥¯(³ô)
- *     ¤è¤êÈ´¿è(by Koji Arai)
+ * ¡ÖÆüËܸì¾ðÊó½èÍý¡×   ¥½¥Õ¥È¥Ð¥ó¥¯(³ô)
+ *  ¤è¤êÈ´¿è(by Koji Arai)
  */
 void
 euc2sjis(int *p1, int *p2)
@@ -1887,10 +1887,3 @@ sjis2euc(int *p1, int *p2)
     *p2 |= 0x80;
 }
 #endif /* MULTIBYTE_FILENAME */
-
-/* Local Variables: */
-/* mode:c */
-/* tab-width:4 */
-/* compile-command:"gcc -c header.c" */
-/* End: */
-/* vi: set tabstop=4: */
index 58a45ba..0a37043 100644 (file)
--- a/src/huf.c
+++ b/src/huf.c
@@ -1,11 +1,11 @@
 /* ------------------------------------------------------------------------ */
-/* LHa for UNIX                                                                                                                        */
-/*                             huf.c -- new static Huffman                                                                     */
-/*                                                                                                                                                     */
-/*             Modified                        Nobutaka Watazaki                                                       */
-/*                                                                                                                                                     */
-/*     Ver. 1.14       Source All chagned                              1995.01.14      N.Watazaki              */
-/*     Ver. 1.14i      Support LH7 & Bug Fixed                 2000.10. 6      t.okamoto               */
+/* LHa for UNIX                                                             */
+/*              huf.c -- new static Huffman                                 */
+/*                                                                          */
+/*      Modified                Nobutaka Watazaki                           */
+/*                                                                          */
+/*  Ver. 1.14   Source All chagned              1995.01.14  N.Watazaki      */
+/*  Ver. 1.14i  Support LH7 & Bug Fixed         2000.10. 6  t.okamoto       */
 /* ------------------------------------------------------------------------ */
 #include "lha.h"
 
@@ -31,243 +31,243 @@ static unsigned char *buf;
 static unsigned int bufsiz;
 static unsigned short blocksize;
 static unsigned short output_pos, output_mask;
-static                         int       pbit;
-static                         int       np;
+static          int   pbit;
+static          int   np;
 /* ------------------------------------------------------------------------ */
-/*                                                             Encording                                                                       */
+/*                              Encording                                   */
 /* ------------------------------------------------------------------------ */
 static void
 count_t_freq(/*void*/)
 {
-       short           i, k, n, count;
-
-       for (i = 0; i < NT; i++)
-               t_freq[i] = 0;
-       n = NC;
-       while (n > 0 && c_len[n - 1] == 0)
-               n--;
-       i = 0;
-       while (i < n) {
-               k = c_len[i++];
-               if (k == 0) {
-                       count = 1;
-                       while (i < n && c_len[i] == 0) {
-                               i++;
-                               count++;
-                       }
-                       if (count <= 2)
-                               t_freq[0] += count;
-                       else if (count <= 18)
-                               t_freq[1]++;
-                       else if (count == 19) {
-                               t_freq[0]++;
-                               t_freq[1]++;
-                       }
-                       else
-                               t_freq[2]++;
-               } else
-                       t_freq[k + 2]++;
-       }
+    short           i, k, n, count;
+
+    for (i = 0; i < NT; i++)
+        t_freq[i] = 0;
+    n = NC;
+    while (n > 0 && c_len[n - 1] == 0)
+        n--;
+    i = 0;
+    while (i < n) {
+        k = c_len[i++];
+        if (k == 0) {
+            count = 1;
+            while (i < n && c_len[i] == 0) {
+                i++;
+                count++;
+            }
+            if (count <= 2)
+                t_freq[0] += count;
+            else if (count <= 18)
+                t_freq[1]++;
+            else if (count == 19) {
+                t_freq[0]++;
+                t_freq[1]++;
+            }
+            else
+                t_freq[2]++;
+        } else
+            t_freq[k + 2]++;
+    }
 }
 
 /* ------------------------------------------------------------------------ */
 static void
 write_pt_len(n, nbit, i_special)
-       short           n;
-       short           nbit;
-       short           i_special;
+    short           n;
+    short           nbit;
+    short           i_special;
 {
-       short           i, k;
-
-       while (n > 0 && pt_len[n - 1] == 0)
-               n--;
-       putbits(nbit, n);
-       i = 0;
-       while (i < n) {
-               k = pt_len[i++];
-               if (k <= 6)
-                       putbits(3, k);
-               else
-                       putbits(k - 3, USHRT_MAX << 1);
-               if (i == i_special) {
-                       while (i < 6 && pt_len[i] == 0)
-                               i++;
-                       putbits(2, i - 3);
-               }
-       }
+    short           i, k;
+
+    while (n > 0 && pt_len[n - 1] == 0)
+        n--;
+    putbits(nbit, n);
+    i = 0;
+    while (i < n) {
+        k = pt_len[i++];
+        if (k <= 6)
+            putbits(3, k);
+        else
+            putbits(k - 3, USHRT_MAX << 1);
+        if (i == i_special) {
+            while (i < 6 && pt_len[i] == 0)
+                i++;
+            putbits(2, i - 3);
+        }
+    }
 }
 
 /* ------------------------------------------------------------------------ */
 static void
 write_c_len(/*void*/)
 {
-       short           i, k, n, count;
-
-       n = NC;
-       while (n > 0 && c_len[n - 1] == 0)
-               n--;
-       putbits(CBIT, n);
-       i = 0;
-       while (i < n) {
-               k = c_len[i++];
-               if (k == 0) {
-                       count = 1;
-                       while (i < n && c_len[i] == 0) {
-                               i++;
-                               count++;
-                       }
-                       if (count <= 2) {
-                               for (k = 0; k < count; k++)
-                                       putcode(pt_len[0], pt_code[0]);
-                       }
-                       else if (count <= 18) {
-                               putcode(pt_len[1], pt_code[1]);
-                               putbits(4, count - 3);
-                       }
-                       else if (count == 19) {
-                               putcode(pt_len[0], pt_code[0]);
-                               putcode(pt_len[1], pt_code[1]);
-                               putbits(4, 15);
-                       }
-                       else {
-                               putcode(pt_len[2], pt_code[2]);
-                               putbits(CBIT, count - 20);
-                       }
-               }
-               else
-                       putcode(pt_len[k + 2], pt_code[k + 2]);
-       }
+    short           i, k, n, count;
+
+    n = NC;
+    while (n > 0 && c_len[n - 1] == 0)
+        n--;
+    putbits(CBIT, n);
+    i = 0;
+    while (i < n) {
+        k = c_len[i++];
+        if (k == 0) {
+            count = 1;
+            while (i < n && c_len[i] == 0) {
+                i++;
+                count++;
+            }
+            if (count <= 2) {
+                for (k = 0; k < count; k++)
+                    putcode(pt_len[0], pt_code[0]);
+            }
+            else if (count <= 18) {
+                putcode(pt_len[1], pt_code[1]);
+                putbits(4, count - 3);
+            }
+            else if (count == 19) {
+                putcode(pt_len[0], pt_code[0]);
+                putcode(pt_len[1], pt_code[1]);
+                putbits(4, 15);
+            }
+            else {
+                putcode(pt_len[2], pt_code[2]);
+                putbits(CBIT, count - 20);
+            }
+        }
+        else
+            putcode(pt_len[k + 2], pt_code[k + 2]);
+    }
 }
 
 /* ------------------------------------------------------------------------ */
 static void
 encode_c(c)
-       short           c;
+    short           c;
 {
-       putcode(c_len[c], c_code[c]);
+    putcode(c_len[c], c_code[c]);
 }
 
 /* ------------------------------------------------------------------------ */
 static void
 encode_p(p)
-       unsigned short  p;
+    unsigned short  p;
 {
-       unsigned short  c, q;
+    unsigned short  c, q;
 
-       c = 0;
-       q = p;
-       while (q) {
-               q >>= 1;
-               c++;
-       }
-       putcode(pt_len[c], pt_code[c]);
-       if (c > 1)
-               putbits(c - 1, p);
+    c = 0;
+    q = p;
+    while (q) {
+        q >>= 1;
+        c++;
+    }
+    putcode(pt_len[c], pt_code[c]);
+    if (c > 1)
+        putbits(c - 1, p);
 }
 
 /* ------------------------------------------------------------------------ */
 static void
 send_block( /* void */ )
 {
-       unsigned char   flags;
-       unsigned short  i, k, root, pos, size;
-
-       root = make_tree(NC, c_freq, c_len, c_code);
-       size = c_freq[root];
-       putbits(16, size);
-       if (root >= NC) {
-               count_t_freq();
-               root = make_tree(NT, t_freq, pt_len, pt_code);
-               if (root >= NT) {
-                       write_pt_len(NT, TBIT, 3);
-               } else {
-                       putbits(TBIT, 0);
-                       putbits(TBIT, root);
-               }
-               write_c_len();
-       } else {
-               putbits(TBIT, 0);
-               putbits(TBIT, 0);
-               putbits(CBIT, 0);
-               putbits(CBIT, root);
-       }
-       root = make_tree(np, p_freq, pt_len, pt_code);
-       if (root >= np) {
-               write_pt_len(np, pbit, -1);
-       }
-       else {
-               putbits(pbit, 0);
-               putbits(pbit, root);
-       }
-       pos = 0;
-       for (i = 0; i < size; i++) {
-               if (i % CHAR_BIT == 0)
-                       flags = buf[pos++];
-               else
-                       flags <<= 1;
-               if (flags & (1 << (CHAR_BIT - 1))) {
-                       encode_c(buf[pos++] + (1 << CHAR_BIT));
-                       k = buf[pos++] << CHAR_BIT;
-                       k += buf[pos++];
-                       encode_p(k);
-               } else
-                       encode_c(buf[pos++]);
-               if (unpackable)
-                       return;
-       }
-       for (i = 0; i < NC; i++)
-               c_freq[i] = 0;
-       for (i = 0; i < np; i++)
-               p_freq[i] = 0;
+    unsigned char   flags;
+    unsigned short  i, k, root, pos, size;
+
+    root = make_tree(NC, c_freq, c_len, c_code);
+    size = c_freq[root];
+    putbits(16, size);
+    if (root >= NC) {
+        count_t_freq();
+        root = make_tree(NT, t_freq, pt_len, pt_code);
+        if (root >= NT) {
+            write_pt_len(NT, TBIT, 3);
+        } else {
+            putbits(TBIT, 0);
+            putbits(TBIT, root);
+        }
+        write_c_len();
+    } else {
+        putbits(TBIT, 0);
+        putbits(TBIT, 0);
+        putbits(CBIT, 0);
+        putbits(CBIT, root);
+    }
+    root = make_tree(np, p_freq, pt_len, pt_code);
+    if (root >= np) {
+        write_pt_len(np, pbit, -1);
+    }
+    else {
+        putbits(pbit, 0);
+        putbits(pbit, root);
+    }
+    pos = 0;
+    for (i = 0; i < size; i++) {
+        if (i % CHAR_BIT == 0)
+            flags = buf[pos++];
+        else
+            flags <<= 1;
+        if (flags & (1 << (CHAR_BIT - 1))) {
+            encode_c(buf[pos++] + (1 << CHAR_BIT));
+            k = buf[pos++] << CHAR_BIT;
+            k += buf[pos++];
+            encode_p(k);
+        } else
+            encode_c(buf[pos++]);
+        if (unpackable)
+            return;
+    }
+    for (i = 0; i < NC; i++)
+        c_freq[i] = 0;
+    for (i = 0; i < np; i++)
+        p_freq[i] = 0;
 }
 
 /* ------------------------------------------------------------------------ */
 /* lh4, 5, 6 */
 void
 output_st1(c, p)
-       unsigned short  c;
-       unsigned short  p;
+    unsigned short  c;
+    unsigned short  p;
 {
-       static unsigned short cpos;
-
-       output_mask >>= 1;
-       if (output_mask == 0) {
-               output_mask = 1 << (CHAR_BIT - 1);
-               if (output_pos >= bufsiz - 3 * CHAR_BIT) {
-                       send_block();
-                       if (unpackable)
-                               return;
-                       output_pos = 0;
-               }
-               cpos = output_pos++;
-               buf[cpos] = 0;
-       }
-       buf[output_pos++] = (unsigned char) c;
-       c_freq[c]++;
-       if (c >= (1 << CHAR_BIT)) {
-               buf[cpos] |= output_mask;
-               buf[output_pos++] = (unsigned char) (p >> CHAR_BIT);
-               buf[output_pos++] = (unsigned char) p;
-               c = 0;
-               while (p) {
-                       p >>= 1;
-                       c++;
-               }
-               p_freq[c]++;
-       }
+    static unsigned short cpos;
+
+    output_mask >>= 1;
+    if (output_mask == 0) {
+        output_mask = 1 << (CHAR_BIT - 1);
+        if (output_pos >= bufsiz - 3 * CHAR_BIT) {
+            send_block();
+            if (unpackable)
+                return;
+            output_pos = 0;
+        }
+        cpos = output_pos++;
+        buf[cpos] = 0;
+    }
+    buf[output_pos++] = (unsigned char) c;
+    c_freq[c]++;
+    if (c >= (1 << CHAR_BIT)) {
+        buf[cpos] |= output_mask;
+        buf[output_pos++] = (unsigned char) (p >> CHAR_BIT);
+        buf[output_pos++] = (unsigned char) p;
+        c = 0;
+        while (p) {
+            p >>= 1;
+            c++;
+        }
+        p_freq[c]++;
+    }
 }
 
 /* ------------------------------------------------------------------------ */
 unsigned char  *
 alloc_buf( /* void */ )
 {
-       bufsiz = 16 * 1024 *2;  /* 65408U; */ /* t.okamoto */
-       while ((buf = (unsigned char *) malloc(bufsiz)) == NULL) {
-               bufsiz = (bufsiz / 10) * 9;
-               if (bufsiz < 4 * 1024)
+    bufsiz = 16 * 1024 *2;  /* 65408U; */ /* t.okamoto */
+    while ((buf = (unsigned char *) malloc(bufsiz)) == NULL) {
+        bufsiz = (bufsiz / 10) * 9;
+        if (bufsiz < 4 * 1024)
             fatal_error("Not enough memory");
-       }
-       return buf;
+    }
+    return buf;
 }
 
 /* ------------------------------------------------------------------------ */
@@ -275,7 +275,7 @@ alloc_buf( /* void */ )
 void
 encode_start_st1( /* void */ )
 {
-       int             i;
+    int             i;
 
     switch (dicbit) {
     case LZHUFF4_DICBIT:
@@ -286,14 +286,14 @@ encode_start_st1( /* void */ )
         assert(0);
     }
         
-       for (i = 0; i < NC; i++)
-               c_freq[i] = 0;
-       for (i = 0; i < np; i++)
-               p_freq[i] = 0;
-       output_pos = output_mask = 0;
-       init_putbits();
+    for (i = 0; i < NC; i++)
+        c_freq[i] = 0;
+    for (i = 0; i < np; i++)
+        p_freq[i] = 0;
+    output_pos = output_mask = 0;
+    init_putbits();
     init_code_cache();
-       buf[0] = 0;
+    buf[0] = 0;
 }
 
 /* ------------------------------------------------------------------------ */
@@ -301,101 +301,101 @@ encode_start_st1( /* void */ )
 void
 encode_end_st1( /* void */ )
 {
-       if (!unpackable) {
-               send_block();
-               putbits(CHAR_BIT - 1, 0);       /* flush remaining bits */
-       }
+    if (!unpackable) {
+        send_block();
+        putbits(CHAR_BIT - 1, 0);   /* flush remaining bits */
+    }
 }
 
 /* ------------------------------------------------------------------------ */
-/*                                                             decoding                                                                        */
+/*                              decoding                                    */
 /* ------------------------------------------------------------------------ */
 static void
 read_pt_len(nn, nbit, i_special)
-       short           nn;
-       short           nbit;
-       short           i_special;
+    short           nn;
+    short           nbit;
+    short           i_special;
 {
-       int           i, c, n;
-
-       n = getbits(nbit);
-       if (n == 0) {
-               c = getbits(nbit);
-               for (i = 0; i < nn; i++)
-                       pt_len[i] = 0;
-               for (i = 0; i < 256; i++)
-                       pt_table[i] = c;
-       }
-       else {
-               i = 0;
-               while (i < n) {
-                       c = bitbuf >> (16 - 3);
-                       if (c == 7) {
-                               unsigned short  mask = 1 << (16 - 4);
-                               while (mask & bitbuf) {
-                                       mask >>= 1;
-                                       c++;
-                               }
-                       }
-                       fillbuf((c < 7) ? 3 : c - 3);
-                       pt_len[i++] = c;
-                       if (i == i_special) {
-                               c = getbits(2);
-                               while (--c >= 0)
-                                       pt_len[i++] = 0;
-                       }
-               }
-               while (i < nn)
-                       pt_len[i++] = 0;
-               make_table(nn, pt_len, 8, pt_table);
-       }
+    int           i, c, n;
+
+    n = getbits(nbit);
+    if (n == 0) {
+        c = getbits(nbit);
+        for (i = 0; i < nn; i++)
+            pt_len[i] = 0;
+        for (i = 0; i < 256; i++)
+            pt_table[i] = c;
+    }
+    else {
+        i = 0;
+        while (i < n) {
+            c = bitbuf >> (16 - 3);
+            if (c == 7) {
+                unsigned short  mask = 1 << (16 - 4);
+                while (mask & bitbuf) {
+                    mask >>= 1;
+                    c++;
+                }
+            }
+            fillbuf((c < 7) ? 3 : c - 3);
+            pt_len[i++] = c;
+            if (i == i_special) {
+                c = getbits(2);
+                while (--c >= 0)
+                    pt_len[i++] = 0;
+            }
+        }
+        while (i < nn)
+            pt_len[i++] = 0;
+        make_table(nn, pt_len, 8, pt_table);
+    }
 }
 
 /* ------------------------------------------------------------------------ */
 static void
 read_c_len( /* void */ )
 {
-       short           i, c, n;
-
-       n = getbits(CBIT);
-       if (n == 0) {
-               c = getbits(CBIT);
-               for (i = 0; i < NC; i++)
-                       c_len[i] = 0;
-               for (i = 0; i < 4096; i++)
-                       c_table[i] = c;
-       } else {
-               i = 0;
-               while (i < n) {
-                       c = pt_table[bitbuf >> (16 - 8)];
-                       if (c >= NT) {
-                               unsigned short  mask = 1 << (16 - 9);
-                               do {
-                                       if (bitbuf & mask)
-                                               c = right[c];
-                                       else
-                                               c = left[c];
-                                       mask >>= 1;
-                               } while (c >= NT);
-                       }
-                       fillbuf(pt_len[c]);
-                       if (c <= 2) {
-                               if (c == 0)
-                                       c = 1;
-                               else if (c == 1)
-                                       c = getbits(4) + 3;
-                               else
-                                       c = getbits(CBIT) + 20;
-                               while (--c >= 0)
-                                       c_len[i++] = 0;
-                       }
-                       else
-                               c_len[i++] = c - 2;
-               }
-               while (i < NC)
-                       c_len[i++] = 0;
-               make_table(NC, c_len, 12, c_table);
-       }
+    short           i, c, n;
+
+    n = getbits(CBIT);
+    if (n == 0) {
+        c = getbits(CBIT);
+        for (i = 0; i < NC; i++)
+            c_len[i] = 0;
+        for (i = 0; i < 4096; i++)
+            c_table[i] = c;
+    } else {
+        i = 0;
+        while (i < n) {
+            c = pt_table[bitbuf >> (16 - 8)];
+            if (c >= NT) {
+                unsigned short  mask = 1 << (16 - 9);
+                do {
+                    if (bitbuf & mask)
+                        c = right[c];
+                    else
+                        c = left[c];
+                    mask >>= 1;
+                } while (c >= NT);
+            }
+            fillbuf(pt_len[c]);
+            if (c <= 2) {
+                if (c == 0)
+                    c = 1;
+                else if (c == 1)
+                    c = getbits(4) + 3;
+                else
+                    c = getbits(CBIT) + 20;
+                while (--c >= 0)
+                    c_len[i++] = 0;
+            }
+            else
+                c_len[i++] = c - 2;
+        }
+        while (i < NC)
+            c_len[i++] = 0;
+        make_table(NC, c_len, 12, c_table);
+    }
 }
 
 /* ------------------------------------------------------------------------ */
@@ -403,31 +403,31 @@ read_c_len( /* void */ )
 unsigned short
 decode_c_st1( /*void*/ )
 {
-       unsigned short  j, mask;
+    unsigned short  j, mask;
 
-       if (blocksize == 0) {
-               blocksize = getbits(16);
-               read_pt_len(NT, TBIT, 3);
-               read_c_len();
-               read_pt_len(np, pbit, -1);
-       }
-       blocksize--;
-       j = c_table[bitbuf >> 4];
-       if (j < NC)
-               fillbuf(c_len[j]);
-       else {
-               fillbuf(12);
-               mask = 1 << (16 - 1);
-               do {
-                       if (bitbuf & mask)
-                               j = right[j];
-                       else
-                               j = left[j];
-                       mask >>= 1;
-               } while (j >= NC);
-               fillbuf(c_len[j] - 12);
-       }
-       return j;
+    if (blocksize == 0) {
+        blocksize = getbits(16);
+        read_pt_len(NT, TBIT, 3);
+        read_c_len();
+        read_pt_len(np, pbit, -1);
+    }
+    blocksize--;
+    j = c_table[bitbuf >> 4];
+    if (j < NC)
+        fillbuf(c_len[j]);
+    else {
+        fillbuf(12);
+        mask = 1 << (16 - 1);
+        do {
+            if (bitbuf & mask)
+                j = right[j];
+            else
+                j = left[j];
+            mask >>= 1;
+        } while (j >= NC);
+        fillbuf(c_len[j] - 12);
+    }
+    return j;
 }
 
 /* ------------------------------------------------------------------------ */
@@ -435,26 +435,26 @@ decode_c_st1( /*void*/ )
 unsigned short
 decode_p_st1( /* void */ )
 {
-       unsigned short  j, mask;
-
-       j = pt_table[bitbuf >> (16 - 8)];
-       if (j < np)
-               fillbuf(pt_len[j]);
-       else {
-               fillbuf(8);
-               mask = 1 << (16 - 1);
-               do {
-                       if (bitbuf & mask)
-                               j = right[j];
-                       else
-                               j = left[j];
-                       mask >>= 1;
-               } while (j >= np);
-               fillbuf(pt_len[j] - 8);
-       }
-       if (j != 0)
-               j = (1 << (j - 1)) + getbits(j - 1);
-       return j;
+    unsigned short  j, mask;
+
+    j = pt_table[bitbuf >> (16 - 8)];
+    if (j < np)
+        fillbuf(pt_len[j]);
+    else {
+        fillbuf(8);
+        mask = 1 << (16 - 1);
+        do {
+            if (bitbuf & mask)
+                j = right[j];
+            else
+                j = left[j];
+            mask >>= 1;
+        } while (j >= np);
+        fillbuf(pt_len[j] - 8);
+    }
+    if (j != 0)
+        j = (1 << (j - 1)) + getbits(j - 1);
+    return j;
 }
 
 /* ------------------------------------------------------------------------ */
@@ -471,13 +471,7 @@ decode_start_st1( /* void */ )
         assert(0);
     }
 
-       init_getbits();
+    init_getbits();
     init_code_cache();
-       blocksize = 0;
+    blocksize = 0;
 }
-
-/* Local Variables: */
-/* mode:c */
-/* tab-width:4 */
-/* End: */
-/* vi: set tabstop=4: */
index 7e50aa2..42509c7 100644 (file)
@@ -1,10 +1,10 @@
 /* ------------------------------------------------------------------------ */
-/* LHa for UNIX                                                                                                                        */
-/*                             larc.c -- extra *.lzs                                                                           */
-/*                                                                                                                                                     */
-/*             Modified                        Nobutaka Watazaki                                                       */
-/*                                                                                                                                                     */
-/*     Ver. 1.14       Source All chagned                              1995.01.14      N.Watazaki              */
+/* LHa for UNIX                                                             */
+/*              larc.c -- extra *.lzs                                       */
+/*                                                                          */
+/*      Modified                Nobutaka Watazaki                           */
+/*                                                                          */
+/*  Ver. 1.14   Source All chagned              1995.01.14  N.Watazaki      */
 /* ------------------------------------------------------------------------ */
 #include "lha.h"
 
@@ -15,13 +15,13 @@ static int      flag, flagcnt, matchpos;
 unsigned short
 decode_c_lzs( /*void*/ )
 {
-       if (getbits(1)) {
-               return getbits(8);
-       }
-       else {
-               matchpos = getbits(11);
-               return getbits(4) + 0x100;
-       }
+    if (getbits(1)) {
+        return getbits(8);
+    }
+    else {
+        matchpos = getbits(11);
+        return getbits(4) + 0x100;
+    }
 }
 
 /* ------------------------------------------------------------------------ */
@@ -29,7 +29,7 @@ decode_c_lzs( /*void*/ )
 unsigned short
 decode_p_lzs( /*void*/ )
 {
-       return (loc - matchpos - MAGIC0) & 0x7ff;
+    return (loc - matchpos - MAGIC0) & 0x7ff;
 }
 
 /* ------------------------------------------------------------------------ */
@@ -37,7 +37,7 @@ decode_p_lzs( /*void*/ )
 void
 decode_start_lzs( /*void*/ )
 {
-       init_getbits();
+    init_getbits();
     init_code_cache();
 }
 
@@ -46,23 +46,23 @@ decode_start_lzs( /*void*/ )
 unsigned short
 decode_c_lz5( /*void*/ )
 {
-       int             c;
+    int             c;
 
-       if (flagcnt == 0) {
-               flagcnt = 8;
-               flag = getc(infile);
-       }
-       flagcnt--;
-       c = getc(infile);
-       if ((flag & 1) == 0) {
-               matchpos = c;
-               c = getc(infile);
-               matchpos += (c & 0xf0) << 4;
-               c &= 0x0f;
-               c += 0x100;
-       }
-       flag >>= 1;
-       return c;
+    if (flagcnt == 0) {
+        flagcnt = 8;
+        flag = getc(infile);
+    }
+    flagcnt--;
+    c = getc(infile);
+    if ((flag & 1) == 0) {
+        matchpos = c;
+        c = getc(infile);
+        matchpos += (c & 0xf0) << 4;
+        c &= 0x0f;
+        c += 0x100;
+    }
+    flag >>= 1;
+    return c;
 }
 
 /* ------------------------------------------------------------------------ */
@@ -70,7 +70,7 @@ decode_c_lz5( /*void*/ )
 unsigned short
 decode_p_lz5( /*void*/ )
 {
-       return (loc - matchpos - MAGIC5) & 0xfff;
+    return (loc - matchpos - MAGIC5) & 0xfff;
 }
 
 /* ------------------------------------------------------------------------ */
@@ -78,19 +78,15 @@ decode_p_lz5( /*void*/ )
 void
 decode_start_lz5( /*void*/ )
 {
-       int             i;
+    int             i;
 
-       flagcnt = 0;
-       for (i = 0; i < 256; i++)
-               memset(&text[i * 13 + 18], i, 13);
-       for (i = 0; i < 256; i++)
-               text[256 * 13 + 18 + i] = i;
-       for (i = 0; i < 256; i++)
-               text[256 * 13 + 256 + 18 + i] = 255 - i;
-       memset(&text[256 * 13 + 512 + 18], 0, 128);
-       memset(&text[256 * 13 + 512 + 128 + 18], ' ', 128 - 18);
+    flagcnt = 0;
+    for (i = 0; i < 256; i++)
+        memset(&text[i * 13 + 18], i, 13);
+    for (i = 0; i < 256; i++)
+        text[256 * 13 + 18 + i] = i;
+    for (i = 0; i < 256; i++)
+        text[256 * 13 + 256 + 18 + i] = 255 - i;
+    memset(&text[256 * 13 + 512 + 18], 0, 128);
+    memset(&text[256 * 13 + 512 + 128 + 18], ' ', 128 - 18);
 }
-/* Local Variables: */
-/* tab-width : 4 */
-/* End: */
-/* vi: set tabstop=4: */
index 7644f4a..9a6a5ac 100644 (file)
--- a/src/lha.h
+++ b/src/lha.h
@@ -1,14 +1,14 @@
 /* ------------------------------------------------------------------------ */
-/* LHa for UNIX    Archiver Driver                                                                                     */
-/*                                                                                                                                                     */
-/*             Modified                        Nobutaka Watazaki                                                       */
-/*                                                                                                                                                     */
-/*     Ver. 1.14       Soruce All chagned                              1995.01.14      N.Watazaki              */
-/*     Ver. 1.14i      Modified and bug fixed                  2000.10.06      t.okamoto       */
+/* LHa for UNIX    Archiver Driver                                          */
+/*                                                                          */
+/*      Modified                Nobutaka Watazaki                           */
+/*                                                                          */
+/*  Ver. 1.14   Soruce All chagned              1995.01.14  N.Watazaki      */
+/*  Ver. 1.14i  Modified and bug fixed          2000.10.06  t.okamoto       */
 /* ------------------------------------------------------------------------ */
 /*
-       Included...
-               lharc.h         interface.h             slidehuf.h
+    Included...
+        lharc.h     interface.h     slidehuf.h
 */
 
 #ifdef HAVE_CONFIG_H
@@ -47,7 +47,7 @@ char *strchr (), *strrchr ();
 #endif
 
 #if HAVE_STRCASECMP
-#define strucmp(p,q)   strcasecmp((p),(q))
+#define strucmp(p,q)    strcasecmp((p),(q))
 #endif
 
 #if STDC_HEADERS
@@ -136,16 +136,16 @@ int utime(const char *, struct utimbuf *);
 # if HAVE_NDIR_H
 #  include <ndir.h>
 # endif
-# ifdef NONSYSTEM_DIR_LIBRARY                  /* no use ?? */
+# ifdef NONSYSTEM_DIR_LIBRARY           /* no use ?? */
 #  include "lhdir.h"
 # endif
 #endif
 
 #ifndef SEEK_SET
-#define SEEK_SET               0
-#define SEEK_CUR               1
-#define SEEK_END               2
-#endif /* SEEK_SET */
+#define SEEK_SET        0
+#define SEEK_CUR        1
+#define SEEK_END        2
+#endif  /* SEEK_SET */
 
 #if HAVE_LIMITS_H
 #include <limits.h>
@@ -189,75 +189,75 @@ int utime(const char *, struct utimbuf *);
 
 struct encode_option {
 #if defined(__STDC__) || defined(AIX)
-       void            (*output) ();
-       void            (*encode_start) ();
-       void            (*encode_end) ();
+    void            (*output) ();
+    void            (*encode_start) ();
+    void            (*encode_end) ();
 #else
-       int             (*output) ();
-       int             (*encode_start) ();
-       int             (*encode_end) ();
+    int             (*output) ();
+    int             (*encode_start) ();
+    int             (*encode_end) ();
 #endif
 };
 
 struct decode_option {
-       unsigned short  (*decode_c) ();
-       unsigned short  (*decode_p) ();
+    unsigned short  (*decode_c) ();
+    unsigned short  (*decode_p) ();
 #if defined(__STDC__) || defined(AIX)
-       void            (*decode_start) ();
+    void            (*decode_start) ();
 #else
-       int             (*decode_start) ();
+    int             (*decode_start) ();
 #endif
 };
 
 /* ------------------------------------------------------------------------ */
-/*     LHa File Type Definition                                                                                                */
+/*  LHa File Type Definition                                                */
 /* ------------------------------------------------------------------------ */
 typedef int boolean;            /* TRUE or FALSE */
 
 struct string_pool {
-       int             used;
-       int             size;
-       int             n;
-       char           *buffer;
+    int             used;
+    int             size;
+    int             n;
+    char           *buffer;
 };
 
 typedef struct LzHeader {
-       long            header_size;
+    long            header_size;
     int             size_field_length;
-       char            method[METHOD_TYPE_STORAGE];
-       long            packed_size;
-       long            original_size;
-       unsigned char   attribute;
-       unsigned char   header_level;
-       char            name[FILENAME_LENGTH];
+    char            method[METHOD_TYPE_STORAGE];
+    long            packed_size;
+    long            original_size;
+    unsigned char   attribute;
+    unsigned char   header_level;
+    char            name[FILENAME_LENGTH];
     char            realname[FILENAME_LENGTH];/* real name for symbolic link */
-       unsigned int    crc;      /* file CRC */
-       boolean         has_crc;  /* file CRC */
+    unsigned int    crc;      /* file CRC */
+    boolean         has_crc;  /* file CRC */
     unsigned int    header_crc; /* header CRC */
-       unsigned char   extend_type;
-       unsigned char   minor_version;
-
-       /* extend_type == EXTEND_UNIX  and convert from other type. */
-       time_t          unix_last_modified_stamp;
-       unsigned short  unix_mode;
-       unsigned short  unix_uid;
-       unsigned short  unix_gid;
+    unsigned char   extend_type;
+    unsigned char   minor_version;
+
+    /* extend_type == EXTEND_UNIX  and convert from other type. */
+    time_t          unix_last_modified_stamp;
+    unsigned short  unix_mode;
+    unsigned short  unix_uid;
+    unsigned short  unix_gid;
     char            user[256];
     char            group[256];
 }  LzHeader;
 
 struct interfacing {
-       FILE                    *infile;
-       FILE                    *outfile;
-       unsigned long   original;
-       unsigned long   packed;
-       int             dicbit;
-       int             method;
+    FILE            *infile;
+    FILE            *outfile;
+    unsigned long   original;
+    unsigned long   packed;
+    int             dicbit;
+    int             method;
 };
 
 
 /* ------------------------------------------------------------------------ */
-/*     Option switch variable                                                                                                  */
+/*  Option switch variable                                                  */
 /* ------------------------------------------------------------------------ */
 #ifdef LHA_MAIN_SRC
 #define EXTERN
@@ -269,15 +269,15 @@ struct interfacing {
 EXTERN boolean  quiet;
 EXTERN boolean  text_mode;
 EXTERN boolean  verbose;
-EXTERN boolean  noexec;                /* debugging option */
+EXTERN boolean  noexec;     /* debugging option */
 EXTERN boolean  force;
 EXTERN boolean  prof;
 EXTERN boolean  delete_after_append;
-EXTERN int             compress_method;
-EXTERN int             header_level;
-/* EXTERN int          quiet_mode; */   /* 1996.8.13 t.okamoto */
+EXTERN int      compress_method;
+EXTERN int      header_level;
+/* EXTERN int       quiet_mode; */   /* 1996.8.13 t.okamoto */
 #ifdef EUC
-EXTERN boolean euc_mode;
+EXTERN boolean  euc_mode;
 #endif
 
 /* list command flags */
@@ -291,34 +291,34 @@ EXTERN boolean  new_archive;
 EXTERN boolean  update_if_newer;
 EXTERN boolean  generic_format;
 
-EXTERN boolean remove_temporary_at_error;
-EXTERN boolean recover_archive_when_interrupt;
-EXTERN boolean remove_extracting_file_when_interrupt;
-EXTERN boolean get_filename_from_stdin;
-EXTERN boolean ignore_directory;
-EXTERN boolean verify_mode;
+EXTERN boolean  remove_temporary_at_error;
+EXTERN boolean  recover_archive_when_interrupt;
+EXTERN boolean  remove_extracting_file_when_interrupt;
+EXTERN boolean  get_filename_from_stdin;
+EXTERN boolean  ignore_directory;
+EXTERN boolean  verify_mode;
 
 /* Indicator flag */
-EXTERN int             quiet_mode;
+EXTERN int      quiet_mode;
 
 EXTERN boolean backup_old_archive;
 /* ------------------------------------------------------------------------ */
-/*     Globale Variable                                                                                                                */
+/*  Globale Variable                                                        */
 /* ------------------------------------------------------------------------ */
-EXTERN char            **cmd_filev;
+EXTERN char     **cmd_filev;
 EXTERN int      cmd_filec;
 
-EXTERN char            *archive_name;
+EXTERN char     *archive_name;
 EXTERN char     temporary_name[FILENAME_LENGTH];
 EXTERN char     backup_archive_name[FILENAME_LENGTH];
 
-EXTERN char            *extract_directory;
-EXTERN char            *reading_filename, *writing_filename;
+EXTERN char     *extract_directory;
+EXTERN char     *reading_filename, *writing_filename;
 
 EXTERN int      archive_file_mode;
 EXTERN int      archive_file_gid;
 
-EXTERN struct  interfacing interface;
+EXTERN struct   interfacing interface;
 
 EXTERN int      noconvertcase; /* 2000.10.6 */
 
@@ -328,9 +328,9 @@ EXTERN unsigned long origsize, compsize;
 EXTERN unsigned short dicbit;
 EXTERN unsigned short maxmatch;
 EXTERN unsigned long count;
-EXTERN unsigned long loc;                      /* short -> long .. Changed N.Watazaki */
+EXTERN unsigned long loc;           /* short -> long .. Changed N.Watazaki */
 EXTERN unsigned char *text;
-EXTERN int             prev_char;
+EXTERN int      prev_char;
 
 /* huf.c */
 #ifndef LHA_MAIN_SRC  /* t.okamoto 96/2/20 */
@@ -342,12 +342,12 @@ EXTERN unsigned short p_freq[], pt_table[], pt_code[], t_freq[];
 
 /* append.c */
 #ifdef NEED_INCREMENTAL_INDICATOR
-EXTERN long            indicator_count;
-EXTERN long            indicator_threshold;
+EXTERN long     indicator_count;
+EXTERN long     indicator_threshold;
 #endif
 
 /* bitio.c */
-EXTERN FILE            *infile, *outfile;
+EXTERN FILE     *infile, *outfile;
 EXTERN unsigned short bitbuf;
 
 /* crcio.c */
@@ -361,12 +361,6 @@ EXTERN unsigned int n_max;
 EXTERN int temporary_fd;
 
 /* ------------------------------------------------------------------------ */
-/*     Functions                                                                                                                               */
+/*  Functions                                                               */
 /* ------------------------------------------------------------------------ */
 #include "prototypes.h"
-
-/* Local Variables: */
-/* mode:c */
-/* tab-width:4 */
-/* End: */
-/* vi: set tabstop=4: */
index 5bbd356..2c168b8 100644 (file)
@@ -1,16 +1,16 @@
 /* ------------------------------------------------------------------------ */
-/* LHa for UNIX    Archiver Driver     macro define                                                    */
-/*                                                                                                                                                     */
-/*             Modified                        Nobutaka Watazaki                                                       */
-/*                                                                                                                                                     */
-/*     Ver. 1.14       Soruce All chagned                              1995.01.14      N.Watazaki              */
-/*     Ver. 1.14g      modified                                                2000.05.06      T.OKAMOTO               */
+/* LHa for UNIX    Archiver Driver  macro define                            */
+/*                                                                          */
+/*      Modified                Nobutaka Watazaki                           */
+/*                                                                          */
+/*  Ver. 1.14   Soruce All chagned              1995.01.14  N.Watazaki      */
+/*  Ver. 1.14g  modified                        2000.05.06  T.OKAMOTO       */
 /* ------------------------------------------------------------------------ */
 
-#define        FALSE                   0
-#define TRUE                   1
+#define FALSE           0
+#define TRUE            1
 
-#define FILENAME_LENGTH        1024
+#define FILENAME_LENGTH 1024
 
 #if defined __MINGW32__
 # define getuid()       0
 #endif
 
 /* ------------------------------------------------------------------------ */
-/* YOUR CUSTOMIZIES                                                                                                                    */
+/* YOUR CUSTOMIZIES                                                         */
 /* ------------------------------------------------------------------------ */
 
 #ifndef ARCHIVENAME_EXTENTION
-#define ARCHIVENAME_EXTENTION  ".lzh"
+#define ARCHIVENAME_EXTENTION   ".lzh"
 #endif
 #ifndef BACKUPNAME_EXTENTION
-#define BACKUPNAME_EXTENTION   ".bak"
+#define BACKUPNAME_EXTENTION    ".bak"
 #endif
 
-#define SJIS_FIRST_P(c)                        \
-  (((unsigned char)(c) >= 0x80 && (unsigned char)(c) < 0xa0) ||        \
+#define SJIS_FIRST_P(c)         \
+  (((unsigned char)(c) >= 0x80 && (unsigned char)(c) < 0xa0) || \
    ((unsigned char)(c) >= 0xe0 && (unsigned char)(c) < 0xfd))
-#define SJIS_SECOND_P(c)                       \
-  (((unsigned char)(c) >= 0x40 && (unsigned char)(c) < 0xfd) &&        \
+#define SJIS_SECOND_P(c)            \
+  (((unsigned char)(c) >= 0x40 && (unsigned char)(c) < 0xfd) && \
     (unsigned char)(c) != 0x7f)
 
 #define X0201_KANA_P(c)\
-       (0xa0 < (unsigned char)(c) && (unsigned char)(c) < 0xe0)
+    (0xa0 < (unsigned char)(c) && (unsigned char)(c) < 0xe0)
 
 /* for filename conversion */
 #define NONE 0
@@ -48,7 +48,7 @@
 #define TO_UPPER 2
 
 /* ------------------------------------------------------------------------ */
-/*     LHa File Definitions                                                                                                    */
+/*  LHa File Definitions                                                    */
 /* ------------------------------------------------------------------------ */
 #ifdef S_IFLNK
 #define GETSTAT lstat
 #define GETSTAT stat
 #endif
 
-#define LZHUFF0_METHOD                 "-lh0-"
-#define LZHUFF1_METHOD                 "-lh1-"
-#define LZHUFF2_METHOD                 "-lh2-"
-#define LZHUFF3_METHOD                 "-lh3-"
-#define LZHUFF4_METHOD                 "-lh4-"
-#define LZHUFF5_METHOD                 "-lh5-"
-#define LZHUFF6_METHOD                 "-lh6-"
-#define LZHUFF7_METHOD                 "-lh7-"
-#define LARC_METHOD                            "-lzs-"
-#define LARC5_METHOD                   "-lz5-"
-#define LARC4_METHOD                   "-lz4-"
-#define LZHDIRS_METHOD                 "-lhd-"
-
-#define METHOD_TYPE_STORAGE            5
+#define LZHUFF0_METHOD          "-lh0-"
+#define LZHUFF1_METHOD          "-lh1-"
+#define LZHUFF2_METHOD          "-lh2-"
+#define LZHUFF3_METHOD          "-lh3-"
+#define LZHUFF4_METHOD          "-lh4-"
+#define LZHUFF5_METHOD          "-lh5-"
+#define LZHUFF6_METHOD          "-lh6-"
+#define LZHUFF7_METHOD          "-lh7-"
+#define LARC_METHOD             "-lzs-"
+#define LARC5_METHOD            "-lz5-"
+#define LARC4_METHOD            "-lz4-"
+#define LZHDIRS_METHOD          "-lhd-"
+
+#define METHOD_TYPE_STORAGE     5
 
 /* Added N.Watazaki ..V */
-#define LZHUFF0_METHOD_NUM             0
-#define LZHUFF1_METHOD_NUM             1
-#define LZHUFF2_METHOD_NUM             2
-#define LZHUFF3_METHOD_NUM             3
-#define LZHUFF4_METHOD_NUM             4
-#define LZHUFF5_METHOD_NUM             5
-#define LZHUFF6_METHOD_NUM             6
-#define LZHUFF7_METHOD_NUM             7
-#define LARC_METHOD_NUM                        8
-#define LARC5_METHOD_NUM               9
-#define LARC4_METHOD_NUM               10
-#define LZHDIRS_METHOD_NUM             11
+#define LZHUFF0_METHOD_NUM      0
+#define LZHUFF1_METHOD_NUM      1
+#define LZHUFF2_METHOD_NUM      2
+#define LZHUFF3_METHOD_NUM      3
+#define LZHUFF4_METHOD_NUM      4
+#define LZHUFF5_METHOD_NUM      5
+#define LZHUFF6_METHOD_NUM      6
+#define LZHUFF7_METHOD_NUM      7
+#define LARC_METHOD_NUM         8
+#define LARC5_METHOD_NUM        9
+#define LARC4_METHOD_NUM        10
+#define LZHDIRS_METHOD_NUM      11
 /* Added N.Watazaki ..^ */
 
 #define LZHUFF0_DICBIT           0      /* no compress */
 #define LARC4_DICBIT             0      /* no compress */
 
 #ifdef SUPPORT_LH7
-#define MAX_DICBIT                     LZHUFF7_DICBIT      /* lh7 use 16bits */
+#define MAX_DICBIT          LZHUFF7_DICBIT      /* lh7 use 16bits */
 #endif
 #ifndef SUPPORT_LH7
-#define MAX_DICBIT                     LZHUFF6_DICBIT      /* lh6 use 15bits */
+#define MAX_DICBIT          LZHUFF6_DICBIT      /* lh6 use 15bits */
 #endif
 
-#define MAX_DICSIZ                     (1L << MAX_DICBIT)
-
-#define EXTEND_GENERIC                 0
-#define EXTEND_UNIX                            'U'
-#define EXTEND_MSDOS                   'M'
-#define EXTEND_MACOS                   'm'
-#define EXTEND_OS9                             '9'
-#define EXTEND_OS2                             '2'
-#define EXTEND_OS68K                   'K'
-#define EXTEND_OS386                   '3'     /* OS-9000??? */
-#define EXTEND_HUMAN                   'H'
-#define EXTEND_CPM                             'C'
-#define EXTEND_FLEX                            'F'
-#define EXTEND_RUNSER                  'R'
+#define MAX_DICSIZ          (1L << MAX_DICBIT)
+
+#define EXTEND_GENERIC          0
+#define EXTEND_UNIX             'U'
+#define EXTEND_MSDOS            'M'
+#define EXTEND_MACOS            'm'
+#define EXTEND_OS9              '9'
+#define EXTEND_OS2              '2'
+#define EXTEND_OS68K            'K'
+#define EXTEND_OS386            '3' /* OS-9000??? */
+#define EXTEND_HUMAN            'H'
+#define EXTEND_CPM              'C'
+#define EXTEND_FLEX             'F'
+#define EXTEND_RUNSER           'R'
 
 /* this OS type is not official */
 
-#define EXTEND_TOWNSOS                 'T'
-#define EXTEND_XOSK                            'X' /* OS-9 for X68000 (?) */
-#define EXTEND_JAVA                            'J'
+#define EXTEND_TOWNSOS          'T'
+#define EXTEND_XOSK             'X' /* OS-9 for X68000 (?) */
+#define EXTEND_JAVA             'J'
 
 /*---------------------------------------------------------------------------*/
 
-#define GENERIC_ATTRIBUTE                              0x20
-#define GENERIC_DIRECTORY_ATTRIBUTE            0x10
-#define HEADER_LEVEL0                                  0x00
-#define HEADER_LEVEL1                                  0x01
-#define HEADER_LEVEL2                                  0x02
+#define GENERIC_ATTRIBUTE               0x20
+#define GENERIC_DIRECTORY_ATTRIBUTE     0x10
+#define HEADER_LEVEL0                   0x00
+#define HEADER_LEVEL1                   0x01
+#define HEADER_LEVEL2                   0x02
 
-#define CURRENT_UNIX_MINOR_VERSION             0x00
+#define CURRENT_UNIX_MINOR_VERSION      0x00
 
 #define LHA_PATHSEP             0xff    /* path separator of the
                                            filename in lha header.
                                            `unsigned char' or `int',
                                            that is not '\xff', but 0xff. */
 
-#define OSK_RW_RW_RW                   0000033
-#define OSK_FILE_REGULAR               0000000
-#define OSK_DIRECTORY_PERM             0000200
-#define OSK_SHARED_PERM                        0000100
-#define OSK_OTHER_EXEC_PERM            0000040
-#define OSK_OTHER_WRITE_PERM   0000020
-#define OSK_OTHER_READ_PERM            0000010
-#define OSK_OWNER_EXEC_PERM            0000004
-#define OSK_OWNER_WRITE_PERM   0000002
-#define OSK_OWNER_READ_PERM            0000001
-
-#define UNIX_FILE_TYPEMASK             0170000
-#define UNIX_FILE_REGULAR              0100000
-#define UNIX_FILE_DIRECTORY            0040000
-#define UNIX_FILE_SYMLINK              0120000
-#define UNIX_SETUID                            0004000
-#define UNIX_SETGID                            0002000
-#define UNIX_STICKYBIT                 0001000
-#define UNIX_OWNER_READ_PERM   0000400
-#define UNIX_OWNER_WRITE_PERM  0000200
-#define UNIX_OWNER_EXEC_PERM   0000100
-#define UNIX_GROUP_READ_PERM   0000040
-#define UNIX_GROUP_WRITE_PERM  0000020
-#define UNIX_GROUP_EXEC_PERM   0000010
-#define UNIX_OTHER_READ_PERM   0000004
-#define UNIX_OTHER_WRITE_PERM  0000002
-#define UNIX_OTHER_EXEC_PERM   0000001
-#define UNIX_RW_RW_RW                  0000666
-
-#define LZHEADER_STORAGE               4096
-
-#define MAX_INDICATOR_COUNT            64
+#define OSK_RW_RW_RW            0000033
+#define OSK_FILE_REGULAR        0000000
+#define OSK_DIRECTORY_PERM      0000200
+#define OSK_SHARED_PERM         0000100
+#define OSK_OTHER_EXEC_PERM     0000040
+#define OSK_OTHER_WRITE_PERM    0000020
+#define OSK_OTHER_READ_PERM     0000010
+#define OSK_OWNER_EXEC_PERM     0000004
+#define OSK_OWNER_WRITE_PERM    0000002
+#define OSK_OWNER_READ_PERM     0000001
+
+#define UNIX_FILE_TYPEMASK      0170000
+#define UNIX_FILE_REGULAR       0100000
+#define UNIX_FILE_DIRECTORY     0040000
+#define UNIX_FILE_SYMLINK       0120000
+#define UNIX_SETUID             0004000
+#define UNIX_SETGID             0002000
+#define UNIX_STICKYBIT          0001000
+#define UNIX_OWNER_READ_PERM    0000400
+#define UNIX_OWNER_WRITE_PERM   0000200
+#define UNIX_OWNER_EXEC_PERM    0000100
+#define UNIX_GROUP_READ_PERM    0000040
+#define UNIX_GROUP_WRITE_PERM   0000020
+#define UNIX_GROUP_EXEC_PERM    0000010
+#define UNIX_OTHER_READ_PERM    0000004
+#define UNIX_OTHER_WRITE_PERM   0000002
+#define UNIX_OTHER_EXEC_PERM    0000001
+#define UNIX_RW_RW_RW           0000666
+
+#define LZHEADER_STORAGE        4096
+
+#define MAX_INDICATOR_COUNT     64
 
 /* ------------------------------------------------------------------------ */
-/*     FILE Attribute                                                                                                                  */
+/*  FILE Attribute                                                          */
 /* ------------------------------------------------------------------------ */
-#define is_directory(statp)            (((statp)->st_mode & S_IFMT) == S_IFDIR)
-#define is_symlink(statp)              (((statp)->st_mode & S_IFMT) == S_IFLNK)
-#define is_regularfile(statp)  (((statp)->st_mode & S_IFMT) == S_IFREG)
+#define is_directory(statp)     (((statp)->st_mode & S_IFMT) == S_IFDIR)
+#define is_symlink(statp)       (((statp)->st_mode & S_IFMT) == S_IFLNK)
+#define is_regularfile(statp)   (((statp)->st_mode & S_IFMT) == S_IFREG)
 
 #if 1 /* assume that fopen() will accepts "b" as binary mode on all system. */
-#define WRITE_BINARY   "wb"
-#define READ_BINARY            "rb"
+#define WRITE_BINARY    "wb"
+#define READ_BINARY     "rb"
 #else
-#define WRITE_BINARY   "w"
-#define READ_BINARY            "r"
+#define WRITE_BINARY    "w"
+#define READ_BINARY     "r"
 #endif
 
 /* ------------------------------------------------------------------------ */
-/* Individual macro define                                                                                                     */
+/* Individual macro define                                                  */
 /* ------------------------------------------------------------------------ */
 
 /* from crcio.c */
-#define CRCPOLY                        0xA001          /* CRC-16 (x^16+x^15+x^2+1) */
+#define CRCPOLY         0xA001      /* CRC-16 (x^16+x^15+x^2+1) */
 #define INITIALIZE_CRC(crc) ((crc) = 0)
 #define UPDATE_CRC(crc, c) \
  (crctable[((crc) ^ (c)) & 0xFF] ^ ((crc) >> CHAR_BIT))
 #define ROOT_P      TREESIZE_C
 
 /* huf.c */
-#define NP                     (MAX_DICBIT + 1)
-#define NT                     (USHRT_BIT + 3)
+#define NP          (MAX_DICBIT + 1)
+#define NT          (USHRT_BIT + 3)
 #if 0
-#define PBIT           4               /* smallest integer such that (1 << PBIT) > * NP */
-#define TBIT           5               /* smallest integer such that (1 << TBIT) > * NT */
+#define PBIT        4       /* smallest integer such that (1 << PBIT) > * NP */
+#define TBIT        5       /* smallest integer such that (1 << TBIT) > * NT */
 #endif
 
-#define PBIT           5               /* smallest integer such that (1 << PBIT) > * NP */
-#define TBIT           5               /* smallest integer such that (1 << TBIT) > * NT */
+#define PBIT        5       /* smallest integer such that (1 << PBIT) > * NP */
+#define TBIT        5       /* smallest integer such that (1 << TBIT) > * NT */
 
-#define NC                     (UCHAR_MAX + MAXMATCH + 2 - THRESHOLD)
+#define NC          (UCHAR_MAX + MAXMATCH + 2 - THRESHOLD)
 
-/*             #if NT > NP #define NPT NT #else #define NPT NP #endif  */
-#define NPT                    0x80
+/*      #if NT > NP #define NPT NT #else #define NPT NP #endif  */
+#define NPT         0x80
 
 /* larc.c */
-#define MAGIC0         18
-#define MAGIC5         19
+#define MAGIC0      18
+#define MAGIC5      19
 
 /* lharc.c */
-#define CMD_UNKNOWN    0
-#define CMD_EXTRACT    1
-#define CMD_ADD                2
-#define CMD_LIST       3
-#define CMD_DELETE     4
+#define CMD_UNKNOWN 0
+#define CMD_EXTRACT 1
+#define CMD_ADD     2
+#define CMD_LIST    3
+#define CMD_DELETE  4
 
-#define STREQU(a,b)    (((a)[0] == (b)[0]) ? (strcmp ((a),(b)) == 0) : FALSE)
+#define STREQU(a,b) (((a)[0] == (b)[0]) ? (strcmp ((a),(b)) == 0) : FALSE)
 
 /* shuf.c */
-#define N1                     286                             /* alphabet size */
-#define N2                     (2 * N1 - 1)    /* # of nodes in Huffman tree */
-#define EXTRABITS      8                               /* >= log2(F-THRESHOLD+258-N1) */
-#define BUFBITS                16                              /* >= log2(MAXBUF) */
-#define LENFIELD       4                               /* bit size of length field for tree output */
+#define N1          286             /* alphabet size */
+#define N2          (2 * N1 - 1)    /* # of nodes in Huffman tree */
+#define EXTRABITS   8               /* >= log2(F-THRESHOLD+258-N1) */
+#define BUFBITS     16              /* >= log2(MAXBUF) */
+#define LENFIELD    4               /* bit size of length field for tree output */
 
 /* util.c */
-#define BUFFERSIZE     2048
+#define BUFFERSIZE  2048
 
 /* slide.c */
 /*
 */
 
 /* slide.c */
-#define MATCHBIT                       8       /* bits for MAXMATCH - THRESHOLD */
-#define MAXMATCH                       256     /* formerly F (not more than UCHAR_MAX + 1) */
-#define THRESHOLD                      3       /* choose optimal value */
+#define MATCHBIT            8   /* bits for MAXMATCH - THRESHOLD */
+#define MAXMATCH            256 /* formerly F (not more than UCHAR_MAX + 1) */
+#define THRESHOLD           3   /* choose optimal value */
 
 /* from huf.c */
 
 /* alphabet = {0, 1, 2, ..., NC - 1} */
-#define CBIT                           9       /* $\lfloor \log_2 NC \rfloor + 1$ */
-#define USHRT_BIT                      16      /* (CHAR_BIT * sizeof(ushort)) */
-
-/* Local Variables: */
-/* mode:c */
-/* tab-width:4 */
-/* End: */
-/* vi: set tabstop=4: */
+#define CBIT                9   /* $\lfloor \log_2 NC \rfloor + 1$ */
+#define USHRT_BIT           16  /* (CHAR_BIT * sizeof(ushort)) */
index 8199a4d..da94837 100644 (file)
@@ -1,11 +1,11 @@
 /* ------------------------------------------------------------------------ */
-/* LHa for UNIX                                                                                                                        */
-/*                             lhadd.c -- LHarc Add Command                                                            */
-/*                                                                                                                                                     */
-/*             Copyright (C) MCMLXXXIX Yooichi.Tagawa                                                          */
-/*             Modified                        Nobutaka Watazaki                                                       */
-/*                                                                                                                                                     */
-/*     Ver. 1.14       Source All chagned                              1995.01.14      N.Watazaki              */
+/* LHa for UNIX                                                             */
+/*              lhadd.c -- LHarc Add Command                                */
+/*                                                                          */
+/*      Copyright (C) MCMLXXXIX Yooichi.Tagawa                              */
+/*      Modified                Nobutaka Watazaki                           */
+/*                                                                          */
+/*  Ver. 1.14   Source All chagned              1995.01.14  N.Watazaki      */
 /* ------------------------------------------------------------------------ */
 #include "lha.h"
 /* ------------------------------------------------------------------------ */
@@ -16,47 +16,47 @@ static char    *new_archive_name;
 /* ------------------------------------------------------------------------ */
 static void
 add_one(fp, nafp, hdr)
-       FILE           *fp, *nafp;
-       LzHeader       *hdr;
+    FILE           *fp, *nafp;
+    LzHeader       *hdr;
 {
-       long            header_pos, next_pos, org_pos, data_pos;
-       long            v_original_size, v_packed_size;
+    long            header_pos, next_pos, org_pos, data_pos;
+    long            v_original_size, v_packed_size;
 
-       reading_filename = hdr->name;
-       writing_filename = temporary_name;
+    reading_filename = hdr->name;
+    writing_filename = temporary_name;
 
-       if (!fp && generic_format)      /* [generic] doesn't need directory info. */
-               return;
-       header_pos = ftell(nafp);
-       write_header(nafp, hdr);/* DUMMY */
+    if (!fp && generic_format)  /* [generic] doesn't need directory info. */
+        return;
+    header_pos = ftell(nafp);
+    write_header(nafp, hdr);/* DUMMY */
 
-       if ((hdr->unix_mode & UNIX_FILE_SYMLINK) == UNIX_FILE_SYMLINK) {
-               if (!quiet)
-                       printf("%s -> %s\t- Symbolic Link\n", hdr->realname, hdr->name);
-       }
+    if ((hdr->unix_mode & UNIX_FILE_SYMLINK) == UNIX_FILE_SYMLINK) {
+        if (!quiet)
+            printf("%s -> %s\t- Symbolic Link\n", hdr->realname, hdr->name);
+    }
 
-       if (hdr->original_size == 0) {  /* empty file or directory */
+    if (hdr->original_size == 0) {  /* empty file or directory */
         finish_indicator2(hdr->name, "Frozen", 0);
-               return;         /* previous write_header is not DUMMY. (^_^) */
-    }
-       org_pos = ftell(fp);
-       data_pos = ftell(nafp);
-
-       hdr->crc = encode_lzhuf(fp, nafp, hdr->original_size,
-                 &v_original_size, &v_packed_size, hdr->name, hdr->method);
-
-       if (v_packed_size < v_original_size) {
-               next_pos = ftell(nafp);
-       }
-       else {                  /* retry by stored method */
-               fseek(fp, org_pos, SEEK_SET);
-               fseek(nafp, data_pos, SEEK_SET);
-               hdr->crc = encode_stored_crc(fp, nafp, hdr->original_size,
-                                         &v_original_size, &v_packed_size);
-               fflush(nafp);
-               next_pos = ftell(nafp);
+        return;     /* previous write_header is not DUMMY. (^_^) */
+    }
+    org_pos = ftell(fp);
+    data_pos = ftell(nafp);
+
+    hdr->crc = encode_lzhuf(fp, nafp, hdr->original_size,
+          &v_original_size, &v_packed_size, hdr->name, hdr->method);
+
+    if (v_packed_size < v_original_size) {
+        next_pos = ftell(nafp);
+    }
+    else {          /* retry by stored method */
+        fseek(fp, org_pos, SEEK_SET);
+        fseek(nafp, data_pos, SEEK_SET);
+        hdr->crc = encode_stored_crc(fp, nafp, hdr->original_size,
+                      &v_original_size, &v_packed_size);
+        fflush(nafp);
+        next_pos = ftell(nafp);
 #if HAVE_FTRUNCATE
-               if (ftruncate(fileno(nafp), next_pos) == -1)
+        if (ftruncate(fileno(nafp), next_pos) == -1)
             error("cannot truncate archive");
 #elif HAVE_CHSIZE
         if (chsize(fileno(nafp), next_pos) == -1)
@@ -64,45 +64,45 @@ add_one(fp, nafp, hdr)
 #else
         CAUSE COMPILE ERROR
 #endif
-               memcpy(hdr->method, LZHUFF0_METHOD, METHOD_TYPE_STORAGE);
-       }
-       hdr->original_size = v_original_size;
-       hdr->packed_size = v_packed_size;
-       fseek(nafp, header_pos, SEEK_SET);
-       write_header(nafp, hdr);
-       fseek(nafp, next_pos, SEEK_SET);
+        memcpy(hdr->method, LZHUFF0_METHOD, METHOD_TYPE_STORAGE);
+    }
+    hdr->original_size = v_original_size;
+    hdr->packed_size = v_packed_size;
+    fseek(nafp, header_pos, SEEK_SET);
+    write_header(nafp, hdr);
+    fseek(nafp, next_pos, SEEK_SET);
 }
 
 
 /* ------------------------------------------------------------------------ */
 FILE           *
 append_it(name, oafp, nafp)
-       char           *name;
-       FILE           *oafp, *nafp;
+    char           *name;
+    FILE           *oafp, *nafp;
 {
-       LzHeader        ahdr, hdr;
-       FILE           *fp;
-       long            old_header;
-       int             cmp;
-       int             filec;
-       char          **filev;
-       int             i;
-       struct stat     stbuf;
-
-       boolean         directory, symlink;
-
-       if (GETSTAT(name, &stbuf) < 0) {
-               error("Cannot access file \"%s\"", name);       /* See cleaning_files, Why? */
-               return oafp;
-       }
-       
-       directory = is_directory(&stbuf);
+    LzHeader        ahdr, hdr;
+    FILE           *fp;
+    long            old_header;
+    int             cmp;
+    int             filec;
+    char          **filev;
+    int             i;
+    struct stat     stbuf;
+
+    boolean         directory, symlink;
+
+    if (GETSTAT(name, &stbuf) < 0) {
+        error("Cannot access file \"%s\"", name);   /* See cleaning_files, Why? */
+        return oafp;
+    }
+    
+    directory = is_directory(&stbuf);
 #ifdef S_IFLNK
-       symlink = is_symlink(&stbuf);
+    symlink = is_symlink(&stbuf);
 #else
-       symlink = 0;
+    symlink = 0;
 #endif
-       init_header(name, &stbuf, &hdr);
+    init_header(name, &stbuf, &hdr);
 
     fp = NULL;
     if (!directory && !symlink && !noexec) {
@@ -114,14 +114,14 @@ append_it(name, oafp, nafp)
     }
 
     cmp = 0;                    /* avoid compiler warnings `uninitialized' */
-       while (oafp) {
-               old_header = ftell(oafp);
-               if (!get_header(oafp, &ahdr)) {
+    while (oafp) {
+        old_header = ftell(oafp);
+        if (!get_header(oafp, &ahdr)) {
             /* end of archive or error occurred */
-                       fclose(oafp);
-                       oafp = NULL;
-                       break;
-               }
+            fclose(oafp);
+            oafp = NULL;
+            break;
+        }
 
         cmp = strcmp(ahdr.name, hdr.name);
         if (cmp < 0) {          /* SKIP */
@@ -148,7 +148,7 @@ append_it(name, oafp, nafp)
         else
             add_one(fp, nafp, &hdr);
     }
-    else {             /* cmp == 0 */
+    else {      /* cmp == 0 */
         if (!update_if_newer ||
             ahdr.unix_last_modified_stamp < hdr.unix_last_modified_stamp) {
                                 /* newer than archive's */
@@ -167,87 +167,87 @@ append_it(name, oafp, nafp)
 
     if (fp) fclose(fp);
 
-       if (directory) {                        /* recursive call */
-               if (find_files(name, &filec, &filev)) {
-                       for (i = 0; i < filec; i++)
-                               oafp = append_it(filev[i], oafp, nafp);
-                       free_files(filec, filev);
-               }
-       }
-       return oafp;
+    if (directory) {            /* recursive call */
+        if (find_files(name, &filec, &filev)) {
+            for (i = 0; i < filec; i++)
+                oafp = append_it(filev[i], oafp, nafp);
+            free_files(filec, filev);
+        }
+    }
+    return oafp;
 }
 
 /* ------------------------------------------------------------------------ */
 static void
 find_update_files(oafp)
-       FILE           *oafp;   /* old archive */
+    FILE           *oafp;   /* old archive */
 {
-       char            name[FILENAME_LENGTH];
-       struct string_pool sp;
-       LzHeader        hdr;
-       long            pos;
-       struct stat     stbuf;
-       int             len;
-
-       pos = ftell(oafp);
-
-       init_sp(&sp);
-       while (get_header(oafp, &hdr)) {
-               if ((hdr.unix_mode & UNIX_FILE_TYPEMASK) == UNIX_FILE_REGULAR) {
-                       if (stat(hdr.name, &stbuf) >= 0)        /* exist ? */
-                               add_sp(&sp, hdr.name, strlen(hdr.name) + 1);
-               }
-               else if ((hdr.unix_mode & UNIX_FILE_TYPEMASK) == UNIX_FILE_DIRECTORY) {
-                       strcpy(name, hdr.name);
-                       len = strlen(name);
-                       if (len > 0 && name[len - 1] == '/')
-                               name[--len] = '\0';     /* strip tail '/' */
-                       if (stat(name, &stbuf) >= 0)    /* exist ? */
-                               add_sp(&sp, name, len + 1);
-               }
-               fseek(oafp, hdr.packed_size, SEEK_CUR);
-       }
-
-       fseek(oafp, pos, SEEK_SET);
-
-       finish_sp(&sp, &cmd_filec, &cmd_filev);
+    char            name[FILENAME_LENGTH];
+    struct string_pool sp;
+    LzHeader        hdr;
+    long            pos;
+    struct stat     stbuf;
+    int             len;
+
+    pos = ftell(oafp);
+
+    init_sp(&sp);
+    while (get_header(oafp, &hdr)) {
+        if ((hdr.unix_mode & UNIX_FILE_TYPEMASK) == UNIX_FILE_REGULAR) {
+            if (stat(hdr.name, &stbuf) >= 0)    /* exist ? */
+                add_sp(&sp, hdr.name, strlen(hdr.name) + 1);
+        }
+        else if ((hdr.unix_mode & UNIX_FILE_TYPEMASK) == UNIX_FILE_DIRECTORY) {
+            strcpy(name, hdr.name);
+            len = strlen(name);
+            if (len > 0 && name[len - 1] == '/')
+                name[--len] = '\0'; /* strip tail '/' */
+            if (stat(name, &stbuf) >= 0)    /* exist ? */
+                add_sp(&sp, name, len + 1);
+        }
+        fseek(oafp, hdr.packed_size, SEEK_CUR);
+    }
+
+    fseek(oafp, pos, SEEK_SET);
+
+    finish_sp(&sp, &cmd_filec, &cmd_filev);
 }
 
 /* ------------------------------------------------------------------------ */
 static void
 delete(oafp, nafp)
-       FILE           *oafp, *nafp;
+    FILE           *oafp, *nafp;
 {
-       LzHeader        ahdr;
-       long            old_header_pos;
-
-       old_header_pos = ftell(oafp);
-       while (get_header(oafp, &ahdr)) {
-               if (need_file(ahdr.name)) {     /* skip */
-                       fseek(oafp, ahdr.packed_size, SEEK_CUR);
-                       if (noexec || !quiet) {
+    LzHeader        ahdr;
+    long            old_header_pos;
+
+    old_header_pos = ftell(oafp);
+    while (get_header(oafp, &ahdr)) {
+        if (need_file(ahdr.name)) { /* skip */
+            fseek(oafp, ahdr.packed_size, SEEK_CUR);
+            if (noexec || !quiet) {
                 if ((ahdr.unix_mode & UNIX_FILE_TYPEMASK) == UNIX_FILE_SYMLINK)
                     message("delete %s -> %s", ahdr.realname, ahdr.name);
-                               else
-                                       message("delete %s", ahdr.name);
+                else
+                    message("delete %s", ahdr.name);
+            }
+        }
+        else {      /* copy */
+            if (noexec) {
+                fseek(oafp, ahdr.packed_size, SEEK_CUR);
             }
-               }
-               else {          /* copy */
-                       if (noexec) {
-                               fseek(oafp, ahdr.packed_size, SEEK_CUR);
-                       }
-                       else {
-                               fseek(oafp, old_header_pos, SEEK_SET);
-                               copy_old_one(oafp, nafp, &ahdr);
-                       }
-               }
-               old_header_pos = ftell(oafp);
-       }
-       return;
+            else {
+                fseek(oafp, old_header_pos, SEEK_SET);
+                copy_old_one(oafp, nafp, &ahdr);
+            }
+        }
+        old_header_pos = ftell(oafp);
+    }
+    return;
 }
 
 /* ------------------------------------------------------------------------ */
-/*                                                                                                                                                     */
+/*                                                                          */
 /* ------------------------------------------------------------------------ */
 static FILE    *
 build_temporary_file()
@@ -276,13 +276,13 @@ static void
 build_backup_file()
 {
 
-       build_backup_name(backup_archive_name, archive_name);
-       if (!noexec) {
-               signal(SIGINT, SIG_IGN);
+    build_backup_name(backup_archive_name, archive_name);
+    if (!noexec) {
+        signal(SIGINT, SIG_IGN);
 #ifdef SIGHUP
-               signal(SIGHUP, SIG_IGN);
+        signal(SIGHUP, SIG_IGN);
 #endif
-               if (rename(archive_name, backup_archive_name) < 0) {
+        if (rename(archive_name, backup_archive_name) < 0) {
 #if __MINGW32__
             /* On MinGW, cannot rename when
                newfile (backup_archive_name) already exists */
@@ -291,167 +291,167 @@ build_backup_file()
 #endif
             fatal_error("Cannot make backup file \"%s\"", archive_name);
         }
-               recover_archive_when_interrupt = TRUE;
-               signal(SIGINT, interrupt);
+        recover_archive_when_interrupt = TRUE;
+        signal(SIGINT, interrupt);
 #ifdef SIGHUP
-               signal(SIGHUP, interrupt);
+        signal(SIGHUP, interrupt);
 #endif
-       }
+    }
 }
 
 /* ------------------------------------------------------------------------ */
 static void
 report_archive_name_if_different()
 {
-       if (!quiet && new_archive_name == new_archive_name_buffer) {
-               /* warning at old archive is SFX */
-               message("New archive file is \"%s\"", new_archive_name);
-       }
+    if (!quiet && new_archive_name == new_archive_name_buffer) {
+        /* warning at old archive is SFX */
+        message("New archive file is \"%s\"", new_archive_name);
+    }
 }
 
 /* ------------------------------------------------------------------------ */
 void
 temporary_to_new_archive_file(new_archive_size)
-       long            new_archive_size;
+    long            new_archive_size;
 {
-       FILE           *oafp, *nafp;
+    FILE           *oafp, *nafp;
 
-       if (!strcmp(new_archive_name, "-")) {
-               nafp = stdout;
-               writing_filename = "starndard output";
+    if (!strcmp(new_archive_name, "-")) {
+        nafp = stdout;
+        writing_filename = "starndard output";
 #if __MINGW32__
         setmode(fileno(stdout), O_BINARY);
 #endif
-       }
-       else {
+    }
+    else {
         unlink(new_archive_name);
         if (rename(temporary_name, new_archive_name) == 0)
             return;
-               nafp = xfopen(new_archive_name, WRITE_BINARY);
-               writing_filename = archive_name;
-       }
+        nafp = xfopen(new_archive_name, WRITE_BINARY);
+        writing_filename = archive_name;
+    }
 
-       oafp = xfopen(temporary_name, READ_BINARY);
-       reading_filename = temporary_name;
-       copyfile(oafp, nafp, new_archive_size, 0, 0);
-       if (nafp != stdout)
-               fclose(nafp);
-       fclose(oafp);
+    oafp = xfopen(temporary_name, READ_BINARY);
+    reading_filename = temporary_name;
+    copyfile(oafp, nafp, new_archive_size, 0, 0);
+    if (nafp != stdout)
+        fclose(nafp);
+    fclose(oafp);
 
-       recover_archive_when_interrupt = FALSE;
-       unlink(temporary_name);
+    recover_archive_when_interrupt = FALSE;
+    unlink(temporary_name);
 
-       remove_temporary_at_error = FALSE;
+    remove_temporary_at_error = FALSE;
 }
 
 /* ------------------------------------------------------------------------ */
 static void
 set_archive_file_mode()
 {
-       int             umask_value;
-       struct stat     stbuf;
-
-       if (archive_file_gid < 0) {
-               umask(umask_value = umask(0));
-               archive_file_mode = (~umask_value) & 0666;      /* rw-rw-rw- */
-               if (stat(".", &stbuf) >= 0)
-                       archive_file_gid = stbuf.st_gid;
-       }
-       if (archive_file_gid >= 0)
-               chown(new_archive_name, getuid(), archive_file_gid);
-
-       chmod(new_archive_name, archive_file_mode);
+    int             umask_value;
+    struct stat     stbuf;
+
+    if (archive_file_gid < 0) {
+        umask(umask_value = umask(0));
+        archive_file_mode = (~umask_value) & 0666;  /* rw-rw-rw- */
+        if (stat(".", &stbuf) >= 0)
+            archive_file_gid = stbuf.st_gid;
+    }
+    if (archive_file_gid >= 0)
+        chown(new_archive_name, getuid(), archive_file_gid);
+
+    chmod(new_archive_name, archive_file_mode);
 }
 
 /* ------------------------------------------------------------------------ */
-/*                                                     REMOVE FILE/DIRECTORY                                                   */
+/*                          REMOVE FILE/DIRECTORY                           */
 /* ------------------------------------------------------------------------ */
 static void
 remove_one(name)
-       char           *name;
+    char           *name;
 {
-       struct stat     stbuf;
-       int             filec;
-       char          **filev;
-
-       if (GETSTAT(name, &stbuf) < 0) {
-               warning("Cannot access \"%s\": %s", name, strerror(errno));
-       }
-       else if (is_directory(&stbuf)) {
-               if (find_files(name, &filec, &filev)) {
-                       remove_files(filec, filev);
-                       free_files(filec, filev);
-               }
-               else
-                       warning("Cannot open directory \"%s\"", name);
-
-               if (noexec)
-                       message("REMOVE DIRECTORY %s", name);
-               else if (rmdir(name) < 0)
-                       warning("Cannot remove directory \"%s\"", name);
-               else if (verbose)
-                       message("Removed %s.", name);
-       }
-       else if (is_regularfile(&stbuf)) {
-               if (noexec)
-                       message("REMOVE FILE %s.", name);
-               else if (unlink(name) < 0)
-                       warning("Cannot remove \"%s\"", name);
-               else if (verbose)
-                       message("Removed %s.", name);
-       }
+    struct stat     stbuf;
+    int             filec;
+    char          **filev;
+
+    if (GETSTAT(name, &stbuf) < 0) {
+        warning("Cannot access \"%s\": %s", name, strerror(errno));
+    }
+    else if (is_directory(&stbuf)) {
+        if (find_files(name, &filec, &filev)) {
+            remove_files(filec, filev);
+            free_files(filec, filev);
+        }
+        else
+            warning("Cannot open directory \"%s\"", name);
+
+        if (noexec)
+            message("REMOVE DIRECTORY %s", name);
+        else if (rmdir(name) < 0)
+            warning("Cannot remove directory \"%s\"", name);
+        else if (verbose)
+            message("Removed %s.", name);
+    }
+    else if (is_regularfile(&stbuf)) {
+        if (noexec)
+            message("REMOVE FILE %s.", name);
+        else if (unlink(name) < 0)
+            warning("Cannot remove \"%s\"", name);
+        else if (verbose)
+            message("Removed %s.", name);
+    }
 #ifdef S_IFLNK
-       else if (is_symlink(&stbuf)) {
-               if (noexec)
-                       printf("REMOVE SYMBOLIC LINK %s.\n", name);
-               else if (unlink(name) < 0)
-                       warning("Cannot remove", name);
-               else if (verbose)
-                       message("Removed %s.", name);
-       }
+    else if (is_symlink(&stbuf)) {
+        if (noexec)
+            printf("REMOVE SYMBOLIC LINK %s.\n", name);
+        else if (unlink(name) < 0)
+            warning("Cannot remove", name);
+        else if (verbose)
+            message("Removed %s.", name);
+    }
 #endif
-       else {
-               error("Cannot remove file \"%s\" (not a file or directory)", name);
-       }
+    else {
+        error("Cannot remove file \"%s\" (not a file or directory)", name);
+    }
 }
 
 static void
 remove_files(filec, filev)
-       int             filec;
-       char          **filev;
+    int             filec;
+    char          **filev;
 {
-       int             i;
+    int             i;
 
-       for (i = 0; i < filec; i++)
-               remove_one(filev[i]);
+    for (i = 0; i < filec; i++)
+        remove_one(filev[i]);
 }
 
 /* ------------------------------------------------------------------------ */
-/*                                                                                                                                                     */
+/*                                                                          */
 /* ------------------------------------------------------------------------ */
 void
 cmd_add()
 {
-       LzHeader        ahdr;
-       FILE           *oafp, *nafp;
-       int             i;
-       long            old_header;
-       boolean         old_archive_exist;
-       long            new_archive_size;
-
-       /* exit if no operation */
-       if (!update_if_newer && cmd_filec == 0) {
-               error("No files given in argument, do nothing.");
+    LzHeader        ahdr;
+    FILE           *oafp, *nafp;
+    int             i;
+    long            old_header;
+    boolean         old_archive_exist;
+    long            new_archive_size;
+
+    /* exit if no operation */
+    if (!update_if_newer && cmd_filec == 0) {
+        error("No files given in argument, do nothing.");
         exit(1);
-       }
+    }
 
-       /* open old archive if exist */
-       if ((oafp = open_old_archive()) == NULL)
-               old_archive_exist = FALSE;
-       else
-               old_archive_exist = TRUE;
+    /* open old archive if exist */
+    if ((oafp = open_old_archive()) == NULL)
+        old_archive_exist = FALSE;
+    else
+        old_archive_exist = TRUE;
 
-       if (update_if_newer && cmd_filec == 0) {
+    if (update_if_newer && cmd_filec == 0) {
         warning("No files given in argument");
         if (!oafp) {
             error("archive file \"%s\" does not exists.",
@@ -460,41 +460,41 @@ cmd_add()
         }
     }
 
-       if (new_archive && old_archive_exist) {
-               fclose(oafp);
-               oafp = NULL;
-       }
+    if (new_archive && old_archive_exist) {
+        fclose(oafp);
+        oafp = NULL;
+    }
 
-       if (oafp && archive_is_msdos_sfx1(archive_name)) {
-               skip_msdos_sfx1_code(oafp);
-               build_standard_archive_name(new_archive_name_buffer, archive_name);
-               new_archive_name = new_archive_name_buffer;
-       }
-       else {
-               new_archive_name = archive_name;
-       }
+    if (oafp && archive_is_msdos_sfx1(archive_name)) {
+        skip_msdos_sfx1_code(oafp);
+        build_standard_archive_name(new_archive_name_buffer, archive_name);
+        new_archive_name = new_archive_name_buffer;
+    }
+    else {
+        new_archive_name = archive_name;
+    }
 
-       /* build temporary file */
+    /* build temporary file */
     nafp = NULL;                /* avoid compiler warnings `uninitialized' */
-       if (!noexec)
-               nafp = build_temporary_file();
-
-       /* find needed files when automatic update */
-       if (update_if_newer && cmd_filec == 0)
-               find_update_files(oafp);
-
-       /* build new archive file */
-       /* cleaning arguments */
-       cleaning_files(&cmd_filec, &cmd_filev);
-       if (cmd_filec == 0) {
-               if (oafp)
-                       fclose(oafp);
-               if (!noexec)
-                       fclose(nafp);
-               return;
-       }
-
-       for (i = 0; i < cmd_filec; i++) {
+    if (!noexec)
+        nafp = build_temporary_file();
+
+    /* find needed files when automatic update */
+    if (update_if_newer && cmd_filec == 0)
+        find_update_files(oafp);
+
+    /* build new archive file */
+    /* cleaning arguments */
+    cleaning_files(&cmd_filec, &cmd_filev);
+    if (cmd_filec == 0) {
+        if (oafp)
+            fclose(oafp);
+        if (!noexec)
+            fclose(nafp);
+        return;
+    }
+
+    for (i = 0; i < cmd_filec; i++) {
         if (strcmp(cmd_filev[i], archive_name) == 0) {
             int j;
             /* exclude target archive */
@@ -509,119 +509,112 @@ cmd_add()
         oafp = append_it(cmd_filev[i], oafp, nafp);
     }
 
-       if (oafp) {
-               old_header = ftell(oafp);
-               while (get_header(oafp, &ahdr)) {
-                       if (noexec)
-                               fseek(oafp, ahdr.packed_size, SEEK_CUR);
-                       else {
-                               fseek(oafp, old_header, SEEK_SET);
-                               copy_old_one(oafp, nafp, &ahdr);
-                       }
-                       old_header = ftell(oafp);
-               }
-               fclose(oafp);
-       }
+    if (oafp) {
+        old_header = ftell(oafp);
+        while (get_header(oafp, &ahdr)) {
+            if (noexec)
+                fseek(oafp, ahdr.packed_size, SEEK_CUR);
+            else {
+                fseek(oafp, old_header, SEEK_SET);
+                copy_old_one(oafp, nafp, &ahdr);
+            }
+            old_header = ftell(oafp);
+        }
+        fclose(oafp);
+    }
 
     new_archive_size = 0;       /* avoid compiler warnings `uninitialized' */
-       if (!noexec) {
-               write_archive_tail(nafp);
-               new_archive_size = ftell(nafp);
-               fclose(nafp);
-       }
+    if (!noexec) {
+        write_archive_tail(nafp);
+        new_archive_size = ftell(nafp);
+        fclose(nafp);
+    }
 
-       /* build backup archive file */
-       if (old_archive_exist && backup_old_archive)
-               build_backup_file();
+    /* build backup archive file */
+    if (old_archive_exist && backup_old_archive)
+        build_backup_file();
 
-       report_archive_name_if_different();
+    report_archive_name_if_different();
 
-       /* copy temporary file to new archive file */
-       if (!noexec && (!strcmp(new_archive_name, "-") ||
-                       rename(temporary_name, new_archive_name) < 0))
-               temporary_to_new_archive_file(new_archive_size);
+    /* copy temporary file to new archive file */
+    if (!noexec && (!strcmp(new_archive_name, "-") ||
+            rename(temporary_name, new_archive_name) < 0))
+        temporary_to_new_archive_file(new_archive_size);
 
-       /* set new archive file mode/group */
-       set_archive_file_mode();
+    /* set new archive file mode/group */
+    set_archive_file_mode();
 
-       /* remove archived files */
-       if (delete_after_append)
-               remove_files(cmd_filec, cmd_filev);
+    /* remove archived files */
+    if (delete_after_append)
+        remove_files(cmd_filec, cmd_filev);
 
-       return;
+    return;
 }
 
 /* ------------------------------------------------------------------------ */
 void
 cmd_delete()
 {
-       FILE           *oafp, *nafp;
-       long            new_archive_size;
-
-       /* open old archive if exist */
-       if ((oafp = open_old_archive()) == NULL)
-               fatal_error("Cannot open archive file \"%s\"", archive_name);
-
-       /* exit if no operation */
-       if (cmd_filec == 0) {
-               fclose(oafp);
-               warning("No files given in argument, do nothing.");
-               return;
-       }
-
-       if (archive_is_msdos_sfx1(archive_name)) {
-               skip_msdos_sfx1_code(oafp);
-               build_standard_archive_name(new_archive_name_buffer, archive_name);
-               new_archive_name = new_archive_name_buffer;
-       }
-       else {
-               new_archive_name = archive_name;
-       }
-
-       /* build temporary file */
+    FILE           *oafp, *nafp;
+    long            new_archive_size;
+
+    /* open old archive if exist */
+    if ((oafp = open_old_archive()) == NULL)
+        fatal_error("Cannot open archive file \"%s\"", archive_name);
+
+    /* exit if no operation */
+    if (cmd_filec == 0) {
+        fclose(oafp);
+        warning("No files given in argument, do nothing.");
+        return;
+    }
+
+    if (archive_is_msdos_sfx1(archive_name)) {
+        skip_msdos_sfx1_code(oafp);
+        build_standard_archive_name(new_archive_name_buffer, archive_name);
+        new_archive_name = new_archive_name_buffer;
+    }
+    else {
+        new_archive_name = archive_name;
+    }
+
+    /* build temporary file */
     nafp = NULL;                /* avoid compiler warnings `uninitialized' */
-       if (!noexec)
-               nafp = build_temporary_file();
+    if (!noexec)
+        nafp = build_temporary_file();
 
-       /* build new archive file */
-       delete(oafp, nafp);
-       fclose(oafp);
+    /* build new archive file */
+    delete(oafp, nafp);
+    fclose(oafp);
 
     new_archive_size = 0;       /* avoid compiler warnings `uninitialized' */
-       if (!noexec) {
-               write_archive_tail(nafp);
-               new_archive_size = ftell(nafp);
-               fclose(nafp);
-       }
+    if (!noexec) {
+        write_archive_tail(nafp);
+        new_archive_size = ftell(nafp);
+        fclose(nafp);
+    }
 
-       /* build backup archive file */
+    /* build backup archive file */
     if (backup_old_archive)
         build_backup_file();
 
-       /* 1999.5.24 t.oka */
-       if(!noexec && new_archive_size <= 1){
-               unlink(temporary_name);
+    /* 1999.5.24 t.oka */
+    if(!noexec && new_archive_size <= 1){
+        unlink(temporary_name);
         if (!backup_old_archive)
             unlink(archive_name);
-               warning("The archive file \"%s\" was removed because it would be empty.", new_archive_name);
-               return;
-       }
+        warning("The archive file \"%s\" was removed because it would be empty.", new_archive_name);
+        return;
+    }
 
-       report_archive_name_if_different();
+    report_archive_name_if_different();
 
-       /* copy temporary file to new archive file */
-       if (!noexec && rename(temporary_name, new_archive_name) < 0)
-               temporary_to_new_archive_file(new_archive_size);
+    /* copy temporary file to new archive file */
+    if (!noexec && rename(temporary_name, new_archive_name) < 0)
+        temporary_to_new_archive_file(new_archive_size);
 
-       /* set new archive file mode/group */
-       set_archive_file_mode();
+    /* set new archive file mode/group */
+    set_archive_file_mode();
 
-       return;
+    return;
 }
-
-/* Local Variables: */
-/* mode:c */
-/* tab-width:4 */
-/* compile-command:"gcc -c lhadd.c" */
-/* End: */
-/* vi: set tabstop=4: */
index edeedd6..a274c30 100644 (file)
@@ -1,41 +1,41 @@
 /* ------------------------------------------------------------------------ */
-/* LHa for UNIX                                                                                                                        */
-/*                             lharc.c -- append to archive                                                            */
-/*                                                                                                                                                     */
-/*             Copyright (C) MCMLXXXIX Yooichi.Tagawa                                                          */
-/*             Modified                        Nobutaka Watazaki                                                       */
-/*                                                     Thanks to H.Yoshizaki. (MS-DOS LHarc)                   */
-/*                                                                                                                                                     */
-/*  Ver. 0.00  Original                                                        1988.05.23  Y.Tagawa            */
-/*  Ver. 0.01  Alpha Version (for 4.2BSD)              1989.05.28  Y.Tagawa            */
-/*  Ver. 0.02  Alpha Version Rel.2                             1989.05.29  Y.Tagawa            */
-/*  Ver. 0.03  Release #3  Beta Version                        1989.07.02  Y.Tagawa            */
-/*  Ver. 0.03a Debug                                                   1989.07.03  Y.Tagawa            */
-/*  Ver. 0.03b Modified                                                        1989.07.13  Y.Tagawa            */
-/*  Ver. 0.03c Debug (Thanks to void@rena.dit.junet)                                           */
-/*                                                                                             1989.08.09  Y.Tagawa            */
-/*  Ver. 0.03d Modified (quiet and verbose)            1989.09.14  Y.Tagawa            */
-/*  V1.00  Fixed                                                               1989.09.22  Y.Tagawa            */
-/*  V1.01  Bug Fixed                                                   1989.12.25  Y.Tagawa            */
-/*                                                                                                                                                     */
-/*  DOS-Version Original LHx V C2.01           (C) H.Yohizaki                                  */
-/*                                                                                                                                                     */
-/*  V2.00  UNIX Lharc + DOS LHx -> OSK LHx             1990.11.01  Momozou                     */
-/*  V2.01  Minor Modified                                              1990.11.24  Momozou                     */
-/*                                                                                                                                                     */
-/*  Ver. 0.02  LHx for UNIX                                            1991.11.18  M.Oki                       */
-/*  Ver. 0.03  LHa for UNIX                                            1991.12.17  M.Oki                       */
-/*  Ver. 0.04  LHa for UNIX    beta version            1992.01.20  M.Oki                       */
-/*  Ver. 1.00  LHa for UNIX    Fixed                           1992.03.19  M.Oki                       */
-/*                                                                                                                                                     */
-/*  Ver. 1.10  for Symbolic Link                               1993.06.25  N.Watazaki          */
-/*  Ver. 1.11  for Symbolic Link Bug Fixed             1993.08.18  N.Watazaki          */
-/*  Ver. 1.12  for File Date Check                             1993.10.28  N.Watazaki          */
-/*  Ver. 1.13  Bug Fixed (Idicator calcurate)  1994.02.21  N.Watazaki          */
-/*  Ver. 1.13a Bug Fixed (Sym. Link delete)            1994.03.11  N.Watazaki          */
-/*     Ver. 1.13b Bug Fixed (Sym. Link delete)         1994.07.29  N.Watazaki          */
-/*     Ver. 1.14  Source All chagned                           1995.01.14      N.Watazaki              */
-/*     Ver. 1.14b,c  Bug Fixed                     1996.03.07  t.okamoto               */
+/* LHa for UNIX                                                             */
+/*              lharc.c -- append to archive                                */
+/*                                                                          */
+/*      Copyright (C) MCMLXXXIX Yooichi.Tagawa                              */
+/*      Modified                Nobutaka Watazaki                           */
+/*                          Thanks to H.Yoshizaki. (MS-DOS LHarc)           */
+/*                                                                          */
+/*  Ver. 0.00  Original                         1988.05.23  Y.Tagawa        */
+/*  Ver. 0.01  Alpha Version (for 4.2BSD)       1989.05.28  Y.Tagawa        */
+/*  Ver. 0.02  Alpha Version Rel.2              1989.05.29  Y.Tagawa        */
+/*  Ver. 0.03  Release #3  Beta Version         1989.07.02  Y.Tagawa        */
+/*  Ver. 0.03a Debug                            1989.07.03  Y.Tagawa        */
+/*  Ver. 0.03b Modified                         1989.07.13  Y.Tagawa        */
+/*  Ver. 0.03c Debug (Thanks to void@rena.dit.junet)                        */
+/*                                              1989.08.09  Y.Tagawa        */
+/*  Ver. 0.03d Modified (quiet and verbose)     1989.09.14  Y.Tagawa        */
+/*  V1.00  Fixed                                1989.09.22  Y.Tagawa        */
+/*  V1.01  Bug Fixed                            1989.12.25  Y.Tagawa        */
+/*                                                                          */
+/*  DOS-Version Original LHx V C2.01        (C) H.Yohizaki                  */
+/*                                                                          */
+/*  V2.00  UNIX Lharc + DOS LHx -> OSK LHx      1990.11.01  Momozou         */
+/*  V2.01  Minor Modified                       1990.11.24  Momozou         */
+/*                                                                          */
+/*  Ver. 0.02  LHx for UNIX                     1991.11.18  M.Oki           */
+/*  Ver. 0.03  LHa for UNIX                     1991.12.17  M.Oki           */
+/*  Ver. 0.04  LHa for UNIX beta version        1992.01.20  M.Oki           */
+/*  Ver. 1.00  LHa for UNIX Fixed               1992.03.19  M.Oki           */
+/*                                                                          */
+/*  Ver. 1.10  for Symbolic Link                1993.06.25  N.Watazaki      */
+/*  Ver. 1.11  for Symbolic Link Bug Fixed      1993.08.18  N.Watazaki      */
+/*  Ver. 1.12  for File Date Check              1993.10.28  N.Watazaki      */
+/*  Ver. 1.13  Bug Fixed (Idicator calcurate)   1994.02.21  N.Watazaki      */
+/*  Ver. 1.13a Bug Fixed (Sym. Link delete)     1994.03.11  N.Watazaki      */
+/*  Ver. 1.13b Bug Fixed (Sym. Link delete)     1994.07.29  N.Watazaki      */
+/*  Ver. 1.14  Source All chagned               1995.01.14  N.Watazaki      */
+/*  Ver. 1.14b,c  Bug Fixed                     1996.03.07  t.okamoto       */
 /*  Ver. 1.14d Version up                       1997.01.12  t.okamoto       */
 /*  Ver. 1.14g Bug Fixed                        2000.05.06  t.okamoto       */
 /*  Ver. 1.14i Modified                         2000.10.06  t.okamoto       */
@@ -50,51 +50,51 @@ static int error_occurred;
 
 /* static functions */
 static void     sort_files();
-static void            print_version();
+static void     print_version();
 
 /* ------------------------------------------------------------------------ */
 static void
-init_variable()                /* Added N.Watazaki */
+init_variable()     /* Added N.Watazaki */
 {
 /* options */
-       quiet                   = FALSE;
-       text_mode               = FALSE;
-       verbose                 = 0;
-       noexec                  = FALSE;        /* debugging option */
-       force                   = FALSE;
-       prof                    = FALSE;
+    quiet           = FALSE;
+    text_mode       = FALSE;
+    verbose         = 0;
+    noexec          = FALSE;    /* debugging option */
+    force           = FALSE;
+    prof            = FALSE;
 
-       compress_method = DEFAULT_LZHUFF_METHOD; /* defined in config.h */
+    compress_method = DEFAULT_LZHUFF_METHOD; /* defined in config.h */
 
-       header_level    = HEADER_LEVEL2;
-       quiet_mode              = 0;
+    header_level    = HEADER_LEVEL2;
+    quiet_mode      = 0;
 
 #ifdef EUC
-       euc_mode                = FALSE;
+    euc_mode        = FALSE;
 #endif
 
 /* view command flags */
-       verbose_listing = FALSE;
+    verbose_listing = FALSE;
 
 /* extract command flags */
-       output_to_stdout = FALSE;
+    output_to_stdout = FALSE;
 
 /* append command flags */
-       new_archive                     = FALSE;
-       update_if_newer         = FALSE;
-       delete_after_append = FALSE;
-       generic_format          = FALSE;
+    new_archive         = FALSE;
+    update_if_newer     = FALSE;
+    delete_after_append = FALSE;
+    generic_format      = FALSE;
 
-       remove_temporary_at_error                               = FALSE;
-       recover_archive_when_interrupt                  = FALSE;
-       remove_extracting_file_when_interrupt   = FALSE;
-       get_filename_from_stdin                                 = FALSE;
-       ignore_directory                                                = FALSE;
-       verify_mode                                                             = FALSE;
+    remove_temporary_at_error               = FALSE;
+    recover_archive_when_interrupt          = FALSE;
+    remove_extracting_file_when_interrupt   = FALSE;
+    get_filename_from_stdin                 = FALSE;
+    ignore_directory                        = FALSE;
+    verify_mode                             = FALSE;
 
-       noconvertcase                                                   = FALSE;
+    noconvertcase                           = FALSE;
 
-       extract_directory = NULL;
+    extract_directory = NULL;
     temporary_fd = -1;
 
 #if BACKUP_OLD_ARCHIVE
@@ -105,17 +105,17 @@ init_variable()           /* Added N.Watazaki */
 }
 
 /* ------------------------------------------------------------------------ */
-/* NOTES :                     Text File Format                                                                                */
-/* GENERATOR           NewLine                                                                                                 */
-/* [generic]           0D 0A                                                                                                   */
-/* [MS-DOS]                    0D 0A                                                                                                   */
-/* [OS9][MacOS]                0D                                                                                                              */
-/* [UNIX]                      0A                                                                                                              */
+/* NOTES :          Text File Format                                        */
+/* GENERATOR        NewLine                                                 */
+/* [generic]        0D 0A                                                   */
+/* [MS-DOS]         0D 0A                                                   */
+/* [OS9][MacOS]     0D                                                      */
+/* [UNIX]           0A                                                      */
 /* ------------------------------------------------------------------------ */
 static void
 print_tiny_usage()
 {
-       fprintf(stderr, "\
+    fprintf(stderr, "\
 LHarc    for UNIX  V 1.02  Copyright(C) 1989  Y.Tagawa\n\
 LHx      for MSDOS V C2.01 Copyright(C) 1990  H.Yoshizaki\n\
 LHx(arc) for OSK   V 2.01  Modified     1990  Momozou\n\
@@ -125,7 +125,7 @@ LHa      for UNIX  V 1.14i Modified     2000  Tsugio Okamoto\n\
                            Modified     2002  Hiroto Sakai\n\
                     Autoconfiscated 2001,2002 Koji Arai\n\
 ");
-       fprintf(stderr, "\
+    fprintf(stderr, "\
 usage: lha [-]{axelvudmcp[q[num]][vnfodizg012]}[w=<dir>] archive_file [file...]\n\
 commands:                           options:\n\
  a   Add(or replace) to archive      q{num} quiet (num:quiet mode)\n\
@@ -134,16 +134,16 @@ commands:                           options:\n\
  u   Update newer files to archive   f  force (over write at extract)\n\
  d   Delete from archive             t  FILES are TEXT file\n");
 #ifdef SUPPORT_LH7
-       fprintf(stderr, "\
+    fprintf(stderr, "\
  m   Move to archive (means 'ad')    o[567] compression method (a/u)\n\
 ");
 #endif
 #ifndef SUPPORT_LH7
-       fprintf(stderr, "\
+    fprintf(stderr, "\
  m   Move to archive (means 'ad')    o  use LHarc compatible method (a/u)\n\
 ");
 #endif
-       fprintf(stderr, "\
+    fprintf(stderr, "\
  c   re-Construct new archive        w=<dir> specify extract directory (a/u/m/x/e)\n\
  p   Print to STDOUT from archive    d  delete FILES after (a/u/c)\n\
  t   Test file CRC in archive        i  ignore directory path (x/e)\n\
@@ -153,7 +153,7 @@ commands:                           options:\n\
                                      0/1/2 header level (a/u)\n\
 ");
 #ifdef EUC
-       fprintf(stderr, "\
+    fprintf(stderr, "\
                                      e  TEXT code convert from/to EUC\n\
 ");
 #endif
@@ -162,283 +162,283 @@ commands:                           options:\n\
 /* ------------------------------------------------------------------------ */
 int
 main(argc, argv)
-       int             argc;
-       char           *argv[];
+    int             argc;
+    char           *argv[];
 {
-       char           *p;
+    char           *p;
 
-       int i;
-       int  ac;
-       char **av, *m;
+    int i;
+    int  ac;
+    char **av, *m;
 
-       init_variable();                /* Added N.Watazaki */
+    init_variable();        /* Added N.Watazaki */
 
-       ac = argc;
-       av = (char **)xmalloc( sizeof(char*)*argc );
-       for (i=0; i<argc; i++) {
+    ac = argc;
+    av = (char **)xmalloc( sizeof(char*)*argc );
+    for (i=0; i<argc; i++) {
         av[i] = xstrdup( argv[i] );
-       }
+    }
 
-       if (ac < 2 || strcmp(av[1], "--help") == 0) {
+    if (ac < 2 || strcmp(av[1], "--help") == 0) {
         print_tiny_usage();
         exit(0);
     }
 
-       if (strcmp(av[1], "--version") == 0) {
-               print_version();
-               exit(0);
-       }
-
-       if (ac < 3) {
-               cmd = CMD_LIST;
-               av--; /* argv--; */ /* 1999.7.18 */
-               ac++; /* argc++; */
-               goto work;
-       }
-
-       m = av[1];
-
-       if (m[0] == '-')
-               m++;
-       /* commands */
-       switch (*m) {
-       case 'x':
-       case 'e':
-               cmd = CMD_EXTRACT;
-               break;
-
-       case 'p':
-               output_to_stdout = TRUE;
-               cmd = CMD_EXTRACT;
-               break;
-
-       case 'c':
-               new_archive = TRUE;
-               cmd = CMD_ADD;
-               break;
-
-       case 'a':
-               cmd = CMD_ADD;
-               break;
-
-       case 'd':
-               cmd = CMD_DELETE;
-               break;
-
-       case 'u':
-               update_if_newer = TRUE;
-               cmd = CMD_ADD;
-               break;
-
-       case 'm':
-               delete_after_append = TRUE;
-               cmd = CMD_ADD;
-               break;
-
-       case 'v':
-               verbose_listing = TRUE;
-               cmd = CMD_LIST;
-               break;
-
-       case 'l':
-               cmd = CMD_LIST;
-               break;
-
-       case 't':
-               cmd = CMD_EXTRACT;
-               verify_mode = TRUE;
-               break;
-
-       default:
+    if (strcmp(av[1], "--version") == 0) {
+        print_version();
+        exit(0);
+    }
+
+    if (ac < 3) {
+        cmd = CMD_LIST;
+        av--; /* argv--; */ /* 1999.7.18 */
+        ac++; /* argc++; */
+        goto work;
+    }
+
+    m = av[1];
+
+    if (m[0] == '-')
+        m++;
+    /* commands */
+    switch (*m) {
+    case 'x':
+    case 'e':
+        cmd = CMD_EXTRACT;
+        break;
+
+    case 'p':
+        output_to_stdout = TRUE;
+        cmd = CMD_EXTRACT;
+        break;
+
+    case 'c':
+        new_archive = TRUE;
+        cmd = CMD_ADD;
+        break;
+
+    case 'a':
+        cmd = CMD_ADD;
+        break;
+
+    case 'd':
+        cmd = CMD_DELETE;
+        break;
+
+    case 'u':
+        update_if_newer = TRUE;
+        cmd = CMD_ADD;
+        break;
+
+    case 'm':
+        delete_after_append = TRUE;
+        cmd = CMD_ADD;
+        break;
+
+    case 'v':
+        verbose_listing = TRUE;
+        cmd = CMD_LIST;
+        break;
+
+    case 'l':
+        cmd = CMD_LIST;
+        break;
+
+    case 't':
+        cmd = CMD_EXTRACT;
+        verify_mode = TRUE;
+        break;
+
+    default:
         print_tiny_usage();
         exit(2);
-       }
-
-       /* options */
-       /* p = &argv[1][1]; */
-       p = m+1;
-       while ( *p != 0 ) {
-               switch ((*p++)) {
-               case 'q':
-                       switch (*p) {
-                       case '0':           /* no quiet */
-                       case '1':           /* no use the incremental indicator */
-                               quiet_mode = *p - '0';
-                               ++p;
-                               break;
-                       case '2':           /* no output */
-                               ++p;
+    }
+
+    /* options */
+    /* p = &argv[1][1]; */
+    p = m+1;
+    while ( *p != 0 ) {
+        switch ((*p++)) {
+        case 'q':
+            switch (*p) {
+            case '0':           /* no quiet */
+            case '1':           /* no use the incremental indicator */
+                quiet_mode = *p - '0';
+                ++p;
+                break;
+            case '2':           /* no output */
+                ++p;
                 /* fall through */
-                       default:
+            default:
                 /* In quiet mode, no confirm to overwrite */
                 force = TRUE;
-                               quiet = TRUE;
-                               break;
-                       }
+                quiet = TRUE;
+                break;
+            }
+            break;
+        case 'f':
+            force = TRUE;
+            break;
+        case 'p':
+            prof = TRUE;
+            break;
+        case 'v':
+            verbose++;
+            break;
+        case 't':
+            text_mode = TRUE;
             break;
-               case 'f':
-                       force = TRUE;
-                       break;
-               case 'p':
-                       prof = TRUE;
-                       break;
-               case 'v':
-                       verbose++;
-                       break;
-               case 't':
-                       text_mode = TRUE;
-                       break;
 #ifdef EUC
-               case 'e':
-                       text_mode = TRUE;
-                       euc_mode = TRUE;
-                       break;
+        case 'e':
+            text_mode = TRUE;
+            euc_mode = TRUE;
+            break;
 #endif
-               case 'n':
-                       noexec = TRUE;
-                       break;
-               case 'g':
-                       generic_format = TRUE;
-                       noconvertcase = TRUE;
-                       header_level = 0;
-                       break;
-               case 'd':
-                       delete_after_append = TRUE;
-                       break;
-               case 'o':
-                       switch (*p) {
-                       case 0:
-                               compress_method = LZHUFF1_METHOD_NUM;
-                               header_level = 0;
-                               break;
-                       case '5':
-                               compress_method = LZHUFF5_METHOD_NUM;
-                               p++;
-                               break;
+        case 'n':
+            noexec = TRUE;
+            break;
+        case 'g':
+            generic_format = TRUE;
+            noconvertcase = TRUE;
+            header_level = 0;
+            break;
+        case 'd':
+            delete_after_append = TRUE;
+            break;
+        case 'o':
+            switch (*p) {
+            case 0:
+                compress_method = LZHUFF1_METHOD_NUM;
+                header_level = 0;
+                break;
+            case '5':
+                compress_method = LZHUFF5_METHOD_NUM;
+                p++;
+                break;
 #ifdef SUPPORT_LH7
-                       case '6':
-                               compress_method = LZHUFF6_METHOD_NUM;
-                               p++;
-                               break;
-                       case '7':
-                               compress_method = LZHUFF7_METHOD_NUM;
-                               p++;
-                               break;
+            case '6':
+                compress_method = LZHUFF6_METHOD_NUM;
+                p++;
+                break;
+            case '7':
+                compress_method = LZHUFF7_METHOD_NUM;
+                p++;
+                break;
 #endif
-                       default:
-                               error("invalid compression method 'o%c'", *p);
-                               exit(1);
-                       }
-                       break;
-               case 'z':
-                       compress_method = LZHUFF0_METHOD_NUM;   /* Changed N.Watazaki */
-                       break;
-               case 'i':
-                       ignore_directory = TRUE;
-                       break;
-               case 'w':
-                       if (*p == '=')
-                               p++;
-                       extract_directory = p;
-                       while (*p)
-                               p++;
-                       break;
-               case '0':
-                       header_level = HEADER_LEVEL0;
-                       break;
-               case '1':
-                       header_level = HEADER_LEVEL1;
-                       break;
-               case '2':
-                       header_level = HEADER_LEVEL2;
-                       break;
-               default:
-                       error("Unknown option '%c'.", p[-1]);
-                       exit(1);
-               }
-       }
+            default:
+                error("invalid compression method 'o%c'", *p);
+                exit(1);
+            }
+            break;
+        case 'z':
+            compress_method = LZHUFF0_METHOD_NUM;   /* Changed N.Watazaki */
+            break;
+        case 'i':
+            ignore_directory = TRUE;
+            break;
+        case 'w':
+            if (*p == '=')
+                p++;
+            extract_directory = p;
+            while (*p)
+                p++;
+            break;
+        case '0':
+            header_level = HEADER_LEVEL0;
+            break;
+        case '1':
+            header_level = HEADER_LEVEL1;
+            break;
+        case '2':
+            header_level = HEADER_LEVEL2;
+            break;
+        default:
+            error("Unknown option '%c'.", p[-1]);
+            exit(1);
+        }
+    }
 
 work:
-       /* archive file name */
-       archive_name = av[2];
+    /* archive file name */
+    archive_name = av[2];
 
-       if (!strcmp(archive_name, "-")) {
-               if (!isatty(1) && cmd == CMD_ADD)
-                       quiet = TRUE;
-       }
+    if (!strcmp(archive_name, "-")) {
+        if (!isatty(1) && cmd == CMD_ADD)
+            quiet = TRUE;
+    }
 #if 0 /* Comment out; IMHO, this feature is useless. by Koji Arai */
-       else {
-               if (ac == 3 && !isatty(0)) { /* 1999.7.18 */
+    else {
+        if (ac == 3 && !isatty(0)) { /* 1999.7.18 */
             /* Bug(?) on MinGW, isatty() return 0 on Cygwin console.
                mingw-runtime-1.3-2 and Cygwin 1.3.10(0.51/3/2) on
                Win2000 */
             get_filename_from_stdin = TRUE;
-               }
-       }
+        }
+    }
 #endif
 
-       /* target file name */
-       if (get_filename_from_stdin) {
+    /* target file name */
+    if (get_filename_from_stdin) {
         char inpbuf[4096];
         char **xfilev;
         int xfilec = 257;
 
-               cmd_filec = 0;
-               xfilev = (char **)xmalloc(sizeof(char *) * xfilec);
-               while (fgets(inpbuf, sizeof(inpbuf), stdin)) {
-                   /* delete \n if it exist */
-                       i=0; p=inpbuf;
-                       while (i < sizeof(inpbuf) && p != 0) {
-                           if (*p == '\n') {
-                                   *p = 0;
-                                       break;
-                               }
-                               p++; i++;
-                       }
-
-                       if (cmd_filec >= xfilec) {
-                               xfilec += 256;
-                               xfilev = (char **) xrealloc(xfilev,
-                                                  sizeof(char *) * xfilec);
-                       }
-                       if (strlen(inpbuf) < 1)
-                               continue;
-                       xfilev[cmd_filec++] = xstrdup(inpbuf);
-               }
-               xfilev[cmd_filec] = NULL;
-               cmd_filev = xfilev;
-       } else {
-               cmd_filec = ac - 3;
-               cmd_filev = av + 3;
-       }
-       sort_files();
-
-       /* make crc table */
-       make_crctable();
-
-       switch (cmd) {
-       case CMD_EXTRACT:
-               cmd_extract();
-               break;
-       case CMD_ADD:
-               cmd_add();
-               break;
-       case CMD_LIST:
-               cmd_list();
-               break;
-       case CMD_DELETE:
-               cmd_delete();
-               break;
-       }
+        cmd_filec = 0;
+        xfilev = (char **)xmalloc(sizeof(char *) * xfilec);
+        while (fgets(inpbuf, sizeof(inpbuf), stdin)) {
+            /* delete \n if it exist */
+            i=0; p=inpbuf;
+            while (i < sizeof(inpbuf) && p != 0) {
+                if (*p == '\n') {
+                    *p = 0;
+                    break;
+                }
+                p++; i++;
+            }
+
+            if (cmd_filec >= xfilec) {
+                xfilec += 256;
+                xfilev = (char **) xrealloc(xfilev,
+                           sizeof(char *) * xfilec);
+            }
+            if (strlen(inpbuf) < 1)
+                continue;
+            xfilev[cmd_filec++] = xstrdup(inpbuf);
+        }
+        xfilev[cmd_filec] = NULL;
+        cmd_filev = xfilev;
+    } else {
+        cmd_filec = ac - 3;
+        cmd_filev = av + 3;
+    }
+    sort_files();
+
+    /* make crc table */
+    make_crctable();
+
+    switch (cmd) {
+    case CMD_EXTRACT:
+        cmd_extract();
+        break;
+    case CMD_ADD:
+        cmd_add();
+        break;
+    case CMD_LIST:
+        cmd_list();
+        break;
+    case CMD_DELETE:
+        cmd_delete();
+        break;
+    }
 
 #ifdef USE_PROF
-       if (!prof)
-               exit(0);
+    if (!prof)
+        exit(0);
 #endif
 
     if (error_occurred)
         return 1;
-       return 0;
+    return 0;
 }
 
 
@@ -452,7 +452,7 @@ print_version()
 {
     /* macro PACKAGE_NAME, PACKAGE_VERSION and PLATFORM are
        defined in config.h by configure script */
-       fprintf(stderr, "%s version %s (%s)\n",
+    fprintf(stderr, "%s version %s (%s)\n",
             PACKAGE_NAME, PACKAGE_VERSION, PLATFORM);
 }
 
@@ -468,7 +468,7 @@ message(fmt, va_alist)
     int errno_sv = errno;
     va_list v;
 
-       fprintf(stderr, "LHa: ");
+    fprintf(stderr, "LHa: ");
 
     va_init(v, fmt);
     vfprintf(stderr, fmt, v);
@@ -492,7 +492,7 @@ warning(fmt, va_alist)
     int errno_sv = errno;
     va_list v;
 
-       fprintf(stderr, "LHa: Warning: ");
+    fprintf(stderr, "LHa: Warning: ");
 
     va_init(v, fmt);
     vfprintf(stderr, fmt, v);
@@ -516,7 +516,7 @@ error(fmt, va_alist)
     int errno_sv = errno;
     va_list v;
 
-       fprintf(stderr, "LHa: Error: ");
+    fprintf(stderr, "LHa: Error: ");
 
     va_init(v, fmt);
     vfprintf(stderr, fmt, v);
@@ -541,13 +541,13 @@ fatal_error(fmt, va_alist)
     int errno_sv = errno;
     va_list v;
 
-       fprintf(stderr, "LHa: Fatal error: ");
+    fprintf(stderr, "LHa: Fatal error: ");
 
     va_init(v, fmt);
     vfprintf(stderr, fmt, v);
     va_end(v);
 
-       if (errno)
+    if (errno)
         fprintf(stderr, ": %s\n", strerror(errno_sv));
     else
         fputs("\n", stderr);
@@ -564,64 +564,64 @@ fatal_error(fmt, va_alist)
 /* ------------------------------------------------------------------------ */
 RETSIGTYPE
 interrupt(signo)
-       int             signo;
+    int             signo;
 {
-       message("Interrupted");
-
-       if (temporary_fd != -1)
-               close(temporary_fd);
-       unlink(temporary_name);
-       if (recover_archive_when_interrupt)
-               rename(backup_archive_name, archive_name);
-       if (remove_extracting_file_when_interrupt) {
-               message("Removing: %s", writing_filename);
-               unlink(writing_filename);
-       }
-       signal(SIGINT, SIG_DFL);
+    message("Interrupted");
+
+    if (temporary_fd != -1)
+        close(temporary_fd);
+    unlink(temporary_name);
+    if (recover_archive_when_interrupt)
+        rename(backup_archive_name, archive_name);
+    if (remove_extracting_file_when_interrupt) {
+        message("Removing: %s", writing_filename);
+        unlink(writing_filename);
+    }
+    signal(SIGINT, SIG_DFL);
 #ifdef SIGHUP
-       signal(SIGHUP, SIG_DFL);
+    signal(SIGHUP, SIG_DFL);
 #endif
-       kill(getpid(), signo);
+    kill(getpid(), signo);
 }
 
 /* ------------------------------------------------------------------------ */
-/*                                                                                                                                                     */
+/*                                                                          */
 /* ------------------------------------------------------------------------ */
 static int
 sort_by_ascii(a, b)
-       char          **a, **b;
+    char          **a, **b;
 {
-       register char  *p, *q;
-       register int    c1, c2;
-
-       p = *a, q = *b;
-       if (generic_format) {
-               do {
-                       c1 = *(unsigned char *) p++;
-                       c2 = *(unsigned char *) q++;
-                       if (!c1 || !c2)
-                               break;
-                       if (islower(c1))
-                               c1 = toupper(c1);
-                       if (islower(c2))
-                               c2 = toupper(c2);
-               }
-               while (c1 == c2);
-               return c1 - c2;
-       }
-       else {
-               while (*p == *q && *p != '\0')
-                       p++, q++;
-               return *(unsigned char *) p - *(unsigned char *) q;
-       }
+    register char  *p, *q;
+    register int    c1, c2;
+
+    p = *a, q = *b;
+    if (generic_format) {
+        do {
+            c1 = *(unsigned char *) p++;
+            c2 = *(unsigned char *) q++;
+            if (!c1 || !c2)
+                break;
+            if (islower(c1))
+                c1 = toupper(c1);
+            if (islower(c2))
+                c2 = toupper(c2);
+        }
+        while (c1 == c2);
+        return c1 - c2;
+    }
+    else {
+        while (*p == *q && *p != '\0')
+            p++, q++;
+        return *(unsigned char *) p - *(unsigned char *) q;
+    }
 }
 
 /* ------------------------------------------------------------------------ */
 static void
 sort_files()
 {
-       if (cmd_filec > 1)
-               qsort(cmd_filev, cmd_filec, sizeof(char *), sort_by_ascii);
+    if (cmd_filec > 1)
+        qsort(cmd_filev, cmd_filec, sizeof(char *), sort_by_ascii);
 }
 
 /* ------------------------------------------------------------------------ */
@@ -630,9 +630,9 @@ xmalloc(size)
     size_t size;
 {
     void *p = malloc(size);
-       if (!p)
-               fatal_error("Not enough memory");
-       return p;
+    if (!p)
+        fatal_error("Not enough memory");
+    return p;
 }
 
 /* ------------------------------------------------------------------------ */
@@ -641,298 +641,298 @@ xrealloc(old, size)
     void *old;
     size_t size;
 {
-       void *p = (char *) realloc(old, size);
-       if (!p)
-               fatal_error("Not enough memory");
-       return p;
+    void *p = (char *) realloc(old, size);
+    if (!p)
+        fatal_error("Not enough memory");
+    return p;
 }
 
 char *
 xstrdup(str)
-       char *str;
+    char *str;
 {
     int len = strlen(str);
-       char *p = (char *)xmalloc(len + 1);
+    char *p = (char *)xmalloc(len + 1);
     strcpy(p, str);
-       return p;
+    return p;
 }
 
 /* ------------------------------------------------------------------------ */
-/*                                                             STRING POOL                                                                     */
+/*                              STRING POOL                                 */
 /* ------------------------------------------------------------------------ */
 /*
   string pool :
-       +-------------+-------------+------+-------------+----------+
-       | N A M E 1 \0| N A M E 2 \0| .... | N A M E n \0|                      |
-       +-------------+-------------+------+-------------+----------+
-         ^ ^            ^ buffer+0 buffer+used buffer+size
+    +-------------+-------------+------+-------------+----------+
+    | N A M E 1 \0| N A M E 2 \0| .... | N A M E n \0|          |
+    +-------------+-------------+------+-------------+----------+
+      ^ ^        ^ buffer+0 buffer+used buffer+size
 
   vector :
-       +---------------+---------------+------------- -----------------+
-       | pointer to    | pointer to    | pointer to   ...  pointer to  |
-       |  stringpool   |  N A M E 1    |  N A M E 2   ...   N A M E n  |
-       +---------------+---------------+-------------     -------------+
-       ^ malloc base      returned
+    +---------------+---------------+------------- -----------------+
+    | pointer to    | pointer to    | pointer to   ...  pointer to  |
+    |  stringpool   |  N A M E 1    |  N A M E 2   ...   N A M E n  |
+    +---------------+---------------+-------------     -------------+
+    ^ malloc base      returned
 */
 
 /* ------------------------------------------------------------------------ */
 void
 init_sp(sp)
-       struct string_pool *sp;
+    struct string_pool *sp;
 {
-       sp->size = 1024 - 8;    /* any ( >=0 ) */
-       sp->used = 0;
-       sp->n = 0;
-       sp->buffer = (char *) xmalloc(sp->size * sizeof(char));
+    sp->size = 1024 - 8;    /* any ( >=0 ) */
+    sp->used = 0;
+    sp->n = 0;
+    sp->buffer = (char *) xmalloc(sp->size * sizeof(char));
 }
 
 /* ------------------------------------------------------------------------ */
 void
 add_sp(sp, name, len)
-       struct string_pool *sp;
-       char           *name;   /* stored '\0' at tail */
-       int             len;    /* include '\0' */
+    struct string_pool *sp;
+    char           *name;   /* stored '\0' at tail */
+    int             len;    /* include '\0' */
 {
-       while (sp->used + len > sp->size) {
-               sp->size *= 2;
-               sp->buffer = (char *) xrealloc(sp->buffer, sp->size * sizeof(char));
-       }
-       memmove(sp->buffer + sp->used, name, len);
-       sp->used += len;
-       sp->n++;
+    while (sp->used + len > sp->size) {
+        sp->size *= 2;
+        sp->buffer = (char *) xrealloc(sp->buffer, sp->size * sizeof(char));
+    }
+    memmove(sp->buffer + sp->used, name, len);
+    sp->used += len;
+    sp->n++;
 }
 
 /* ------------------------------------------------------------------------ */
 void
 finish_sp(sp, v_count, v_vector)
-       register struct string_pool *sp;
-       int            *v_count;
-       char         ***v_vector;
+    register struct string_pool *sp;
+    int            *v_count;
+    char         ***v_vector;
 {
-       int             i;
-       register char  *p;
-       char          **v;
-
-       v = (char **) xmalloc((sp->n + 1) * sizeof(char *));
-       *v++ = sp->buffer;
-       *v_vector = v;
-       *v_count = sp->n;
-       p = sp->buffer;
-       for (i = sp->n; i; i--) {
-               *v++ = p;
-               if (i - 1)
-                       p += strlen(p) + 1;
-       }
+    int             i;
+    register char  *p;
+    char          **v;
+
+    v = (char **) xmalloc((sp->n + 1) * sizeof(char *));
+    *v++ = sp->buffer;
+    *v_vector = v;
+    *v_count = sp->n;
+    p = sp->buffer;
+    for (i = sp->n; i; i--) {
+        *v++ = p;
+        if (i - 1)
+            p += strlen(p) + 1;
+    }
 }
 
 /* ------------------------------------------------------------------------ */
 void
 free_sp(vector)
-       char          **vector;
+    char          **vector;
 {
-       vector--;
-       free(*vector);          /* free string pool */
-       free(vector);
+    vector--;
+    free(*vector);      /* free string pool */
+    free(vector);
 }
 
 
 /* ------------------------------------------------------------------------ */
-/*                                                     READ DIRECTORY FILES                                                    */
+/*                          READ DIRECTORY FILES                            */
 /* ------------------------------------------------------------------------ */
 static          boolean
 include_path_p(path, name)
-       char           *path, *name;
+    char           *path, *name;
 {
-       char           *n = name;
-       while (*path)
-               if (*path++ != *n++)
-                       return (path[-1] == '/' && *n == '\0');
-       return (*n == '/' || (n != name && path[-1] == '/' && n[-1] == '/'));
+    char           *n = name;
+    while (*path)
+        if (*path++ != *n++)
+            return (path[-1] == '/' && *n == '\0');
+    return (*n == '/' || (n != name && path[-1] == '/' && n[-1] == '/'));
 }
 
 /* ------------------------------------------------------------------------ */
 void
 cleaning_files(v_filec, v_filev)
-       int            *v_filec;
-       char         ***v_filev;
+    int            *v_filec;
+    char         ***v_filev;
 {
-       char           *flags;
-       struct stat     stbuf;
-
-       register char **filev = *v_filev;
-       register int    filec = *v_filec;
-       register char  *p;
-       register int    i, j;
-
-       if (filec == 0)
-               return;
-
-       flags = xmalloc(filec * sizeof(char));
-
-       /* flags & 0x01 :       1: ignore */
-       /* flags & 0x02 :       1: directory, 0 : regular file */
-       /* flags & 0x04 :       1: need delete */
-
-       
-       for (i = 0; i < filec; i++)
-               if (GETSTAT(filev[i], &stbuf) < 0) {
-                       flags[i] = 0x04;
-                       warning("Cannot access \"%s\", ignored.", filev[i]);
-               }
-               else {
-                       if (is_regularfile(&stbuf))
-                               flags[i] = 0x00;
-                       else if (is_directory(&stbuf))
-                               flags[i] = 0x02;
+    char           *flags;
+    struct stat     stbuf;
+
+    register char **filev = *v_filev;
+    register int    filec = *v_filec;
+    register char  *p;
+    register int    i, j;
+
+    if (filec == 0)
+        return;
+
+    flags = xmalloc(filec * sizeof(char));
+
+    /* flags & 0x01 :   1: ignore */
+    /* flags & 0x02 :   1: directory, 0 : regular file */
+    /* flags & 0x04 :   1: need delete */
+
+    
+    for (i = 0; i < filec; i++)
+        if (GETSTAT(filev[i], &stbuf) < 0) {
+            flags[i] = 0x04;
+            warning("Cannot access \"%s\", ignored.", filev[i]);
+        }
+        else {
+            if (is_regularfile(&stbuf))
+                flags[i] = 0x00;
+            else if (is_directory(&stbuf))
+                flags[i] = 0x02;
 #ifdef S_IFLNK
-                       else if (is_symlink(&stbuf)) /* t.okamoto */
-                               flags[i] = 0x00;
-#endif                 
-                       else {
-                               flags[i] = 0x04;
-                               warning("Cannot archive \"%s\", ignored.", filev[i]);
-                       }
-               }
-
-       for (i = 0; i < filec; i++) {
-               p = filev[i];
-               if ((flags[i] & 0x07) == 0x00) {        /* regular file, not
-                                                        * deleted/ignored */
-                       for (j = i + 1; j < filec; j++) {
-                               if ((flags[j] & 0x07) == 0x00) {        /* regular file, not
-                                                                        * deleted/ignored */
-                                       if (STREQU(p, filev[j]))
-                                               flags[j] = 0x04;        /* delete */
-                               }
-                       }
-               }
-               else if ((flags[i] & 0x07) == 0x02) {   /* directory, not
-                                                        * deleted/ignored */
-                       for (j = i + 1; j < filec; j++) {
-                               if ((flags[j] & 0x07) == 0x00) {        /* regular file, not
-                                                                        * deleted/ignored */
-                                       if (include_path_p(p, filev[j]))
-                                               flags[j] = 0x04;        /* delete */
-                               }
-                               else if ((flags[j] & 0x07) == 0x02) {   /* directory, not
-                                                                        * deleted/ignored */
-                                       if (include_path_p(p, filev[j]))
-                                               flags[j] = 0x04;        /* delete */
-                               }
-                       }
-               }
-       }
-
-       for (i = j = 0; i < filec; i++) {
-               if ((flags[i] & 0x04) == 0) {
-                       if (i != j)
-                               filev[j] = filev[i];
-                       j++;
-               }
-       }
-       *v_filec = j;
-
-       free(flags);
+            else if (is_symlink(&stbuf)) /* t.okamoto */
+                flags[i] = 0x00;
+#endif          
+            else {
+                flags[i] = 0x04;
+                warning("Cannot archive \"%s\", ignored.", filev[i]);
+            }
+        }
+
+    for (i = 0; i < filec; i++) {
+        p = filev[i];
+        if ((flags[i] & 0x07) == 0x00) {    /* regular file, not
+                             * deleted/ignored */
+            for (j = i + 1; j < filec; j++) {
+                if ((flags[j] & 0x07) == 0x00) {    /* regular file, not
+                                     * deleted/ignored */
+                    if (STREQU(p, filev[j]))
+                        flags[j] = 0x04;    /* delete */
+                }
+            }
+        }
+        else if ((flags[i] & 0x07) == 0x02) {   /* directory, not
+                             * deleted/ignored */
+            for (j = i + 1; j < filec; j++) {
+                if ((flags[j] & 0x07) == 0x00) {    /* regular file, not
+                                     * deleted/ignored */
+                    if (include_path_p(p, filev[j]))
+                        flags[j] = 0x04;    /* delete */
+                }
+                else if ((flags[j] & 0x07) == 0x02) {   /* directory, not
+                                     * deleted/ignored */
+                    if (include_path_p(p, filev[j]))
+                        flags[j] = 0x04;    /* delete */
+                }
+            }
+        }
+    }
+
+    for (i = j = 0; i < filec; i++) {
+        if ((flags[i] & 0x04) == 0) {
+            if (i != j)
+                filev[j] = filev[i];
+            j++;
+        }
+    }
+    *v_filec = j;
+
+    free(flags);
 }
 
 /* ------------------------------------------------------------------------ */
 boolean
 find_files(name, v_filec, v_filev)
-       char           *name;
-       int            *v_filec;
-       char         ***v_filev;
+    char           *name;
+    int            *v_filec;
+    char         ***v_filev;
 {
-       struct string_pool sp;
-       char            newname[FILENAME_LENGTH];
-       int             len, n;
-       DIR            *dirp;
+    struct string_pool sp;
+    char            newname[FILENAME_LENGTH];
+    int             len, n;
+    DIR            *dirp;
     struct dirent  *dp;
-       struct stat     tmp_stbuf, arc_stbuf, fil_stbuf;
+    struct stat     tmp_stbuf, arc_stbuf, fil_stbuf;
 
-       strcpy(newname, name);
-       len = strlen(name);
-       if (len > 0 && newname[len - 1] != '/')
-               newname[len++] = '/';
+    strcpy(newname, name);
+    len = strlen(name);
+    if (len > 0 && newname[len - 1] != '/')
+        newname[len++] = '/';
 
-       dirp = opendir(name);
-       if (!dirp)
-               return FALSE;
+    dirp = opendir(name);
+    if (!dirp)
+        return FALSE;
 
-       init_sp(&sp);
+    init_sp(&sp);
 
-       GETSTAT(temporary_name, &tmp_stbuf);
-       GETSTAT(archive_name, &arc_stbuf);
+    GETSTAT(temporary_name, &tmp_stbuf);
+    GETSTAT(archive_name, &arc_stbuf);
 
-       for (dp = readdir(dirp); dp != NULL; dp = readdir(dirp)) {
-               n = NAMLEN(dp);
-               strncpy(newname + len, dp->d_name, n);
-               newname[len + n] = '\0';
-               if (GETSTAT(newname, &fil_stbuf) < 0)
-                       continue;
+    for (dp = readdir(dirp); dp != NULL; dp = readdir(dirp)) {
+        n = NAMLEN(dp);
+        strncpy(newname + len, dp->d_name, n);
+        newname[len + n] = '\0';
+        if (GETSTAT(newname, &fil_stbuf) < 0)
+            continue;
 #if !defined(HAVE_STRUCT_STAT_ST_INO) || __MINGW32__
-               if ( dp->d_name[0] != '.' ||
-                       (n != 1 &&
-                        (dp->d_name[1] != '.' ||
-                         n != 2))  ) {
-                       add_sp(&sp, newname, len+n+1);
-               }
-#else          
-               if ((dp->d_ino != 0) &&
-               /* exclude '.' and '..' */
-                   ((dp->d_name[0] != '.') ||
-                    ((n != 1) &&
-                     ((dp->d_name[1] != '.') ||
-                      (n != 2)))) &&
-                   ((tmp_stbuf.st_dev != fil_stbuf.st_dev ||
-                     tmp_stbuf.st_ino != fil_stbuf.st_ino) &&
-                    (arc_stbuf.st_dev != fil_stbuf.st_dev ||
-                     arc_stbuf.st_ino != fil_stbuf.st_ino))) {
-                       add_sp(&sp, newname, len + n + 1);
-               }
+        if ( dp->d_name[0] != '.' ||
+            (n != 1 &&
+             (dp->d_name[1] != '.' ||
+              n != 2))  ) {
+            add_sp(&sp, newname, len+n+1);
+        }
+#else       
+        if ((dp->d_ino != 0) &&
+        /* exclude '.' and '..' */
+            ((dp->d_name[0] != '.') ||
+             ((n != 1) &&
+              ((dp->d_name[1] != '.') ||
+               (n != 2)))) &&
+            ((tmp_stbuf.st_dev != fil_stbuf.st_dev ||
+              tmp_stbuf.st_ino != fil_stbuf.st_ino) &&
+             (arc_stbuf.st_dev != fil_stbuf.st_dev ||
+              arc_stbuf.st_ino != fil_stbuf.st_ino))) {
+            add_sp(&sp, newname, len + n + 1);
+        }
 #endif
-       }
-       closedir(dirp);
-       finish_sp(&sp, v_filec, v_filev);
-       if (*v_filec > 1)
-               qsort(*v_filev, *v_filec, sizeof(char *), sort_by_ascii);
-       cleaning_files(v_filec, v_filev);
-
-       return TRUE;
+    }
+    closedir(dirp);
+    finish_sp(&sp, v_filec, v_filev);
+    if (*v_filec > 1)
+        qsort(*v_filev, *v_filec, sizeof(char *), sort_by_ascii);
+    cleaning_files(v_filec, v_filev);
+
+    return TRUE;
 }
 
 /* ------------------------------------------------------------------------ */
 void
 free_files(filec, filev)
-       int             filec;
-       char          **filev;
+    int             filec;
+    char          **filev;
 {
-       free_sp(filev);
+    free_sp(filev);
 }
 
 /* ------------------------------------------------------------------------ */
-/*                                                                                                                                                     */
+/*                                                                          */
 /* ------------------------------------------------------------------------ */
 /* Build temporary file name and store to TEMPORARY_NAME */
 int
 build_temporary_name()
 {
 #ifdef TMP_FILENAME_TEMPLATE
-       /* "/tmp/lhXXXXXX" etc. */
-       if (extract_directory == NULL) {
-               strcpy(temporary_name, TMP_FILENAME_TEMPLATE);
-       }
-       else {
-               xsnprintf(temporary_name, sizeof(temporary_name),
+    /* "/tmp/lhXXXXXX" etc. */
+    if (extract_directory == NULL) {
+        strcpy(temporary_name, TMP_FILENAME_TEMPLATE);
+    }
+    else {
+        xsnprintf(temporary_name, sizeof(temporary_name),
                   "%s/lhXXXXXX", extract_directory);
-       }
+    }
 #else
-       char           *p, *s;
+    char           *p, *s;
 
-       strcpy(temporary_name, archive_name);
-       for (p = temporary_name, s = (char *) 0; *p; p++)
-               if (*p == '/')
-                       s = p;
-       strcpy((s ? s + 1 : temporary_name), "lhXXXXXX");
+    strcpy(temporary_name, archive_name);
+    for (p = temporary_name, s = (char *) 0; *p; p++)
+        if (*p == '/')
+            s = p;
+    strcpy((s ? s + 1 : temporary_name), "lhXXXXXX");
 #endif
 #ifdef HAVE_MKSTEMP
     {
@@ -960,210 +960,203 @@ build_temporary_name()
 /* ------------------------------------------------------------------------ */
 static void
 modify_filename_extention(buffer, ext)
-       char           *buffer;
-       char           *ext;
+    char           *buffer;
+    char           *ext;
 {
-       register char  *p, *dot;
+    register char  *p, *dot;
 
-       for (p = buffer, dot = (char *) 0; *p; p++) {
-               if (*p == '.')
-                       dot = p;
-               else if (*p == '/')
-                       dot = (char *) 0;
-       }
+    for (p = buffer, dot = (char *) 0; *p; p++) {
+        if (*p == '.')
+            dot = p;
+        else if (*p == '/')
+            dot = (char *) 0;
+    }
 
-       if (dot)
-               p = dot;
+    if (dot)
+        p = dot;
 
-       strcpy(p, ext);
+    strcpy(p, ext);
 }
 
 /* ------------------------------------------------------------------------ */
 /* build backup file name */
 void
 build_backup_name(buffer, original)
-       char           *buffer;
-       char           *original;
+    char           *buffer;
+    char           *original;
 {
-       strcpy(buffer, original);
-       modify_filename_extention(buffer, BACKUPNAME_EXTENTION);        /* ".bak" */
+    strcpy(buffer, original);
+    modify_filename_extention(buffer, BACKUPNAME_EXTENTION);    /* ".bak" */
 }
 
 /* ------------------------------------------------------------------------ */
 void
 build_standard_archive_name(buffer, orginal)
-       char           *buffer;
-       char           *orginal;
+    char           *buffer;
+    char           *orginal;
 {
-       strcpy(buffer, orginal);
-       modify_filename_extention(buffer, ARCHIVENAME_EXTENTION);       /* ".lzh" */
+    strcpy(buffer, orginal);
+    modify_filename_extention(buffer, ARCHIVENAME_EXTENTION);   /* ".lzh" */
 }
 
 /* ------------------------------------------------------------------------ */
-/*                                                                                                                                                     */
+/*                                                                          */
 /* ------------------------------------------------------------------------ */
 boolean
 need_file(name)
-       char           *name;
+    char           *name;
 {
-       int             i;
+    int             i;
 
-       if (cmd_filec == 0)
-               return TRUE;
+    if (cmd_filec == 0)
+        return TRUE;
 
-       for (i = 0; i < cmd_filec; i++) {
-               if (patmatch(cmd_filev[i], name, 0))
-                       return TRUE;
-       }
+    for (i = 0; i < cmd_filec; i++) {
+        if (patmatch(cmd_filev[i], name, 0))
+            return TRUE;
+    }
 
-       return FALSE;
+    return FALSE;
 }
 
 FILE           *
 xfopen(name, mode)
-       char           *name, *mode;
+    char           *name, *mode;
 {
-       FILE           *fp;
+    FILE           *fp;
 
-       if ((fp = fopen(name, mode)) == NULL)
-               fatal_error("Cannot open file \"%s\"", name);
+    if ((fp = fopen(name, mode)) == NULL)
+        fatal_error("Cannot open file \"%s\"", name);
 
-       return fp;
+    return fp;
 }
 
 /* ------------------------------------------------------------------------ */
-/*                                                                                                                                                     */
+/*                                                                          */
 /* ------------------------------------------------------------------------ */
 static          boolean
 open_old_archive_1(name, v_fp)
-       char           *name;
-       FILE          **v_fp;
+    char           *name;
+    FILE          **v_fp;
 {
-       FILE           *fp;
-       struct stat     stbuf;
-
-       if (stat(name, &stbuf) >= 0 &&
-           is_regularfile(&stbuf) &&
-           (fp = fopen(name, READ_BINARY)) != NULL) {
-               *v_fp = fp;
-               archive_file_gid = stbuf.st_gid;
-               archive_file_mode = stbuf.st_mode;
-               return TRUE;
-       }
-
-       *v_fp = NULL;
-       archive_file_gid = -1;
-       return FALSE;
+    FILE           *fp;
+    struct stat     stbuf;
+
+    if (stat(name, &stbuf) >= 0 &&
+        is_regularfile(&stbuf) &&
+        (fp = fopen(name, READ_BINARY)) != NULL) {
+        *v_fp = fp;
+        archive_file_gid = stbuf.st_gid;
+        archive_file_mode = stbuf.st_mode;
+        return TRUE;
+    }
+
+    *v_fp = NULL;
+    archive_file_gid = -1;
+    return FALSE;
 }
 
 /* ------------------------------------------------------------------------ */
 FILE           *
 open_old_archive()
 {
-       FILE           *fp;
-       char           *p;
+    FILE           *fp;
+    char           *p;
     static char expanded_archive_name[FILENAME_LENGTH];
 
-       if (!strcmp(archive_name, "-")) {
-               if (cmd == CMD_EXTRACT || cmd == CMD_LIST) {
+    if (!strcmp(archive_name, "-")) {
+        if (cmd == CMD_EXTRACT || cmd == CMD_LIST) {
 #if __MINGW32__
             setmode(fileno(stdin), O_BINARY);
 #endif
-                       return stdin;
+            return stdin;
         }
-               else
-                       return NULL;
-       }
+        else
+            return NULL;
+    }
     p = strrchr(archive_name, '.');
-       if (p) {
-               if (strucmp(".LZH", p) == 0
-                   || strucmp(".LZS", p) == 0
-                   || strucmp(".COM", p) == 0  /* DOS SFX */
-                   || strucmp(".EXE", p) == 0
-                   || strucmp(".X", p) == 0    /* HUMAN SFX */
-                   || strucmp(".BAK", p) == 0) {       /* for BackUp */
-                       open_old_archive_1(archive_name, &fp);
-                       return fp;
-               }
-       }
-
-       if (open_old_archive_1(archive_name, &fp))
-               return fp;
-       xsnprintf(expanded_archive_name, sizeof(expanded_archive_name),
+    if (p) {
+        if (strucmp(".LZH", p) == 0
+            || strucmp(".LZS", p) == 0
+            || strucmp(".COM", p) == 0  /* DOS SFX */
+            || strucmp(".EXE", p) == 0
+            || strucmp(".X", p) == 0    /* HUMAN SFX */
+            || strucmp(".BAK", p) == 0) {   /* for BackUp */
+            open_old_archive_1(archive_name, &fp);
+            return fp;
+        }
+    }
+
+    if (open_old_archive_1(archive_name, &fp))
+        return fp;
+    xsnprintf(expanded_archive_name, sizeof(expanded_archive_name),
               "%s.lzh", archive_name);
-       if (open_old_archive_1(expanded_archive_name, &fp)) {
-               archive_name = expanded_archive_name;
-               return fp;
-       }
-       /*
-        * if ( (errno&0xffff)!=E_PNNF ) { archive_name =
-        * expanded_archive_name; return NULL; }
-        */
-       xsnprintf(expanded_archive_name, sizeof(expanded_archive_name),
+    if (open_old_archive_1(expanded_archive_name, &fp)) {
+        archive_name = expanded_archive_name;
+        return fp;
+    }
+    /*
+     * if ( (errno&0xffff)!=E_PNNF ) { archive_name =
+     * expanded_archive_name; return NULL; }
+     */
+    xsnprintf(expanded_archive_name, sizeof(expanded_archive_name),
               "%s.lzs", archive_name);
-       if (open_old_archive_1(expanded_archive_name, &fp)) {
-               archive_name = expanded_archive_name;
-               return fp;
-       }
-       /*
-        * if ( (errno&0xffff)!=E_PNNF ) { archive_name =
-        * expanded_archive_name; return NULL; }
-        */
-       /*
-        * sprintf( expanded_archive_name , "%s.lzh",archive_name);
-        * archive_name = expanded_archive_name;
-        */
-       return NULL;
+    if (open_old_archive_1(expanded_archive_name, &fp)) {
+        archive_name = expanded_archive_name;
+        return fp;
+    }
+    /*
+     * if ( (errno&0xffff)!=E_PNNF ) { archive_name =
+     * expanded_archive_name; return NULL; }
+     */
+    /*
+     * sprintf( expanded_archive_name , "%s.lzh",archive_name);
+     * archive_name = expanded_archive_name;
+     */
+    return NULL;
 }
 
 /* ------------------------------------------------------------------------ */
 int
 inquire(msg, name, selective)
-       char           *msg, *name, *selective;
+    char           *msg, *name, *selective;
 {
-       char            buffer[1024];
-       char           *p;
+    char            buffer[1024];
+    char           *p;
 
-       for (;;) {
-               fprintf(stderr, "%s %s ", name, msg);
-               fflush(stderr);
+    for (;;) {
+        fprintf(stderr, "%s %s ", name, msg);
+        fflush(stderr);
 
-               fgets(buffer, 1024, stdin);
+        fgets(buffer, 1024, stdin);
 
-               for (p = selective; *p; p++)
-                       if (buffer[0] == *p)
-                               return p - selective;
-       }
-       /* NOTREACHED */
+        for (p = selective; *p; p++)
+            if (buffer[0] == *p)
+                return p - selective;
+    }
+    /* NOTREACHED */
 }
 
 /* ------------------------------------------------------------------------ */
 void
 write_archive_tail(nafp)
-       FILE           *nafp;
+    FILE           *nafp;
 {
-       putc(0x00, nafp);
+    putc(0x00, nafp);
 }
 
 /* ------------------------------------------------------------------------ */
 void
 copy_old_one(oafp, nafp, hdr)
-       FILE           *oafp, *nafp;
-       LzHeader       *hdr;
+    FILE           *oafp, *nafp;
+    LzHeader       *hdr;
 {
-       if (noexec) {
-               fseek(oafp, hdr->header_size + hdr->packed_size, SEEK_CUR);
-       }
-       else {
-               reading_filename = archive_name;
-               writing_filename = temporary_name;
+    if (noexec) {
+        fseek(oafp, hdr->header_size + hdr->packed_size, SEEK_CUR);
+    }
+    else {
+        reading_filename = archive_name;
+        writing_filename = temporary_name;
         copyfile(oafp, nafp, hdr->header_size + hdr->packed_size, 0, 0);
-       }
+    }
 }
-
-/* Local Variables: */
-/* mode:c */
-/* tab-width:4 */
-/* compile-command:"gcc -c lharc.c" */
-/* End: */
-/* vi: set tabstop=4: */
index bfea57c..69bb69d 100644 (file)
@@ -1,16 +1,16 @@
 /* ------------------------------------------------------------------------ */
-/* LHa for UNIX                                                                                                                        */
-/*                             lhdir.c -- Directory access routine                                                     */
-/*                                                                                                                                                     */
-/*             Copyright (C) MCMLXXXIX Yooichi.Tagawa                                                          */
-/*             Modified                        Nobutaka Watazaki                                                       */
-/*                                                                                                                                                     */
-/*     Emulate opendir(),readdir(),closedir() function for LHarc                               */
-/*                                                                                                                                                     */
-/*     Ver. 0.00  Original                                                             1988.05.31  Y.Tagawa    */
-/*     Ver. 0.03  Release #3 for LHarc UNIX                    1988.07.02  Y.Tagawa    */
-/*     Ver. 1.00  Fixed                                                                1989.09.22  Y.Tagawa    */
-/*     Ver. 1.14  Source All chagned                                   1995.01.14      N.Watazaki      */
+/* LHa for UNIX                                                             */
+/*              lhdir.c -- Directory access routine                         */
+/*                                                                          */
+/*      Copyright (C) MCMLXXXIX Yooichi.Tagawa                              */
+/*      Modified                Nobutaka Watazaki                           */
+/*                                                                          */
+/*  Emulate opendir(),readdir(),closedir() function for LHarc               */
+/*                                                                          */
+/*  Ver. 0.00  Original                             1988.05.31  Y.Tagawa    */
+/*  Ver. 0.03  Release #3 for LHarc UNIX            1988.07.02  Y.Tagawa    */
+/*  Ver. 1.00  Fixed                                1989.09.22  Y.Tagawa    */
+/*  Ver. 1.14  Source All chagned                   1995.01.14  N.Watazaki  */
 /* ------------------------------------------------------------------------ */
 #include "lha.h"
 
@@ -29,7 +29,7 @@
 
 #ifndef DIRSIZ
 /* Warning :  Are you sure? (normally defined in <sys/dir.h> */
-#define DIRSIZ 14
+#define DIRSIZ  14
 #endif
 
 #include "lhdir.h"
 /* ------------------------------------------------------------------------ */
 DIR            *
 opendir(name)
-       char           *name;
+    char           *name;
 {
-       register DIR   *dirp;
-       register int    fd;
+    register DIR   *dirp;
+    register int    fd;
 
-       if ((fd = open(name, O_RDONLY)) >= 0) {
-               if ((dirp = (DIR *) malloc(sizeof(DIR))) != (DIR *) 0) {
-                       dirp->dd_fd = fd;
-                       dirp->dd_loc = 0;
-                       dirp->dd_size = 0;
-                       return dirp;
-               }
+    if ((fd = open(name, O_RDONLY)) >= 0) {
+        if ((dirp = (DIR *) malloc(sizeof(DIR))) != (DIR *) 0) {
+            dirp->dd_fd = fd;
+            dirp->dd_loc = 0;
+            dirp->dd_size = 0;
+            return dirp;
+        }
 
-               close(fd);
-       }
+        close(fd);
+    }
 
-       return (DIR *) 0;
+    return (DIR *) 0;
 }
 
 /* ------------------------------------------------------------------------ */
 struct direct  *
 readdir(dirp)
-       register DIR   *dirp;
+    register DIR   *dirp;
 {
-       static struct direct lhdir;
-       register struct old_direct *dp;
+    static struct direct lhdir;
+    register struct old_direct *dp;
 
-       do {
-               if (dirp->dd_loc >= dirp->dd_size) {
-                       dirp->dd_loc = 0;
-                       if ((dirp->dd_size = read(dirp->dd_fd, dirp->dd_buf, DIRBLKSIZ)) <= 0)
-                               return (struct direct *) 0;
-               }
+    do {
+        if (dirp->dd_loc >= dirp->dd_size) {
+            dirp->dd_loc = 0;
+            if ((dirp->dd_size = read(dirp->dd_fd, dirp->dd_buf, DIRBLKSIZ)) <= 0)
+                return (struct direct *) 0;
+        }
 
-               dp = (struct old_direct *) (dirp->dd_buf + dirp->dd_loc);
+        dp = (struct old_direct *) (dirp->dd_buf + dirp->dd_loc);
 
-               if (dirp->dd_loc + sizeof(struct old_direct) > dirp->dd_size)
-                       return (struct direct *) 0;
+        if (dirp->dd_loc + sizeof(struct old_direct) > dirp->dd_size)
+            return (struct direct *) 0;
 
-               dirp->dd_loc += sizeof(struct old_direct);
+        dirp->dd_loc += sizeof(struct old_direct);
 
-       } while (dp->d_ino == 0);
+    } while (dp->d_ino == 0);
 
-       /* construct new format */
-       lhdir.d_ino = dp->d_ino;
-       strncpy(lhdir.d_name, dp->d_name, DIRSIZ);
-       lhdir.d_name[DIRSIZ] = '\0';
-       lhdir.d_namlen = strlen(lhdir.d_name);
+    /* construct new format */
+    lhdir.d_ino = dp->d_ino;
+    strncpy(lhdir.d_name, dp->d_name, DIRSIZ);
+    lhdir.d_name[DIRSIZ] = '\0';
+    lhdir.d_namlen = strlen(lhdir.d_name);
 
-       return &lhdir;
+    return &lhdir;
 }
 
 /* ------------------------------------------------------------------------ */
 closedir(dirp)
-       DIR            *dirp;
+    DIR            *dirp;
 {
-       close(dirp->dd_fd);
-       free(dirp);
+    close(dirp->dd_fd);
+    free(dirp);
 }
-/* Local Variables: */
-/* tab-width : 4 */
-/* End: */
-/* vi: set tabstop=4: */
index 0a722e3..23dd40a 100644 (file)
@@ -1,40 +1,35 @@
 /* ------------------------------------------------------------------------ */
-/* LHa for UNIX    Directory access routine                                                                    */
-/*                                                                                                                                                     */
-/*             Modified                        Nobutaka Watazaki                                                       */
-/* Emulate opendir(), readdir(), closedir() function for LHa                           */
-/*                                                                                                                                                     */
-/*     Ver. 1.14       Soruce All chagned                              1995.01.14      N.Watazaki              */
+/* LHa for UNIX    Directory access routine                                 */
+/*                                                                          */
+/*      Modified                Nobutaka Watazaki                           */
+/* Emulate opendir(), readdir(), closedir() function for LHa                */
+/*                                                                          */
+/*  Ver. 1.14   Soruce All chagned              1995.01.14  N.Watazaki      */
 /* ------------------------------------------------------------------------ */
 
 #ifndef DIRBLKSIZ
-#define DIRBLKSIZ      512
+#define DIRBLKSIZ   512
 #endif
 
 /* ------------------------------------------------------------------------ */
-/*     Type Definition                                                                                                                 */
+/*  Type Definition                                                         */
 /* ------------------------------------------------------------------------ */
 struct direct {
-       int             d_ino;
-       int             d_namlen;
-       char            d_name[256];
+    int             d_ino;
+    int             d_namlen;
+    char            d_name[256];
 };
 
 typedef struct {
-       int             dd_fd;
-       int             dd_loc;
-       int             dd_size;
-       char            dd_buf[DIRBLKSIZ];
+    int             dd_fd;
+    int             dd_loc;
+    int             dd_size;
+    char            dd_buf[DIRBLKSIZ];
 }               DIR;
 
 /* ------------------------------------------------------------------------ */
-/*     Functions                                                                                                                               */
+/*  Functions                                                               */
 /* ------------------------------------------------------------------------ */
-extern DIR                      *opendir();
+extern DIR           *opendir();
 extern struct direct *readdir();
-extern int                      closedir();
-
-/* Local Variables: */
-/* tab-width : 4 */
-/* End: */
-/* vi: set tabstop=4: */
+extern int           closedir();
index 9c2e4e5..6142c8b 100644 (file)
 /* ------------------------------------------------------------------------ */
-/* LHa for UNIX                                                                                                                        */
-/*                             lhext.c -- LHarc extract                                                                        */
-/*                                                                                                                                                     */
-/*             Copyright (C) MCMLXXXIX Yooichi.Tagawa                                                          */
-/*             Modified                        Nobutaka Watazaki                                                       */
-/*                                                                                                                                                     */
-/*  Ver. 0.00  Original                                                                1988.05.23  Y.Tagawa    */
-/*  Ver. 1.00  Fixed                                                           1989.09.22  Y.Tagawa    */
-/*  Ver. 0.03  LHa for UNIX                                                    1991.12.17  M.Oki               */
-/*  Ver. 1.12  LHa for UNIX                                                    1993.10.01      N.Watazaki      */
-/*  Ver. 1.13b Symbolic Link Update Bug Fix                    1994.06.21      N.Watazaki      */
-/*     Ver. 1.14  Source All chagned                                   1995.01.14      N.Watazaki      */
+/* LHa for UNIX                                                             */
+/*              lhext.c -- LHarc extract                                    */
+/*                                                                          */
+/*      Copyright (C) MCMLXXXIX Yooichi.Tagawa                              */
+/*      Modified                Nobutaka Watazaki                           */
+/*                                                                          */
+/*  Ver. 0.00  Original                             1988.05.23  Y.Tagawa    */
+/*  Ver. 1.00  Fixed                                1989.09.22  Y.Tagawa    */
+/*  Ver. 0.03  LHa for UNIX                         1991.12.17  M.Oki       */
+/*  Ver. 1.12  LHa for UNIX                         1993.10.01  N.Watazaki  */
+/*  Ver. 1.13b Symbolic Link Update Bug Fix         1994.06.21  N.Watazaki  */
+/*  Ver. 1.14  Source All chagned                   1995.01.14  N.Watazaki  */
 /*  Ver. 1.14e bugfix                               1999.04.30  T.Okamoto   */
 /* ------------------------------------------------------------------------ */
 #include "lha.h"
 /* ------------------------------------------------------------------------ */
-static int      skip_flg = FALSE;      /* FALSE..No Skip , TRUE..Skip */
-static char       *methods[] =
+static int      skip_flg = FALSE;   /* FALSE..No Skip , TRUE..Skip */
+static char    *methods[] =
 {
-       LZHUFF0_METHOD, LZHUFF1_METHOD, LZHUFF2_METHOD, LZHUFF3_METHOD,
-       LZHUFF4_METHOD, LZHUFF5_METHOD, LZHUFF6_METHOD, LZHUFF7_METHOD,
-       LARC_METHOD, LARC5_METHOD, LARC4_METHOD,
-       LZHDIRS_METHOD,
-       NULL
+    LZHUFF0_METHOD, LZHUFF1_METHOD, LZHUFF2_METHOD, LZHUFF3_METHOD,
+    LZHUFF4_METHOD, LZHUFF5_METHOD, LZHUFF6_METHOD, LZHUFF7_METHOD,
+    LARC_METHOD, LARC5_METHOD, LARC4_METHOD,
+    LZHDIRS_METHOD,
+    NULL
 };
 
 /* ------------------------------------------------------------------------ */
 static          boolean
 inquire_extract(name)
-       char           *name;
+    char           *name;
 {
-       struct stat     stbuf;
-
-       skip_flg = FALSE;
-       if (stat(name, &stbuf) >= 0) {
-               if (!is_regularfile(&stbuf)) {
-                       error("\"%s\" already exists (not a file)", name);
-                       return FALSE;
-               }
-
-               if (noexec) {
-                       printf("EXTRACT %s but file is exist.\n", name);
-                       return FALSE;
-               }
-               else if (!force) {
-                       if (!isatty(0))
-                               return FALSE;
-
-                       switch (inquire("OverWrite ?(Yes/[No]/All/Skip)", name, "YyNnAaSs\n")) {
-                       case 0:
-                       case 1:/* Y/y */
-                               break;
-                       case 2:
-                       case 3:/* N/n */
-                       case 8:/* Return */
-                               return FALSE;
-                       case 4:
-                       case 5:/* A/a */
-                               force = TRUE;
-                               break;
-                       case 6:
-                       case 7:/* S/s */
-                               skip_flg = TRUE;
-                               break;
-                       }
-               }
-       }
-       if (noexec)
-               printf("EXTRACT %s\n", name);
-
-       return TRUE;
+    struct stat     stbuf;
+
+    skip_flg = FALSE;
+    if (stat(name, &stbuf) >= 0) {
+        if (!is_regularfile(&stbuf)) {
+            error("\"%s\" already exists (not a file)", name);
+            return FALSE;
+        }
+
+        if (noexec) {
+            printf("EXTRACT %s but file is exist.\n", name);
+            return FALSE;
+        }
+        else if (!force) {
+            if (!isatty(0))
+                return FALSE;
+
+            switch (inquire("OverWrite ?(Yes/[No]/All/Skip)", name, "YyNnAaSs\n")) {
+            case 0:
+            case 1:/* Y/y */
+                break;
+            case 2:
+            case 3:/* N/n */
+            case 8:/* Return */
+                return FALSE;
+            case 4:
+            case 5:/* A/a */
+                force = TRUE;
+                break;
+            case 6:
+            case 7:/* S/s */
+                skip_flg = TRUE;
+                break;
+            }
+        }
+    }
+    if (noexec)
+        printf("EXTRACT %s\n", name);
+
+    return TRUE;
 }
 
 /* ------------------------------------------------------------------------ */
 static          boolean
 make_parent_path(name)
-       char           *name;
+    char           *name;
 {
-       char            path[FILENAME_LENGTH];
-       struct stat     stbuf;
-       register char  *p;
-
-       /* make parent directory name into PATH for recursive call */
-       strcpy(path, name);
-       for (p = path + strlen(path); p > path; p--)
-               if (p[-1] == '/') {
-                       *--p = '\0';
-                       break;
-               }
-
-       if (p == path) {
-               message("invalid path name \"%s\"", name);
-               return FALSE;   /* no more parent. */
-       }
-
-       if (GETSTAT(path, &stbuf) >= 0) {
-               if (is_directory(&stbuf))
-                       return TRUE;
-       }
-
-       if (verbose)
-               message("Making directory \"%s\".", path);
+    char            path[FILENAME_LENGTH];
+    struct stat     stbuf;
+    register char  *p;
+
+    /* make parent directory name into PATH for recursive call */
+    strcpy(path, name);
+    for (p = path + strlen(path); p > path; p--)
+        if (p[-1] == '/') {
+            *--p = '\0';
+            break;
+        }
+
+    if (p == path) {
+        message("invalid path name \"%s\"", name);
+        return FALSE;   /* no more parent. */
+    }
+
+    if (GETSTAT(path, &stbuf) >= 0) {
+        if (is_directory(&stbuf))
+            return TRUE;
+    }
+
+    if (verbose)
+        message("Making directory \"%s\".", path);
 
 #if defined __MINGW32__
     if (mkdir(path) >= 0)
         return TRUE;
 #else
-       if (mkdir(path, 0777) >= 0)     /* try */
-               return TRUE;    /* successful done. */
+    if (mkdir(path, 0777) >= 0) /* try */
+        return TRUE;    /* successful done. */
 #endif
 
-       if (!make_parent_path(path))
-               return FALSE;
+    if (!make_parent_path(path))
+        return FALSE;
 
 #if defined __MINGW32__
     if (mkdir(path) < 0) {      /* try again */
@@ -119,54 +119,54 @@ make_parent_path(name)
         return FALSE;
     }
 #else
-       if (mkdir(path, 0777) < 0) {    /* try again */
+    if (mkdir(path, 0777) < 0) {    /* try again */
         error("Cannot make directory \"%s\"", path);
         return FALSE;
-       }
+    }
 #endif
 
-       return TRUE;
+    return TRUE;
 }
 
 /* ------------------------------------------------------------------------ */
 static FILE    *
 open_with_make_path(name)
-       char           *name;
+    char           *name;
 {
-       FILE           *fp;
-
-       if ((fp = fopen(name, WRITE_BINARY)) == NULL) {
-               if (!make_parent_path(name) ||
-                   (fp = fopen(name, WRITE_BINARY)) == NULL)
-                       error("Cannot extract a file \"%s\"", name);
-       }
-       return fp;
+    FILE           *fp;
+
+    if ((fp = fopen(name, WRITE_BINARY)) == NULL) {
+        if (!make_parent_path(name) ||
+            (fp = fopen(name, WRITE_BINARY)) == NULL)
+            error("Cannot extract a file \"%s\"", name);
+    }
+    return fp;
 }
 
 /* ------------------------------------------------------------------------ */
 static void
 adjust_info(name, hdr)
-       char           *name;
-       LzHeader       *hdr;
+    char           *name;
+    LzHeader       *hdr;
 {
     struct utimbuf utimebuf;
 
-       /* adjust file stamp */
-       utimebuf.actime = utimebuf.modtime = hdr->unix_last_modified_stamp;
+    /* adjust file stamp */
+    utimebuf.actime = utimebuf.modtime = hdr->unix_last_modified_stamp;
 
-       if ((hdr->unix_mode & UNIX_FILE_TYPEMASK) != UNIX_FILE_SYMLINK)
-               utime(name, &utimebuf);
+    if ((hdr->unix_mode & UNIX_FILE_TYPEMASK) != UNIX_FILE_SYMLINK)
+        utime(name, &utimebuf);
 
-       if (hdr->extend_type == EXTEND_UNIX
-           || hdr->extend_type == EXTEND_OS68K
-           || hdr->extend_type == EXTEND_XOSK) {
+    if (hdr->extend_type == EXTEND_UNIX
+        || hdr->extend_type == EXTEND_OS68K
+        || hdr->extend_type == EXTEND_XOSK) {
 #ifdef NOT_COMPATIBLE_MODE
-               Please need your modification in this space.
+        Please need your modification in this space.
 #else
-               if ((hdr->unix_mode & UNIX_FILE_TYPEMASK) != UNIX_FILE_SYMLINK)
-                       chmod(name, hdr->unix_mode);
+        if ((hdr->unix_mode & UNIX_FILE_TYPEMASK) != UNIX_FILE_SYMLINK)
+            chmod(name, hdr->unix_mode);
 #endif
-               if (!getuid()){
+        if (!getuid()){
             uid_t uid = hdr->unix_uid;
             gid_t gid = hdr->unix_gid;
 
@@ -182,106 +182,106 @@ adjust_info(name, hdr)
 #endif
 
 #if HAVE_LCHOWN
-                       if ((hdr->unix_mode & UNIX_FILE_TYPEMASK) == UNIX_FILE_SYMLINK)
-                               lchown(name, uid, gid);
-                       else
+            if ((hdr->unix_mode & UNIX_FILE_TYPEMASK) == UNIX_FILE_SYMLINK)
+                lchown(name, uid, gid);
+            else
 #endif /* HAVE_LCHWON */
-                               chown(name, uid, gid);
-               }
-       }
+                chown(name, uid, gid);
+        }
+    }
 }
 
 /* ------------------------------------------------------------------------ */
 static void
 extract_one(afp, hdr)
-       FILE           *afp;    /* archive file */
-       LzHeader       *hdr;
+    FILE           *afp;    /* archive file */
+    LzHeader       *hdr;
 {
-       FILE           *fp;     /* output file */
-       struct stat     stbuf;
-       char            name[FILENAME_LENGTH];
-       unsigned int crc;
-       int             method;
-       boolean         save_quiet, save_verbose, up_flag;
-       char           *q = hdr->name, c;
-
-       if (ignore_directory && strrchr(hdr->name, '/')) {
-               q = (char *) strrchr(hdr->name, '/') + 1;
-       }
-       else {
-               if (*q == '/') {
-                       q++;
-                       /*
-                        * if OSK then strip device name
-                        */
-                       if (hdr->extend_type == EXTEND_OS68K
-                           || hdr->extend_type == EXTEND_XOSK) {
-                               do
-                                       c = (*q++);
-                               while (c && c != '/');
-                               if (!c || !*q)
-                                       q = ".";        /* if device name only */
-                       }
-               }
-       }
-
-       if (extract_directory)
-               xsnprintf(name, sizeof(name), "%s/%s", extract_directory, q);
-       else
-               strcpy(name, q);
-
-
-       /* LZHDIRS_METHOD¤ò»ý¤Ä¥Ø¥Ã¥À¤ò¥Á¥§¥Ã¥¯¤¹¤ë */
-       /* 1999.4.30 t.okamoto */
-       for (method = 0;; method++) {
-               if (methods[method] == NULL) {
-                       error("Unknown method \"%.*s\"; \"%s\" will be skiped ...",
+    FILE           *fp; /* output file */
+    struct stat     stbuf;
+    char            name[FILENAME_LENGTH];
+    unsigned int crc;
+    int             method;
+    boolean         save_quiet, save_verbose, up_flag;
+    char           *q = hdr->name, c;
+
+    if (ignore_directory && strrchr(hdr->name, '/')) {
+        q = (char *) strrchr(hdr->name, '/') + 1;
+    }
+    else {
+        if (*q == '/') {
+            q++;
+            /*
+             * if OSK then strip device name
+             */
+            if (hdr->extend_type == EXTEND_OS68K
+                || hdr->extend_type == EXTEND_XOSK) {
+                do
+                    c = (*q++);
+                while (c && c != '/');
+                if (!c || !*q)
+                    q = ".";    /* if device name only */
+            }
+        }
+    }
+
+    if (extract_directory)
+        xsnprintf(name, sizeof(name), "%s/%s", extract_directory, q);
+    else
+        strcpy(name, q);
+
+
+    /* LZHDIRS_METHOD¤ò»ý¤Ä¥Ø¥Ã¥À¤ò¥Á¥§¥Ã¥¯¤¹¤ë */
+    /* 1999.4.30 t.okamoto */
+    for (method = 0;; method++) {
+        if (methods[method] == NULL) {
+            error("Unknown method \"%.*s\"; \"%s\" will be skiped ...",
                   5, hdr->method, name);
-                       return;
-               }
-               if (memcmp(hdr->method, methods[method], 5) == 0)
-                       break;
-       }
-
-       if ((hdr->unix_mode & UNIX_FILE_TYPEMASK) == UNIX_FILE_REGULAR
-               && method != LZHDIRS_METHOD_NUM) {
+            return;
+        }
+        if (memcmp(hdr->method, methods[method], 5) == 0)
+            break;
+    }
+
+    if ((hdr->unix_mode & UNIX_FILE_TYPEMASK) == UNIX_FILE_REGULAR
+        && method != LZHDIRS_METHOD_NUM) {
     extract_regular:
 #if 0
-               for (method = 0;; method++) {
-                       if (methods[method] == NULL) {
+        for (method = 0;; method++) {
+            if (methods[method] == NULL) {
                 error("Unknown method \"%.*s\"; \"%s\" will be skiped ...",
                       5, hdr->method, name);
-                               return;
-                       }
-                       if (memcmp(hdr->method, methods[method], 5) == 0)
-                               break;
-               }
+                return;
+            }
+            if (memcmp(hdr->method, methods[method], 5) == 0)
+                break;
+        }
 #endif
 
-               reading_filename = archive_name;
-               writing_filename = name;
-               if (output_to_stdout || verify_mode) {
-                       if (noexec) {
-                               printf("%s %s\n", verify_mode ? "VERIFY" : "EXTRACT", name);
-                               if (afp == stdin) {
-                                       int             i = hdr->packed_size;
-                                       while (i--)
-                                               fgetc(afp);
-                               }
-                               return;
-                       }
-
-                       save_quiet = quiet;
-                       save_verbose = verbose;
-                       if (!quiet && output_to_stdout) {
-                               printf("::::::::\n%s\n::::::::\n", name);
-                               quiet = TRUE;
-                               verbose = FALSE;
-                       }
-                       else if (verify_mode) {
-                               quiet = FALSE;
-                               verbose = TRUE;
-                       }
+        reading_filename = archive_name;
+        writing_filename = name;
+        if (output_to_stdout || verify_mode) {
+            if (noexec) {
+                printf("%s %s\n", verify_mode ? "VERIFY" : "EXTRACT", name);
+                if (afp == stdin) {
+                    int             i = hdr->packed_size;
+                    while (i--)
+                        fgetc(afp);
+                }
+                return;
+            }
+
+            save_quiet = quiet;
+            save_verbose = verbose;
+            if (!quiet && output_to_stdout) {
+                printf("::::::::\n%s\n::::::::\n", name);
+                quiet = TRUE;
+                verbose = FALSE;
+            }
+            else if (verify_mode) {
+                quiet = FALSE;
+                verbose = TRUE;
+            }
 
 #if __MINGW32__
             {
@@ -290,182 +290,176 @@ extract_one(afp, hdr)
                 old_mode = setmode(fileno(stdout), O_BINARY);
 #endif
 
-                       crc = decode_lzhuf
-                               (afp, stdout, hdr->original_size, hdr->packed_size, name, method);
+            crc = decode_lzhuf
+                (afp, stdout, hdr->original_size, hdr->packed_size, name, method);
 #if __MINGW32__
                 fflush(stdout);
                 setmode(fileno(stdout), old_mode);
             }
 #endif
-                       quiet = save_quiet;
-                       verbose = save_verbose;
-               }
-               else {
-                       if (skip_flg == FALSE)  {
-                               up_flag = inquire_extract(name);
-                               if (up_flag == FALSE && force == FALSE) {
-                                       return;
-                               }
-                       }
-
-                       if (skip_flg == TRUE) { /* if skip_flg */
-                               if (stat(name, &stbuf) == 0 && force != TRUE) {
-                                       if (stbuf.st_mtime >= hdr->unix_last_modified_stamp) {
-                                               if (quiet != TRUE)
-                                                       printf("%s : Skipped...\n", name);
-                                               return;
-                                       }
-                               }
-                       }
-                       if (noexec) {
-                               if (afp == stdin) {
-                                       int i = hdr->packed_size;
-                                       while (i--)
-                                               fgetc(afp);
-                               }
-                               return;
-                       }
-
-                       signal(SIGINT, interrupt);
+            quiet = save_quiet;
+            verbose = save_verbose;
+        }
+        else {
+            if (skip_flg == FALSE)  {
+                up_flag = inquire_extract(name);
+                if (up_flag == FALSE && force == FALSE) {
+                    return;
+                }
+            }
+
+            if (skip_flg == TRUE) { /* if skip_flg */
+                if (stat(name, &stbuf) == 0 && force != TRUE) {
+                    if (stbuf.st_mtime >= hdr->unix_last_modified_stamp) {
+                        if (quiet != TRUE)
+                            printf("%s : Skipped...\n", name);
+                        return;
+                    }
+                }
+            }
+            if (noexec) {
+                if (afp == stdin) {
+                    int i = hdr->packed_size;
+                    while (i--)
+                        fgetc(afp);
+                }
+                return;
+            }
+
+            signal(SIGINT, interrupt);
 #ifdef SIGHUP
-                       signal(SIGHUP, interrupt);
+            signal(SIGHUP, interrupt);
 #endif
 
-                       unlink(name);
-                       remove_extracting_file_when_interrupt = TRUE;
+            unlink(name);
+            remove_extracting_file_when_interrupt = TRUE;
 
-                       if ((fp = open_with_make_path(name)) != NULL) {
-                               crc = decode_lzhuf
-                                       (afp, fp, hdr->original_size, hdr->packed_size, name, method);
-                               fclose(fp);
-                       }
-                       remove_extracting_file_when_interrupt = FALSE;
-                       signal(SIGINT, SIG_DFL);
+            if ((fp = open_with_make_path(name)) != NULL) {
+                crc = decode_lzhuf
+                    (afp, fp, hdr->original_size, hdr->packed_size, name, method);
+                fclose(fp);
+            }
+            remove_extracting_file_when_interrupt = FALSE;
+            signal(SIGINT, SIG_DFL);
 #ifdef SIGHUP
-                       signal(SIGHUP, SIG_DFL);
+            signal(SIGHUP, SIG_DFL);
 #endif
-                       if (!fp)
-                               return;
-               }
-
-               if (hdr->has_crc && crc != hdr->crc)
-                       error("CRC error: \"%s\"", name);
-       }
-       else if ((hdr->unix_mode & UNIX_FILE_TYPEMASK) == UNIX_FILE_DIRECTORY
-                        || (hdr->unix_mode & UNIX_FILE_TYPEMASK) == UNIX_FILE_SYMLINK
-                        || method == LZHDIRS_METHOD_NUM) {
-               /* ¢¬¤³¤ì¤Ç¡¢Symbolic Link ¤Ï¡¢Âç¾æÉפ«¡© */
-               if (!ignore_directory && !verify_mode) {
-                       if (noexec) {
-                               if (quiet != TRUE)
-                                       printf("EXTRACT %s (directory)\n", name);
-                               return;
-                       }
-                       /* NAME has trailing SLASH '/', (^_^) */
-                       if ((hdr->unix_mode & UNIX_FILE_TYPEMASK) == UNIX_FILE_SYMLINK) {
-                               int             l_code;
+            if (!fp)
+                return;
+        }
+
+        if (hdr->has_crc && crc != hdr->crc)
+            error("CRC error: \"%s\"", name);
+    }
+    else if ((hdr->unix_mode & UNIX_FILE_TYPEMASK) == UNIX_FILE_DIRECTORY
+             || (hdr->unix_mode & UNIX_FILE_TYPEMASK) == UNIX_FILE_SYMLINK
+             || method == LZHDIRS_METHOD_NUM) {
+        /* ¢¬¤³¤ì¤Ç¡¢Symbolic Link ¤Ï¡¢Âç¾æÉפ«¡© */
+        if (!ignore_directory && !verify_mode) {
+            if (noexec) {
+                if (quiet != TRUE)
+                    printf("EXTRACT %s (directory)\n", name);
+                return;
+            }
+            /* NAME has trailing SLASH '/', (^_^) */
+            if ((hdr->unix_mode & UNIX_FILE_TYPEMASK) == UNIX_FILE_SYMLINK) {
+                int             l_code;
 
 #ifdef S_IFLNK
-                               if (skip_flg == FALSE)  {
-                                       up_flag = inquire_extract(name);
-                                       if (up_flag == FALSE && force == FALSE) {
-                                               return;
-                                       }
-                               } else {
-                                       if (GETSTAT(name, &stbuf) == 0 && force != TRUE) {
-                                               if (stbuf.st_mtime >= hdr->unix_last_modified_stamp) {
-                                                       if (quiet != TRUE)
-                                                               printf("%s : Skipped...\n", name);
-                                                       return;
-                                               }
-                                       }
-                               }
-
-                               unlink(name);
+                if (skip_flg == FALSE)  {
+                    up_flag = inquire_extract(name);
+                    if (up_flag == FALSE && force == FALSE) {
+                        return;
+                    }
+                } else {
+                    if (GETSTAT(name, &stbuf) == 0 && force != TRUE) {
+                        if (stbuf.st_mtime >= hdr->unix_last_modified_stamp) {
+                            if (quiet != TRUE)
+                                printf("%s : Skipped...\n", name);
+                            return;
+                        }
+                    }
+                }
+
+                unlink(name);
                 make_parent_path(name);
-                               l_code = symlink(hdr->realname, name);
-                               if (l_code < 0) {
-                                       if (quiet != TRUE)
-                                               warning("Can't make Symbolic Link \"%s\" -> \"%s\"",
+                l_code = symlink(hdr->realname, name);
+                if (l_code < 0) {
+                    if (quiet != TRUE)
+                        warning("Can't make Symbolic Link \"%s\" -> \"%s\"",
                                 hdr->realname, name);
-                               }
-                               if (quiet != TRUE) {
-                                       message("Symbolic Link %s -> %s",
+                }
+                if (quiet != TRUE) {
+                    message("Symbolic Link %s -> %s",
                             hdr->realname, name);
-                               }
+                }
 #else
-                               warning("Can't make Symbolic Link %s -> %s",
+                warning("Can't make Symbolic Link %s -> %s",
                         hdr->realname, name);
-                               return;
+                return;
 #endif
-                       } else { /* make directory */
-                               if (!output_to_stdout && !make_parent_path(name))
-                                       return;
-                       }
-               }
-       }
-       else {
+            } else { /* make directory */
+                if (!output_to_stdout && !make_parent_path(name))
+                    return;
+            }
+        }
+    }
+    else {
         if (force)              /* force extract */
             goto extract_regular;
         else
             error("Unknown file type: \"%s\". use `f' option to force extract.", name);
-       }
+    }
 
-       if (!output_to_stdout)
-               adjust_info(name, hdr);
+    if (!output_to_stdout)
+        adjust_info(name, hdr);
 }
 
 /* ------------------------------------------------------------------------ */
-/* EXTRACT COMMAND MAIN                                                                                                                */
+/* EXTRACT COMMAND MAIN                                                     */
 /* ------------------------------------------------------------------------ */
 void
 cmd_extract()
 {
-       LzHeader        hdr;
-       long            pos;
-       FILE           *afp;
-
-       /* open archive file */
-       if ((afp = open_old_archive()) == NULL)
-               fatal_error("Cannot open archive file \"%s\"", archive_name);
-
-       if (archive_is_msdos_sfx1(archive_name))
-               skip_msdos_sfx1_code(afp);
-
-       /* extract each files */
-       while (get_header(afp, &hdr)) {
-               if (need_file(hdr.name)) {
-                       pos = ftell(afp);
-                       extract_one(afp, &hdr);
+    LzHeader        hdr;
+    long            pos;
+    FILE           *afp;
+
+    /* open archive file */
+    if ((afp = open_old_archive()) == NULL)
+        fatal_error("Cannot open archive file \"%s\"", archive_name);
+
+    if (archive_is_msdos_sfx1(archive_name))
+        skip_msdos_sfx1_code(afp);
+
+    /* extract each files */
+    while (get_header(afp, &hdr)) {
+        if (need_file(hdr.name)) {
+            pos = ftell(afp);
+            extract_one(afp, &hdr);
             /* when error occurred in extract_one(), should adjust
                point of file stream */
-                       if (afp != stdin)
+            if (afp != stdin)
                 fseek(afp, pos + hdr.packed_size, SEEK_SET);
             else {
                 /* FIXME: assume that the extract_one() has read
                    packed_size bytes from stdin. */
                 long i = 0;
-                               while (i--) fgetc(afp);
+                while (i--) fgetc(afp);
             }
-               } else {
-                       if (afp != stdin)
-                               fseek(afp, hdr.packed_size, SEEK_CUR);
-                       else {
-                               int             i = hdr.packed_size;
-                               while (i--)
-                                       fgetc(afp);
-                       }
-               }
-       }
-
-       /* close archive file */
-       fclose(afp);
-
-       return;
-}
+        } else {
+            if (afp != stdin)
+                fseek(afp, hdr.packed_size, SEEK_CUR);
+            else {
+                int             i = hdr.packed_size;
+                while (i--)
+                    fgetc(afp);
+            }
+        }
+    }
 
-/* Local Variables: */
-/* mode:c */
-/* tab-width:4 */
-/* End: */
-/* vi: set tabstop=4: */
+    /* close archive file */
+    fclose(afp);
+
+    return;
+}
index 6c2e98e..dafc4ae 100644 (file)
@@ -1,74 +1,74 @@
 /* ------------------------------------------------------------------------ */
-/* LHa for UNIX                                                                                                                        */
-/*                             lhlist.c -- LHarc list                                                                          */
-/*                                                                                                                                                     */
-/*             Copyright (C) MCMLXXXIX Yooichi.Tagawa                                                          */
-/*             Modified                        Nobutaka Watazaki                                                       */
-/*                                                                                                                                                     */
-/*  Ver. 0.00  Original                                                1988.05.23  Y.Tagawa            */
-/*  Ver. 1.00  Fixed                                                   1989.09.22  Y.Tagawa            */
-/*  Ver. 1.01  Bug Fix for month name                  1989.12.25  Y.Tagawa            */
-/*  Ver. 1.10  Changed list format                             1993.10.01      N.Watazaki              */
-/*     Ver. 1.14       Source All chagned                              1995.01.14      N.Watazaki              */
-/*     Ver. 1.14e      Bug Fix for many problems               1999.05.25  T.Okamoto       */
+/* LHa for UNIX                                                             */
+/*              lhlist.c -- LHarc list                                      */
+/*                                                                          */
+/*      Copyright (C) MCMLXXXIX Yooichi.Tagawa                              */
+/*      Modified                Nobutaka Watazaki                           */
+/*                                                                          */
+/*  Ver. 0.00   Original                        1988.05.23  Y.Tagawa        */
+/*  Ver. 1.00   Fixed                           1989.09.22  Y.Tagawa        */
+/*  Ver. 1.01   Bug Fix for month name          1989.12.25  Y.Tagawa        */
+/*  Ver. 1.10   Changed list format             1993.10.01  N.Watazaki      */
+/*  Ver. 1.14   Source All chagned              1995.01.14  N.Watazaki      */
+/*  Ver. 1.14e  Bug Fix for many problems       1999.05.25  T.Okamoto       */
 /* ------------------------------------------------------------------------ */
 #include "lha.h"
 
 /* ------------------------------------------------------------------------ */
-/* Print Stuff                                                                                                                         */
+/* Print Stuff                                                              */
 /* ------------------------------------------------------------------------ */
 /* need 14 or 22 (when verbose_listing is TRUE) column spaces */
 static void
 print_size(packed_size, original_size)
-       long            packed_size, original_size;
+    long            packed_size, original_size;
 {
-       if (verbose_listing)
-               printf("%7ld ", packed_size);
+    if (verbose_listing)
+        printf("%7ld ", packed_size);
 
-       printf("%7ld ", original_size);
+    printf("%7ld ", original_size);
 
-       if (original_size == 0L)
-               printf("******");
-       else    /* Changed N.Watazaki */
-               printf("%5.1f%%", packed_size * 100.0 / original_size);
+    if (original_size == 0L)
+        printf("******");
+    else    /* Changed N.Watazaki */
+        printf("%5.1f%%", packed_size * 100.0 / original_size);
 }
 
 /* ------------------------------------------------------------------------ */
 /* need 12 or 17 (when verbose_listing is TRUE) column spaces */
 static void
 print_stamp(t)
-       time_t          t;
+    time_t          t;
 {
-       static unsigned int threshold;
-       static char     t_month[12 * 3 + 1] = "JanFebMarAprMayJunJulAugSepOctNovDec";
-       struct tm      *p;
+    static unsigned int threshold;
+    static char     t_month[12 * 3 + 1] = "JanFebMarAprMayJunJulAugSepOctNovDec";
+    struct tm      *p;
 
-       if (t == 0) {
+    if (t == 0) {
         if (verbose_listing && verbose)
             printf("                   "); /* 19 spaces */
         else
-            printf("            ");    /* 12 spaces */
-               return;
-       }
+            printf("            "); /* 12 spaces */
+        return;
+    }
 
-       if (!threshold) {
-               time_t now = time(0);
-               p = localtime(&now);
-               threshold = p->tm_year * 12 + p->tm_mon - 6;
-       }
+    if (!threshold) {
+        time_t now = time(0);
+        p = localtime(&now);
+        threshold = p->tm_year * 12 + p->tm_mon - 6;
+    }
 
-       p = localtime(&t);
+    p = localtime(&t);
 
     if (verbose_listing && verbose)
         printf("%04d-%02d-%02d %02d:%02d:%02d",
                p->tm_year+1900, p->tm_mon+1, p->tm_mday,
                p->tm_hour, p->tm_min, p->tm_sec);
-       else if (p->tm_year * 12 + p->tm_mon > threshold)
-               printf("%.3s %2d %02d:%02d",
-               &t_month[p->tm_mon * 3], p->tm_mday, p->tm_hour, p->tm_min);
-       else
-               printf("%.3s %2d  %04d",
-                   &t_month[p->tm_mon * 3], p->tm_mday, p->tm_year + 1900);
+    else if (p->tm_year * 12 + p->tm_mon > threshold)
+        printf("%.3s %2d %02d:%02d",
+        &t_month[p->tm_mon * 3], p->tm_mday, p->tm_hour, p->tm_min);
+    else
+        printf("%.3s %2d  %04d",
+            &t_month[p->tm_mon * 3], p->tm_mday, p->tm_year + 1900);
 }
 
 /* ------------------------------------------------------------------------ */
@@ -94,7 +94,7 @@ print_bar()
 }
 
 /* ------------------------------------------------------------------------ */
-/*                                                                                                                                                     */
+/*                                                                          */
 /* ------------------------------------------------------------------------ */
 static void
 list_header()
@@ -111,18 +111,18 @@ list_header()
         else
             printf("PERMISSION  UID  GID      SIZE  RATIO     STAMP           NAME\n");
     }
-       print_bar();
+    print_bar();
 }
 
 /* ------------------------------------------------------------------------ */
 static void
 list_one(hdr)
-       register LzHeader *hdr;
+    register LzHeader *hdr;
 {
-       register int    mode = 0;
-       register char  *p;
-       char            method[6];
-       char modebits[11];
+    register int    mode = 0;
+    register char  *p;
+    char            method[6];
+    char modebits[11];
 
     if (verbose) {
         if ((hdr->unix_mode & UNIX_FILE_SYMLINK) != UNIX_FILE_SYMLINK)
@@ -131,101 +131,101 @@ list_one(hdr)
             printf("%s -> %s\n", hdr->realname, hdr->name);
     }
 
-       strncpy(method, hdr->method, 5);
-       method[5] = '\0';
-
-       switch (hdr->extend_type) {
-       case EXTEND_UNIX:
-               mode = hdr->unix_mode;
-
-               if (mode & UNIX_FILE_DIRECTORY)
-                       modebits[0] = 'd';
-               else if ((mode & UNIX_FILE_SYMLINK) == UNIX_FILE_SYMLINK)
-                       modebits[0] = 'l';
-               else
-                       modebits[0] = '-';
-               modebits[1] = ((mode & UNIX_OWNER_READ_PERM) ? 'r' : '-');
-               modebits[2] = ((mode & UNIX_OWNER_WRITE_PERM) ? 'w' : '-');
-               modebits[3] = (mode & UNIX_SETUID) ? 's' :
-                       ((mode & UNIX_OWNER_EXEC_PERM) ? 'x' : '-');
-               modebits[4] = ((mode & UNIX_GROUP_READ_PERM) ? 'r' : '-');
-               modebits[5] = ((mode & UNIX_GROUP_WRITE_PERM) ? 'w' : '-');
-               modebits[6] = (mode & UNIX_SETGID) ? 's' :
-                       ((mode & UNIX_GROUP_EXEC_PERM) ? 'x' : '-');
-               modebits[7] = ((mode & UNIX_OTHER_READ_PERM) ? 'r' : '-');
-               modebits[8] = ((mode & UNIX_OTHER_WRITE_PERM) ? 'w' : '-');
-               modebits[9] = (mode & UNIX_STICKYBIT) ? 't' :
-                       ((mode & UNIX_OTHER_EXEC_PERM) ? 'x' : '-');
-               modebits[10] = 0;
+    strncpy(method, hdr->method, 5);
+    method[5] = '\0';
+
+    switch (hdr->extend_type) {
+    case EXTEND_UNIX:
+        mode = hdr->unix_mode;
+
+        if (mode & UNIX_FILE_DIRECTORY)
+            modebits[0] = 'd';
+        else if ((mode & UNIX_FILE_SYMLINK) == UNIX_FILE_SYMLINK)
+            modebits[0] = 'l';
+        else
+            modebits[0] = '-';
+        modebits[1] = ((mode & UNIX_OWNER_READ_PERM) ? 'r' : '-');
+        modebits[2] = ((mode & UNIX_OWNER_WRITE_PERM) ? 'w' : '-');
+        modebits[3] = (mode & UNIX_SETUID) ? 's' :
+            ((mode & UNIX_OWNER_EXEC_PERM) ? 'x' : '-');
+        modebits[4] = ((mode & UNIX_GROUP_READ_PERM) ? 'r' : '-');
+        modebits[5] = ((mode & UNIX_GROUP_WRITE_PERM) ? 'w' : '-');
+        modebits[6] = (mode & UNIX_SETGID) ? 's' :
+            ((mode & UNIX_GROUP_EXEC_PERM) ? 'x' : '-');
+        modebits[7] = ((mode & UNIX_OTHER_READ_PERM) ? 'r' : '-');
+        modebits[8] = ((mode & UNIX_OTHER_WRITE_PERM) ? 'w' : '-');
+        modebits[9] = (mode & UNIX_STICKYBIT) ? 't' :
+            ((mode & UNIX_OTHER_EXEC_PERM) ? 'x' : '-');
+        modebits[10] = 0;
 
         printf("%s ", modebits);
-               break;
-       case EXTEND_OS68K:
-        /**/ case EXTEND_XOSK:/**/
-               mode = hdr->unix_mode;
-               printf("%c%c%c%c%c%c%c%c   ",
-                      ((mode & OSK_DIRECTORY_PERM) ? 'd' : '-'),
-                      ((mode & OSK_SHARED_PERM) ? 's' : '-'),
-                      ((mode & OSK_OTHER_EXEC_PERM) ? 'e' : '-'),
-                      ((mode & OSK_OTHER_WRITE_PERM) ? 'w' : '-'),
-                      ((mode & OSK_OTHER_READ_PERM) ? 'r' : '-'),
-                      ((mode & OSK_OWNER_EXEC_PERM) ? 'e' : '-'),
-                      ((mode & OSK_OWNER_WRITE_PERM) ? 'w' : '-'),
-                      ((mode & OSK_OWNER_READ_PERM) ? 'r' : '-'));
-
-               break;
-       default:
-               switch (hdr->extend_type) {     /* max 18 characters */
-               case EXTEND_GENERIC:
-                       p = "[generic]";
-                       break;
-               case EXTEND_CPM:
-                       p = "[CP/M]";
-                       break;
-               case EXTEND_FLEX:
-                       p = "[FLEX]";
-                       break;
-               case EXTEND_OS9:
-                       p = "[OS-9]";
-                       break;
-               case EXTEND_OS68K:
-                       p = "[OS-9/68K]";
-                       break;
-               case EXTEND_MSDOS:
-                       p = "[MS-DOS]";
-                       break;
-               case EXTEND_MACOS:
-                       p = "[Mac OS]";
-                       break;
-               case EXTEND_OS2:
-                       p = "[OS/2]";
-                       break;
-               case EXTEND_HUMAN:
-                       p = "[Human68K]";
-                       break;
-               case EXTEND_OS386:
-                       p = "[OS-386]";
-                       break;
-               case EXTEND_RUNSER:
-                       p = "[Runser]";
-                       break;
+        break;
+    case EXTEND_OS68K:
+     /**/ case EXTEND_XOSK:/**/
+        mode = hdr->unix_mode;
+        printf("%c%c%c%c%c%c%c%c   ",
+               ((mode & OSK_DIRECTORY_PERM) ? 'd' : '-'),
+               ((mode & OSK_SHARED_PERM) ? 's' : '-'),
+               ((mode & OSK_OTHER_EXEC_PERM) ? 'e' : '-'),
+               ((mode & OSK_OTHER_WRITE_PERM) ? 'w' : '-'),
+               ((mode & OSK_OTHER_READ_PERM) ? 'r' : '-'),
+               ((mode & OSK_OWNER_EXEC_PERM) ? 'e' : '-'),
+               ((mode & OSK_OWNER_WRITE_PERM) ? 'w' : '-'),
+               ((mode & OSK_OWNER_READ_PERM) ? 'r' : '-'));
+
+        break;
+    default:
+        switch (hdr->extend_type) { /* max 18 characters */
+        case EXTEND_GENERIC:
+            p = "[generic]";
+            break;
+        case EXTEND_CPM:
+            p = "[CP/M]";
+            break;
+        case EXTEND_FLEX:
+            p = "[FLEX]";
+            break;
+        case EXTEND_OS9:
+            p = "[OS-9]";
+            break;
+        case EXTEND_OS68K:
+            p = "[OS-9/68K]";
+            break;
+        case EXTEND_MSDOS:
+            p = "[MS-DOS]";
+            break;
+        case EXTEND_MACOS:
+            p = "[Mac OS]";
+            break;
+        case EXTEND_OS2:
+            p = "[OS/2]";
+            break;
+        case EXTEND_HUMAN:
+            p = "[Human68K]";
+            break;
+        case EXTEND_OS386:
+            p = "[OS-386]";
+            break;
+        case EXTEND_RUNSER:
+            p = "[Runser]";
+            break;
 #ifdef EXTEND_TOWNSOS
-                       /* This ID isn't fixed */
-               case EXTEND_TOWNSOS:
-                       p = "[TownsOS]";
-                       break;
+            /* This ID isn't fixed */
+        case EXTEND_TOWNSOS:
+            p = "[TownsOS]";
+            break;
 #endif
-               case EXTEND_JAVA:
+        case EXTEND_JAVA:
             p = "[JAVA]";
             break;
-                       /* Ouch!  Please customize it's ID.  */
-               default:
-                       p = "[unknown]";
-                       break;
-               }
-               printf("%-11.11s", p);
-               break;
-       }
+            /* Ouch!  Please customize it's ID.  */
+        default:
+            p = "[unknown]";
+            break;
+        }
+        printf("%-11.11s", p);
+        break;
+    }
 
     switch (hdr->extend_type) {
     case EXTEND_UNIX:
@@ -246,28 +246,28 @@ list_one(hdr)
         break;
     }
 
-       print_size(hdr->packed_size, hdr->original_size);
+    print_size(hdr->packed_size, hdr->original_size);
 
-       if (verbose_listing) {
-               if (hdr->has_crc)
-                       printf(" %s %04x", method, hdr->crc);
-               else
-                       printf(" %s ****", method);
+    if (verbose_listing) {
+        if (hdr->has_crc)
+            printf(" %s %04x", method, hdr->crc);
+        else
+            printf(" %s ****", method);
     }
 
-       printf(" ");
-       print_stamp(hdr->unix_last_modified_stamp);
+    printf(" ");
+    print_stamp(hdr->unix_last_modified_stamp);
 
-       if (!verbose) {
-               if ((hdr->unix_mode & UNIX_FILE_SYMLINK) != UNIX_FILE_SYMLINK)
-                       printf(" %s", hdr->name);
-               else {
-                       printf(" %s -> %s", hdr->realname, hdr->name);
-               }
+    if (!verbose) {
+        if ((hdr->unix_mode & UNIX_FILE_SYMLINK) != UNIX_FILE_SYMLINK)
+            printf(" %s", hdr->name);
+        else {
+            printf(" %s -> %s", hdr->realname, hdr->name);
+        }
     }
-       if (verbose)
-               printf(" [%d]", hdr->header_level);
-       printf("\n");
+    if (verbose)
+        printf(" [%d]", hdr->header_level);
+    printf("\n");
 
 }
 
@@ -277,88 +277,81 @@ list_tailer(list_files, packed_size_total, original_size_total)
     int list_files;
     unsigned long packed_size_total, original_size_total;
 {
-       struct stat     stbuf;
+    struct stat     stbuf;
 
-       print_bar();
+    print_bar();
 
-       printf(" Total %9d file%c ",
-              list_files, (list_files == 1) ? ' ' : 's');
-       print_size(packed_size_total, original_size_total);
-       printf(" ");
+    printf(" Total %9d file%c ",
+           list_files, (list_files == 1) ? ' ' : 's');
+    print_size(packed_size_total, original_size_total);
+    printf(" ");
 
-       if (verbose_listing)
-               printf("           ");
+    if (verbose_listing)
+        printf("           ");
 
-       if (stat(archive_name, &stbuf) < 0)
-               print_stamp((time_t) 0);
-       else
-               print_stamp(stbuf.st_mtime);
+    if (stat(archive_name, &stbuf) < 0)
+        print_stamp((time_t) 0);
+    else
+        print_stamp(stbuf.st_mtime);
 
-       printf("\n");
+    printf("\n");
 }
 
 /* ------------------------------------------------------------------------ */
-/* LIST COMMAND MAIN                                                                                                           */
+/* LIST COMMAND MAIN                                                        */
 /* ------------------------------------------------------------------------ */
 void
 cmd_list()
 {
-       FILE           *afp;
-       LzHeader        hdr;
-       int             i;
+    FILE           *afp;
+    LzHeader        hdr;
+    int             i;
 
     unsigned long packed_size_total;
     unsigned long original_size_total;
     int list_files;
 
-       /* initialize total count */
-       packed_size_total = 0L;
-       original_size_total = 0L;
-       list_files = 0;
-
-       /* open archive file */
-       if ((afp = open_old_archive()) == NULL) {
-               error("Cannot open archive \"%s\"", archive_name);
-               exit(1);
-       }
-       if (archive_is_msdos_sfx1(archive_name))
-               skip_msdos_sfx1_code(afp);
-
-       /* print header message */
-       if (!quiet)
-               list_header();
-
-       /* print each file information */
-       while (get_header(afp, &hdr)) {
-               if (need_file(hdr.name)) {
-                       list_one(&hdr);
-                       list_files++;
-                       packed_size_total += hdr.packed_size;
-                       original_size_total += hdr.original_size;
-               }
-
-               if (afp != stdin)
-                       fseek(afp, hdr.packed_size, SEEK_CUR);
-               else {
-                       i = hdr.packed_size;
-                       while (i--)
-                               fgetc(afp);
-               }
-       }
-
-       /* close archive file */
-       fclose(afp);
-
-       /* print tailer message */
-       if (!quiet)
-               list_tailer(list_files, packed_size_total, original_size_total);
-
-       return;
-}
+    /* initialize total count */
+    packed_size_total = 0L;
+    original_size_total = 0L;
+    list_files = 0;
 
-/* Local Variables: */
-/* mode:c */
-/* tab-width:4 */
-/* compile-command:"gcc -c lhlist.c" */
-/* End: */
-/* vi: set tabstop=4: */
+    /* open archive file */
+    if ((afp = open_old_archive()) == NULL) {
+        error("Cannot open archive \"%s\"", archive_name);
+        exit(1);
+    }
+    if (archive_is_msdos_sfx1(archive_name))
+        skip_msdos_sfx1_code(afp);
+
+    /* print header message */
+    if (!quiet)
+        list_header();
+
+    /* print each file information */
+    while (get_header(afp, &hdr)) {
+        if (need_file(hdr.name)) {
+            list_one(&hdr);
+            list_files++;
+            packed_size_total += hdr.packed_size;
+            original_size_total += hdr.original_size;
+        }
+
+        if (afp != stdin)
+            fseek(afp, hdr.packed_size, SEEK_CUR);
+        else {
+            i = hdr.packed_size;
+            while (i--)
+                fgetc(afp);
+        }
+    }
+
+    /* close archive file */
+    fclose(afp);
+
+    /* print tailer message */
+    if (!quiet)
+        list_tailer(list_files, packed_size_total, original_size_total);
+
+    return;
+}
index 8939282..9286c5d 100644 (file)
@@ -1,99 +1,93 @@
 /* ------------------------------------------------------------------------ */
-/* LHa for UNIX                                                                                                                        */
-/*                             maketbl.c -- makes decoding table                                                       */
-/*                                                                                                                                                     */
-/*             Modified                        Nobutaka Watazaki                                                       */
-/*                                                                                                                                                     */
-/*     Ver. 1.14       Source All chagned                              1995.01.14      N.Watazaki              */
+/* LHa for UNIX                                                             */
+/*              maketbl.c -- makes decoding table                           */
+/*                                                                          */
+/*      Modified                Nobutaka Watazaki                           */
+/*                                                                          */
+/*  Ver. 1.14   Source All chagned              1995.01.14  N.Watazaki      */
 /* ------------------------------------------------------------------------ */
 #include "lha.h"
 
 void
 make_table(nchar, bitlen, tablebits, table)
-       short           nchar;
-       unsigned char   bitlen[];
-       short           tablebits;
-       unsigned short  table[];
+    short           nchar;
+    unsigned char   bitlen[];
+    short           tablebits;
+    unsigned short  table[];
 {
-       unsigned short  count[17];      /* count of bitlen */
-       unsigned short  weight[17];     /* 0x10000ul >> bitlen */
-       unsigned short  start[17];      /* first code of bitlen */
-       unsigned short  total;
-       unsigned int    i, l;
-       int             j, k, m, n, avail;
-       unsigned short *p;
+    unsigned short  count[17];  /* count of bitlen */
+    unsigned short  weight[17]; /* 0x10000ul >> bitlen */
+    unsigned short  start[17];  /* first code of bitlen */
+    unsigned short  total;
+    unsigned int    i, l;
+    int             j, k, m, n, avail;
+    unsigned short *p;
 
-       avail = nchar;
+    avail = nchar;
 
-       /* initialize */
-       for (i = 1; i <= 16; i++) {
-               count[i] = 0;
-               weight[i] = 1 << (16 - i);
-       }
+    /* initialize */
+    for (i = 1; i <= 16; i++) {
+        count[i] = 0;
+        weight[i] = 1 << (16 - i);
+    }
 
-       /* count */
-       for (i = 0; i < nchar; i++)
-               count[bitlen[i]]++;
+    /* count */
+    for (i = 0; i < nchar; i++)
+        count[bitlen[i]]++;
 
-       /* calculate first code */
-       total = 0;
-       for (i = 1; i <= 16; i++) {
-               start[i] = total;
-               total += weight[i] * count[i];
-       }
-       if ((total & 0xffff) != 0)
-               error("make_table(): Bad table (5)");
+    /* calculate first code */
+    total = 0;
+    for (i = 1; i <= 16; i++) {
+        start[i] = total;
+        total += weight[i] * count[i];
+    }
+    if ((total & 0xffff) != 0)
+        error("make_table(): Bad table (5)");
 
-       /* shift data for make table. */
-       m = 16 - tablebits;
-       for (i = 1; i <= tablebits; i++) {
-               start[i] >>= m;
-               weight[i] >>= m;
-       }
+    /* shift data for make table. */
+    m = 16 - tablebits;
+    for (i = 1; i <= tablebits; i++) {
+        start[i] >>= m;
+        weight[i] >>= m;
+    }
 
-       /* initialize */
-       j = start[tablebits + 1] >> m;
-       k = 1 << tablebits;
-       if (j != 0)
-               for (i = j; i < k; i++)
-                       table[i] = 0;
+    /* initialize */
+    j = start[tablebits + 1] >> m;
+    k = 1 << tablebits;
+    if (j != 0)
+        for (i = j; i < k; i++)
+            table[i] = 0;
 
-       /* create table and tree */
-       for (j = 0; j < nchar; j++) {
-               k = bitlen[j];
-               if (k == 0)
-                       continue;
-               l = start[k] + weight[k];
-               if (k <= tablebits) {
-                       /* code in table */
-                       for (i = start[k]; i < l; i++)
-                               table[i] = j;
-               }
-               else {
-                       /* code not in table */
-                       p = &table[(i = start[k]) >> m];
-                       i <<= tablebits;
-                       n = k - tablebits;
-                       /* make tree (n length) */
-                       while (--n >= 0) {
-                               if (*p == 0) {
-                                       right[avail] = left[avail] = 0;
-                                       *p = avail++;
-                               }
-                               if (i & 0x8000)
-                                       p = &right[*p];
-                               else
-                                       p = &left[*p];
-                               i <<= 1;
-                       }
-                       *p = j;
-               }
-               start[k] = l;
-       }
+    /* create table and tree */
+    for (j = 0; j < nchar; j++) {
+        k = bitlen[j];
+        if (k == 0)
+            continue;
+        l = start[k] + weight[k];
+        if (k <= tablebits) {
+            /* code in table */
+            for (i = start[k]; i < l; i++)
+                table[i] = j;
+        }
+        else {
+            /* code not in table */
+            p = &table[(i = start[k]) >> m];
+            i <<= tablebits;
+            n = k - tablebits;
+            /* make tree (n length) */
+            while (--n >= 0) {
+                if (*p == 0) {
+                    right[avail] = left[avail] = 0;
+                    *p = avail++;
+                }
+                if (i & 0x8000)
+                    p = &right[*p];
+                else
+                    p = &left[*p];
+                i <<= 1;
+            }
+            *p = j;
+        }
+        start[k] = l;
+    }
 }
-
-/* Local Variables: */
-/* mode:c */
-/* tab-width:4 */
-/* End: */
-/* vi: set tabstop=4: */
index ecf2c50..48b788d 100644 (file)
@@ -1,10 +1,10 @@
 /* ------------------------------------------------------------------------ */
-/* LHa for UNIX                                                                                                                        */
-/*                             maketree.c -- make Huffman tree                                                         */
-/*                                                                                                                                                     */
-/*             Modified                        Nobutaka Watazaki                                                       */
-/*                                                                                                                                                     */
-/*     Ver. 1.14       Source All chagned                              1995.01.14      N.Watazaki              */
+/* LHa for UNIX                                                             */
+/*              maketree.c -- make Huffman tree                             */
+/*                                                                          */
+/*      Modified                Nobutaka Watazaki                           */
+/*                                                                          */
+/*  Ver. 1.14   Source All chagned              1995.01.14  N.Watazaki      */
 /* ------------------------------------------------------------------------ */
 #include "lha.h"
 
@@ -16,161 +16,155 @@ static unsigned short len_cnt[17];
 /* ------------------------------------------------------------------------ */
 void
 make_code(n, len, code)
-       int             n;
-       unsigned char   len[];
-       unsigned short  code[];
+    int             n;
+    unsigned char   len[];
+    unsigned short  code[];
 {
-       unsigned short  weight[17];     /* 0x10000ul >> bitlen */
-       unsigned short  start[17];      /* start code */
-       unsigned short  j, k;
-       int             i;
+    unsigned short  weight[17]; /* 0x10000ul >> bitlen */
+    unsigned short  start[17];  /* start code */
+    unsigned short  j, k;
+    int             i;
 
-       j = 0;
-       k = 1 << (16 - 1);
-       for (i = 1; i <= 16; i++) {
-               start[i] = j;
-               j += (weight[i] = k) * len_cnt[i];
-               k >>= 1;
-       }
-       for (i = 0; i < n; i++) {
-               j = len[i];
-               code[i] = start[j];
-               start[j] += weight[j];
-       }
+    j = 0;
+    k = 1 << (16 - 1);
+    for (i = 1; i <= 16; i++) {
+        start[i] = j;
+        j += (weight[i] = k) * len_cnt[i];
+        k >>= 1;
+    }
+    for (i = 0; i < n; i++) {
+        j = len[i];
+        code[i] = start[j];
+        start[j] += weight[j];
+    }
 }
 
 /* ------------------------------------------------------------------------ */
 static void
-count_len(i)                   /* call with i = root */
-       int             i;
+count_len(i)            /* call with i = root */
+    int             i;
 {
-       static unsigned char depth = 0;
+    static unsigned char depth = 0;
 
-       if (i < n)
-               len_cnt[depth < 16 ? depth : 16]++;
-       else {
-               depth++;
-               count_len(left[i]);
-               count_len(right[i]);
-               depth--;
-       }
+    if (i < n)
+        len_cnt[depth < 16 ? depth : 16]++;
+    else {
+        depth++;
+        count_len(left[i]);
+        count_len(right[i]);
+        depth--;
+    }
 }
 
 /* ------------------------------------------------------------------------ */
 static void
 make_len(root)
-       int             root;
+    int             root;
 {
-       int             i, k;
-       unsigned int    cum;
+    int             i, k;
+    unsigned int    cum;
 
-       for (i = 0; i <= 16; i++)
-               len_cnt[i] = 0;
-       count_len(root);
-       cum = 0;
-       for (i = 16; i > 0; i--) {
-               cum += len_cnt[i] << (16 - i);
-       }
+    for (i = 0; i <= 16; i++)
+        len_cnt[i] = 0;
+    count_len(root);
+    cum = 0;
+    for (i = 16; i > 0; i--) {
+        cum += len_cnt[i] << (16 - i);
+    }
 #if (UINT_MAX != 0xffff)
-       cum &= 0xffff;
+    cum &= 0xffff;
 #endif
-       /* adjust len */
-       if (cum) {
-               fprintf(stderr, "17");
-               len_cnt[16] -= cum;     /* always len_cnt[16] > cum */
-               do {
-                       for (i = 15; i > 0; i--) {
-                               if (len_cnt[i]) {
-                                       len_cnt[i]--;
-                                       len_cnt[i + 1] += 2;
-                                       break;
-                               }
-                       }
-               } while (--cum);
-       }
-       /* make len */
-       for (i = 16; i > 0; i--) {
-               k = len_cnt[i];
-               while (k > 0) {
-                       len[*sort++] = i;
-                       k--;
-               }
-       }
+    /* adjust len */
+    if (cum) {
+        fprintf(stderr, "17");
+        len_cnt[16] -= cum; /* always len_cnt[16] > cum */
+        do {
+            for (i = 15; i > 0; i--) {
+                if (len_cnt[i]) {
+                    len_cnt[i]--;
+                    len_cnt[i + 1] += 2;
+                    break;
+                }
+            }
+        } while (--cum);
+    }
+    /* make len */
+    for (i = 16; i > 0; i--) {
+        k = len_cnt[i];
+        while (k > 0) {
+            len[*sort++] = i;
+            k--;
+        }
+    }
 }
 
 /* ------------------------------------------------------------------------ */
 static void
 downheap(i)
 /* priority queue; send i-th entry down heap */
-       int             i;
+    int             i;
 {
-       short           j, k;
+    short           j, k;
 
-       k = heap[i];
-       while ((j = 2 * i) <= heapsize) {
-               if (j < heapsize && freq[heap[j]] > freq[heap[j + 1]])
-                       j++;
-               if (freq[k] <= freq[heap[j]])
-                       break;
-               heap[i] = heap[j];
-               i = j;
-       }
-       heap[i] = k;
+    k = heap[i];
+    while ((j = 2 * i) <= heapsize) {
+        if (j < heapsize && freq[heap[j]] > freq[heap[j + 1]])
+            j++;
+        if (freq[k] <= freq[heap[j]])
+            break;
+        heap[i] = heap[j];
+        i = j;
+    }
+    heap[i] = k;
 }
 
 /* ------------------------------------------------------------------------ */
 short
 make_tree(nparm, freqparm, lenparm, codeparm)
 /* make tree, calculate len[], return root */
-       int             nparm;
-       unsigned short  freqparm[];
-       unsigned char   lenparm[];
-       unsigned short  codeparm[];
+    int             nparm;
+    unsigned short  freqparm[];
+    unsigned char   lenparm[];
+    unsigned short  codeparm[];
 {
-       short           i, j, k, avail;
+    short           i, j, k, avail;
 
-       n = nparm;
-       freq = freqparm;
-       len = lenparm;
-       avail = n;
-       heapsize = 0;
-       heap[1] = 0;
-       for (i = 0; i < n; i++) {
-               len[i] = 0;
-               if (freq[i])
-                       heap[++heapsize] = i;
-       }
-       if (heapsize < 2) {
-               codeparm[heap[1]] = 0;
-               return heap[1];
-       }
-       for (i = heapsize / 2; i >= 1; i--)
-               downheap(i);    /* make priority queue */
-       sort = codeparm;
-       do {                    /* while queue has at least two entries */
-               i = heap[1];    /* take out least-freq entry */
-               if (i < n)
-                       *sort++ = i;
-               heap[1] = heap[heapsize--];
-               downheap(1);
-               j = heap[1];    /* next least-freq entry */
-               if (j < n)
-                       *sort++ = j;
-               k = avail++;    /* generate new node */
-               freq[k] = freq[i] + freq[j];
-               heap[1] = k;
-               downheap(1);    /* put into queue */
-               left[k] = i;
-               right[k] = j;
-       } while (heapsize > 1);
-       sort = codeparm;
-       make_len(k);
-       make_code(nparm, lenparm, codeparm);
-       return k;               /* return root */
+    n = nparm;
+    freq = freqparm;
+    len = lenparm;
+    avail = n;
+    heapsize = 0;
+    heap[1] = 0;
+    for (i = 0; i < n; i++) {
+        len[i] = 0;
+        if (freq[i])
+            heap[++heapsize] = i;
+    }
+    if (heapsize < 2) {
+        codeparm[heap[1]] = 0;
+        return heap[1];
+    }
+    for (i = heapsize / 2; i >= 1; i--)
+        downheap(i);    /* make priority queue */
+    sort = codeparm;
+    do {            /* while queue has at least two entries */
+        i = heap[1];    /* take out least-freq entry */
+        if (i < n)
+            *sort++ = i;
+        heap[1] = heap[heapsize--];
+        downheap(1);
+        j = heap[1];    /* next least-freq entry */
+        if (j < n)
+            *sort++ = j;
+        k = avail++;    /* generate new node */
+        freq[k] = freq[i] + freq[j];
+        heap[1] = k;
+        downheap(1);    /* put into queue */
+        left[k] = i;
+        right[k] = j;
+    } while (heapsize > 1);
+    sort = codeparm;
+    make_len(k);
+    make_code(nparm, lenparm, codeparm);
+    return k;       /* return root */
 }
-
-/* Local Variables: */
-/* mode:c */
-/* tab-width:4 */
-/* End: */
-/* vi: set tabstop=4: */
index 8feacfa..6e8301a 100644 (file)
@@ -1,10 +1,10 @@
 /* ------------------------------------------------------------------------ */
-/* LHa for UNIX                                                                                                                        */
-/*                             patmatch.c -- path check                                                                        */
-/*                                                                                                                                                     */
-/*             Modified                        Nobutaka Watazaki                                                       */
-/*                                                                                                                                                     */
-/*     Ver. 1.14       Source All chagned                              1995.01.14      N.Watazaki              */
+/* LHa for UNIX                                                             */
+/*              patmatch.c -- path check                                    */
+/*                                                                          */
+/*      Modified                Nobutaka Watazaki                           */
+/*                                                                          */
+/*  Ver. 1.14   Source All chagned              1995.01.14  N.Watazaki      */
 /* ------------------------------------------------------------------------ */
 
 #include <stdio.h>
  */
 int
 patmatch(p, s, f)
-       register char  *p;      /* pattern */
-       register char  *s;      /* string to match */
-       int             f;      /* flag for case force */
+    register char  *p;  /* pattern */
+    register char  *s;  /* string to match */
+    int             f;  /* flag for case force */
 {
-       char            pc;     /* a single character from pattern */
+    char            pc; /* a single character from pattern */
 
-       while (pc = ((f && islower(*p)) ? toupper(*p++) : *p++)) {
-               if (pc == '*') {
-                       do {    /* look for match till s exhausted */
-                               if (patmatch(p, s, f))
-                                       return (1);
-                       } while (*s++);
-                       return (0);
-               }
-               else if (*s == 0)
-                       return (0);     /* s exhausted, p not */
-               else if (pc == '?')
-                       s++;    /* matches all, just bump */
-               else if (pc != ((f && islower(*s)) ? toupper(*s++) : *s++))
-                       return (0);
-       }
-       return (!*s);           /* p exhausted, ret true if s exhausted */
+    while (pc = ((f && islower(*p)) ? toupper(*p++) : *p++)) {
+        if (pc == '*') {
+            do {    /* look for match till s exhausted */
+                if (patmatch(p, s, f))
+                    return (1);
+            } while (*s++);
+            return (0);
+        }
+        else if (*s == 0)
+            return (0); /* s exhausted, p not */
+        else if (pc == '?')
+            s++;    /* matches all, just bump */
+        else if (pc != ((f && islower(*s)) ? toupper(*s++) : *s++))
+            return (0);
+    }
+    return (!*s);       /* p exhausted, ret true if s exhausted */
 }
-
-/* Local Variables: */
-/* tab-width : 4 */
-/* End: */
-/* vi: set tabstop=4: */
index eb529c0..90585f1 100644 (file)
@@ -1,10 +1,10 @@
 /* ------------------------------------------------------------------------ */
-/* LHa for UNIX                                                                                                                        */
-/*                             shuf.c -- extract static Huffman coding                                         */
-/*                                                                                                                                                     */
-/*             Modified                        Nobutaka Watazaki                                                       */
-/*                                                                                                                                                     */
-/*     Ver. 1.14       Source All chagned                              1995.01.14      N.Watazaki              */
+/* LHa for UNIX                                                             */
+/*              shuf.c -- extract static Huffman coding                     */
+/*                                                                          */
+/*      Modified                Nobutaka Watazaki                           */
+/*                                                                          */
+/*  Ver. 1.14   Source All chagned              1995.01.14  N.Watazaki      */
 /* ------------------------------------------------------------------------ */
 #include "lha.h"
 
 #undef NP
 #undef NP2
 
-#define NP                     (8 * 1024 / 64)
-#define NP2                    (NP * 2 - 1)
+#define NP          (8 * 1024 / 64)
+#define NP2         (NP * 2 - 1)
 /* ------------------------------------------------------------------------ */
 static unsigned int np;
 int             fixed[2][16] = {
-       {3, 0x01, 0x04, 0x0c, 0x18, 0x30, 0},   /* old compatible */
-       {2, 0x01, 0x01, 0x03, 0x06, 0x0D, 0x1F, 0x4E, 0}        /* 8K buf */
+    {3, 0x01, 0x04, 0x0c, 0x18, 0x30, 0},   /* old compatible */
+    {2, 0x01, 0x01, 0x03, 0x06, 0x0D, 0x1F, 0x4E, 0}    /* 8K buf */
 };
 /* ------------------------------------------------------------------------ */
 /* lh3 */
 void
 decode_start_st0( /*void*/ )
 {
-       n_max = 286;
-       maxmatch = MAXMATCH;
-       init_getbits();
+    n_max = 286;
+    maxmatch = MAXMATCH;
+    init_getbits();
     init_code_cache();
 #ifdef SUPPORT_LH7
-       np = 1 << (MAX_DICBIT - 7);
+    np = 1 << (MAX_DICBIT - 7);
 #endif
 #ifndef SUPPORT_LH7
-       np = 1 << (MAX_DICBIT - 6);
+    np = 1 << (MAX_DICBIT - 6);
 #endif
 
 }
@@ -41,38 +41,38 @@ decode_start_st0( /*void*/ )
 /* ------------------------------------------------------------------------ */
 void
 encode_p_st0(j)
-       unsigned short  j;
+    unsigned short  j;
 {
-       unsigned short  i;
+    unsigned short  i;
 
-       i = j >> 6;
-       putcode(pt_len[i], pt_code[i]);
-       putbits(6, j & 0x3f);
+    i = j >> 6;
+    putcode(pt_len[i], pt_code[i]);
+    putbits(6, j & 0x3f);
 }
 
 /* ------------------------------------------------------------------------ */
 static void
 ready_made(method)
-       int             method;
+    int             method;
 {
-       int             i, j;
-       unsigned int    code, weight;
-       int            *tbl;
-
-       tbl = fixed[method];
-       j = *tbl++;
-       weight = 1 << (16 - j);
-       code = 0;
-       for (i = 0; i < np; i++) {
-               while (*tbl == i) {
-                       j++;
-                       tbl++;
-                       weight >>= 1;
-               }
-               pt_len[i] = j;
-               pt_code[i] = code;
-               code += weight;
-       }
+    int             i, j;
+    unsigned int    code, weight;
+    int            *tbl;
+
+    tbl = fixed[method];
+    j = *tbl++;
+    weight = 1 << (16 - j);
+    code = 0;
+    for (i = 0; i < np; i++) {
+        while (*tbl == i) {
+            j++;
+            tbl++;
+            weight >>= 1;
+        }
+        pt_len[i] = j;
+        pt_code[i] = code;
+        code += weight;
+    }
 }
 
 /* ------------------------------------------------------------------------ */
@@ -80,57 +80,57 @@ ready_made(method)
 void
 encode_start_fix( /*void*/ )
 {
-       n_max = 314;
-       maxmatch = 60;
-       np = 1 << (12 - 6);
-       init_putbits();
+    n_max = 314;
+    maxmatch = 60;
+    np = 1 << (12 - 6);
+    init_putbits();
     init_code_cache();
-       start_c_dyn();
-       ready_made(0);
+    start_c_dyn();
+    ready_made(0);
 }
 
 /* ------------------------------------------------------------------------ */
 static void
 read_tree_c( /*void*/ )
-{                              /* read tree from file */
-       int             i, c;
-
-       i = 0;
-       while (i < N1) {
-               if (getbits(1))
-                       c_len[i] = getbits(LENFIELD) + 1;
-               else
-                       c_len[i] = 0;
-               if (++i == 3 && c_len[0] == 1 && c_len[1] == 1 && c_len[2] == 1) {
-                       c = getbits(CBIT);
-                       for (i = 0; i < N1; i++)
-                               c_len[i] = 0;
-                       for (i = 0; i < 4096; i++)
-                               c_table[i] = c;
-                       return;
-               }
-       }
-       make_table(N1, c_len, 12, c_table);
+{               /* read tree from file */
+    int             i, c;
+
+    i = 0;
+    while (i < N1) {
+        if (getbits(1))
+            c_len[i] = getbits(LENFIELD) + 1;
+        else
+            c_len[i] = 0;
+        if (++i == 3 && c_len[0] == 1 && c_len[1] == 1 && c_len[2] == 1) {
+            c = getbits(CBIT);
+            for (i = 0; i < N1; i++)
+                c_len[i] = 0;
+            for (i = 0; i < 4096; i++)
+                c_table[i] = c;
+            return;
+        }
+    }
+    make_table(N1, c_len, 12, c_table);
 }
 
 /* ------------------------------------------------------------------------ */
 static void
 read_tree_p(/*void*/)
-{                              /* read tree from file */
-       int             i, c;
-
-       i = 0;
-       while (i < NP) {
-               pt_len[i] = getbits(LENFIELD);
-               if (++i == 3 && pt_len[0] == 1 && pt_len[1] == 1 && pt_len[2] == 1) {
-                       c = getbits(LZHUFF3_DICBIT - 6);
-                       for (i = 0; i < NP; i++)
-                               pt_len[i] = 0;
-                       for (i = 0; i < 256; i++)
-                               pt_table[i] = c;
-                       return;
-               }
-       }
+{               /* read tree from file */
+    int             i, c;
+
+    i = 0;
+    while (i < NP) {
+        pt_len[i] = getbits(LENFIELD);
+        if (++i == 3 && pt_len[0] == 1 && pt_len[1] == 1 && pt_len[2] == 1) {
+            c = getbits(LZHUFF3_DICBIT - 6);
+            for (i = 0; i < NP; i++)
+                pt_len[i] = 0;
+            for (i = 0; i < 256; i++)
+                pt_table[i] = c;
+            return;
+        }
+    }
 }
 
 /* ------------------------------------------------------------------------ */
@@ -138,14 +138,14 @@ read_tree_p(/*void*/)
 void
 decode_start_fix(/*void*/)
 {
-       n_max = 314;
-       maxmatch = 60;
-       init_getbits();
+    n_max = 314;
+    maxmatch = 60;
+    init_getbits();
     init_code_cache();
-       np = 1 << (LZHUFF1_DICBIT - 6);
-       start_c_dyn();
-       ready_made(0);
-       make_table(np, pt_len, 8, pt_table);
+    np = 1 << (LZHUFF1_DICBIT - 6);
+    start_c_dyn();
+    ready_made(0);
+    make_table(np, pt_len, 8, pt_table);
 }
 
 /* ------------------------------------------------------------------------ */
@@ -153,39 +153,39 @@ decode_start_fix(/*void*/)
 unsigned short
 decode_c_st0(/*void*/)
 {
-       int             i, j;
-       static unsigned short blocksize = 0;
-
-       if (blocksize == 0) {   /* read block head */
-               blocksize = getbits(BUFBITS);   /* read block blocksize */
-               read_tree_c();
-               if (getbits(1)) {
-                       read_tree_p();
-               }
-               else {
-                       ready_made(1);
-               }
-               make_table(NP, pt_len, 8, pt_table);
-       }
-       blocksize--;
-       j = c_table[bitbuf >> 4];
-       if (j < N1)
-               fillbuf(c_len[j]);
-       else {
-               fillbuf(12);
-               i = bitbuf;
-               do {
-                       if ((short) i < 0)
-                               j = right[j];
-                       else
-                               j = left[j];
-                       i <<= 1;
-               } while (j >= N1);
-               fillbuf(c_len[j] - 12);
-       }
-       if (j == N1 - 1)
-               j += getbits(EXTRABITS);
-       return j;
+    int             i, j;
+    static unsigned short blocksize = 0;
+
+    if (blocksize == 0) {   /* read block head */
+        blocksize = getbits(BUFBITS);   /* read block blocksize */
+        read_tree_c();
+        if (getbits(1)) {
+            read_tree_p();
+        }
+        else {
+            ready_made(1);
+        }
+        make_table(NP, pt_len, 8, pt_table);
+    }
+    blocksize--;
+    j = c_table[bitbuf >> 4];
+    if (j < N1)
+        fillbuf(c_len[j]);
+    else {
+        fillbuf(12);
+        i = bitbuf;
+        do {
+            if ((short) i < 0)
+                j = right[j];
+            else
+                j = left[j];
+            i <<= 1;
+        } while (j >= N1);
+        fillbuf(c_len[j] - 12);
+    }
+    if (j == N1 - 1)
+        j += getbits(EXTRABITS);
+    return j;
 }
 
 /* ------------------------------------------------------------------------ */
@@ -193,29 +193,23 @@ decode_c_st0(/*void*/)
 unsigned short
 decode_p_st0(/*void*/)
 {
-       int             i, j;
-
-       j = pt_table[bitbuf >> 8];
-       if (j < np) {
-               fillbuf(pt_len[j]);
-       }
-       else {
-               fillbuf(8);
-               i = bitbuf;
-               do {
-                       if ((short) i < 0)
-                               j = right[j];
-                       else
-                               j = left[j];
-                       i <<= 1;
-               } while (j >= np);
-               fillbuf(pt_len[j] - 8);
-       }
-       return (j << 6) + getbits(6);
+    int             i, j;
+
+    j = pt_table[bitbuf >> 8];
+    if (j < np) {
+        fillbuf(pt_len[j]);
+    }
+    else {
+        fillbuf(8);
+        i = bitbuf;
+        do {
+            if ((short) i < 0)
+                j = right[j];
+            else
+                j = left[j];
+            i <<= 1;
+        } while (j >= np);
+        fillbuf(pt_len[j] - 8);
+    }
+    return (j << 6) + getbits(6);
 }
-
-/* Local Variables: */
-/* mode:c */
-/* tab-width:4 */
-/* End: */
-/* vi: set tabstop=4: */
index e1664e5..71b4751 100644 (file)
@@ -1,10 +1,10 @@
 /* ------------------------------------------------------------------------ */
-/* LHa for UNIX                                                                                                                        */
-/*                             slice.c -- sliding dictionary with percolating update           */
-/*                                                                                                                                                     */
-/*             Modified                        Nobutaka Watazaki                                                       */
-/*                                                                                                                                                     */
-/*     Ver. 1.14d      Exchanging a search algorithm  1997.01.11    T.Okamoto      */
+/* LHa for UNIX                                                             */
+/*              slice.c -- sliding dictionary with percolating update       */
+/*                                                                          */
+/*      Modified                Nobutaka Watazaki                           */
+/*                                                                          */
+/*  Ver. 1.14d  Exchanging a search algorithm  1997.01.11    T.Okamoto      */
 /* ------------------------------------------------------------------------ */
 
 #if 0
@@ -34,45 +34,45 @@ unsigned char *too_flag;
 
 static struct encode_option encode_define[2] = {
 #if defined(__STDC__) || defined(AIX)
-       /* lh1 */
-       {(void (*) ()) output_dyn,
-               (void (*) ()) encode_start_fix,
-       (void (*) ()) encode_end_dyn},
-       /* lh4, 5,6 */
-       {(void (*) ()) output_st1,
-               (void (*) ()) encode_start_st1,
-       (void (*) ()) encode_end_st1}
+    /* lh1 */
+    {(void (*) ()) output_dyn,
+        (void (*) ()) encode_start_fix,
+    (void (*) ()) encode_end_dyn},
+    /* lh4, 5,6 */
+    {(void (*) ()) output_st1,
+        (void (*) ()) encode_start_st1,
+    (void (*) ()) encode_end_st1}
 #else
-       /* lh1 */
-       {(int (*) ()) output_dyn,
-               (int (*) ()) encode_start_fix,
-       (int (*) ()) encode_end_dyn},
-       /* lh4, 5,6 */
-       {(int (*) ()) output_st1,
-               (int (*) ()) encode_start_st1,
-       (int (*) ()) encode_end_st1}
+    /* lh1 */
+    {(int (*) ()) output_dyn,
+        (int (*) ()) encode_start_fix,
+    (int (*) ()) encode_end_dyn},
+    /* lh4, 5,6 */
+    {(int (*) ()) output_st1,
+        (int (*) ()) encode_start_st1,
+    (int (*) ()) encode_end_st1}
 #endif
 };
 
 static struct decode_option decode_define[] = {
-       /* lh1 */
-       {decode_c_dyn, decode_p_st0, decode_start_fix},
-       /* lh2 */
-       {decode_c_dyn, decode_p_dyn, decode_start_dyn},
-       /* lh3 */
-       {decode_c_st0, decode_p_st0, decode_start_st0},
-       /* lh4 */
-       {decode_c_st1, decode_p_st1, decode_start_st1},
-       /* lh5 */
-       {decode_c_st1, decode_p_st1, decode_start_st1},
-       /* lh6 */
-       {decode_c_st1, decode_p_st1, decode_start_st1},
-       /* lh7 */
-       {decode_c_st1, decode_p_st1, decode_start_st1},
-       /* lzs */
-       {decode_c_lzs, decode_p_lzs, decode_start_lzs},
-       /* lz5 */
-       {decode_c_lz5, decode_p_lz5, decode_start_lz5}
+    /* lh1 */
+    {decode_c_dyn, decode_p_st0, decode_start_fix},
+    /* lh2 */
+    {decode_c_dyn, decode_p_dyn, decode_start_dyn},
+    /* lh3 */
+    {decode_c_st0, decode_p_st0, decode_start_st0},
+    /* lh4 */
+    {decode_c_st1, decode_p_st1, decode_start_st1},
+    /* lh5 */
+    {decode_c_st1, decode_p_st1, decode_start_st1},
+    /* lh6 */
+    {decode_c_st1, decode_p_st1, decode_start_st1},
+    /* lh7 */
+    {decode_c_st1, decode_p_st1, decode_start_st1},
+    /* lzs */
+    {decode_c_lzs, decode_p_lzs, decode_start_lzs},
+    /* lz5 */
+    {decode_c_lz5, decode_p_lz5, decode_start_lz5}
 };
 
 static struct encode_option encode_set;
@@ -81,7 +81,7 @@ static struct decode_option decode_set;
 #define TXTSIZ (MAX_DICSIZ * 2L + MAXMATCH)
 #define HSHSIZ (((unsigned long)1) <<15)
 #define NIL 0
-#define LIMIT 0x100    /* chain Ä¹¤Î limit */
+#define LIMIT 0x100 /* chain Ä¹¤Î limit */
 
 static unsigned int txtsiz;
 
@@ -97,7 +97,7 @@ static unsigned int remainder;
 /* ------------------------------------------------------------------------ */
 int
 encode_alloc(method)
-       int             method;
+    int             method;
 {
     switch (method) {
     case LZHUFF1_METHOD_NUM:
@@ -124,19 +124,19 @@ encode_alloc(method)
         assert(0);
     }
 
-       dicsiz = (((unsigned long)1) << dicbit);
-       txtsiz = dicsiz*2+maxmatch;
+    dicsiz = (((unsigned long)1) << dicbit);
+    txtsiz = dicsiz*2+maxmatch;
 
-       if (hash) return method;
+    if (hash) return method;
 
-       alloc_buf();
+    alloc_buf();
 
-       hash = (unsigned int*)xmalloc(HSHSIZ * sizeof(unsigned int));
-       prev = (unsigned int*)xmalloc(MAX_DICSIZ * sizeof(unsigned int));
-       text = (unsigned char*)xmalloc(TXTSIZ);
-       too_flag = (unsigned char*)xmalloc(HSHSIZ);
+    hash = (unsigned int*)xmalloc(HSHSIZ * sizeof(unsigned int));
+    prev = (unsigned int*)xmalloc(MAX_DICSIZ * sizeof(unsigned int));
+    text = (unsigned char*)xmalloc(TXTSIZ);
+    too_flag = (unsigned char*)xmalloc(HSHSIZ);
 
-       return method;
+    return method;
 }
 
 /* ------------------------------------------------------------------------ */
@@ -144,17 +144,17 @@ encode_alloc(method)
 
 static void init_slide()
 {
-       unsigned int i;
-
-       for (i = 0; i < HSHSIZ; i++) {
-               hash[i] = NIL;
-               too_flag[i] = 0;
-       }
-       /*
-       for (i = 0; i < DICSIZ; i++) {
-           prev[i] = NIL;
-       }
-       */
+    unsigned int i;
+
+    for (i = 0; i < HSHSIZ; i++) {
+        hash[i] = NIL;
+        too_flag[i] = 0;
+    }
+    /*
+    for (i = 0; i < DICSIZ; i++) {
+        prev[i] = NIL;
+    }
+    */
 }
 
 /* ¼­½ñ¤ò DICSIZ Ê¬ Á°¤Ë¤º¤é¤¹ */
@@ -163,8 +163,8 @@ static unsigned int
 update(crc)
     unsigned int crc;
 {
-       unsigned int i, j;
-       long n;
+    unsigned int i, j;
+    long n;
 
     assert(dicsiz > 0);
     assert(txtsiz - dicsiz > 0);
@@ -172,19 +172,19 @@ update(crc)
 
     n = fread_crc(&crc, &text[txtsiz - dicsiz], dicsiz, infile);
 
-       remainder += n;
-       encoded_origsize += n;      /* total size of read bytes */
+    remainder += n;
+    encoded_origsize += n;      /* total size of read bytes */
 
-       pos -= dicsiz;
-       for (i = 0; i < HSHSIZ; i++) {
-               j = hash[i];
-               hash[i] = (j > dicsiz) ? j - dicsiz : NIL;
-               too_flag[i] = 0;
-       }
-       for (i = 0; i < dicsiz; i++) {
-               j = prev[i];
-               prev[i] = (j > dicsiz) ? j - dicsiz : NIL;
-       }
+    pos -= dicsiz;
+    for (i = 0; i < HSHSIZ; i++) {
+        j = hash[i];
+        hash[i] = (j > dicsiz) ? j - dicsiz : NIL;
+        too_flag[i] = 0;
+    }
+    for (i = 0; i < dicsiz; i++) {
+        j = prev[i];
+        prev[i] = (j > dicsiz) ? j - dicsiz : NIL;
+    }
 
     return crc;
 }
@@ -194,8 +194,8 @@ update(crc)
 
 static void insert()
 {
-       prev[pos & (dicsiz - 1)] = hash[hval];
-       hash[hval] = pos;
+    prev[pos & (dicsiz - 1)] = hash[hval];
+    hash[hval] = pos;
 }
 
 
@@ -203,61 +203,61 @@ static void insert()
 
 static void match_insert()
 {
-       unsigned int scan_pos, scan_end, len;
-       unsigned char *a, *b;
-       unsigned int chain, off, h, max;
-
-       max = maxmatch; /* MAXMATCH; */
-       if (matchlen < THRESHOLD - 1) matchlen = THRESHOLD - 1;
-       matchpos = pos;
-
-       off = 0;
-       for (h = hval; too_flag[h] && off < maxmatch - THRESHOLD; ) {
-               h = ((h << 5) ^ text[pos + (++off) + 2]) & (unsigned)(HSHSIZ - 1);
-       }
-       if (off == maxmatch - THRESHOLD) off = 0;
-       for (;;) {
-               chain = 0;
-               scan_pos = hash[h];
-               scan_end = (pos > dicsiz) ? pos + off - dicsiz : off;
-               while (scan_pos > scan_end) {
-                       chain++;
-
-                       if (text[scan_pos + matchlen - off] == text[pos + matchlen]) {
-                               {
-                                       a = text + scan_pos - off;  b = text + pos;
-                                       for (len = 0; len < max && *a++ == *b++; len++);
-                               }
-
-                               if (len > matchlen) {
-                                       matchpos = scan_pos - off;
-                                       if ((matchlen = len) == max) {
-                                               break;
-                                       }
+    unsigned int scan_pos, scan_end, len;
+    unsigned char *a, *b;
+    unsigned int chain, off, h, max;
+
+    max = maxmatch; /* MAXMATCH; */
+    if (matchlen < THRESHOLD - 1) matchlen = THRESHOLD - 1;
+    matchpos = pos;
+
+    off = 0;
+    for (h = hval; too_flag[h] && off < maxmatch - THRESHOLD; ) {
+        h = ((h << 5) ^ text[pos + (++off) + 2]) & (unsigned)(HSHSIZ - 1);
+    }
+    if (off == maxmatch - THRESHOLD) off = 0;
+    for (;;) {
+        chain = 0;
+        scan_pos = hash[h];
+        scan_end = (pos > dicsiz) ? pos + off - dicsiz : off;
+        while (scan_pos > scan_end) {
+            chain++;
+
+            if (text[scan_pos + matchlen - off] == text[pos + matchlen]) {
+                {
+                    a = text + scan_pos - off;  b = text + pos;
+                    for (len = 0; len < max && *a++ == *b++; len++);
+                }
+
+                if (len > matchlen) {
+                    matchpos = scan_pos - off;
+                    if ((matchlen = len) == max) {
+                        break;
+                    }
 #ifdef DEBUG
-                                       if (noslide) {
-                                         if (matchpos < dicsiz) {
-                                               printf("matchpos=%u scan_pos=%u dicsiz=%u\n"
-                                                          ,matchpos, scan_pos, dicsiz);
-                                         }
-                                       }
+                    if (noslide) {
+                      if (matchpos < dicsiz) {
+                        printf("matchpos=%u scan_pos=%u dicsiz=%u\n"
+                               ,matchpos, scan_pos, dicsiz);
+                      }
+                    }
 #endif
-                               }
-                       }
-                       scan_pos = prev[scan_pos & (dicsiz - 1)];
-               }
-
-               if (chain >= LIMIT)
-                       too_flag[h] = 1;
-
-               if (matchlen > off + 2 || off == 0)
-                       break;
-               max = off + 2;
-               off = 0;
-               h = hval;
-       }
-       prev[pos & (dicsiz - 1)] = hash[hval];
-       hash[hval] = pos;
+                }
+            }
+            scan_pos = prev[scan_pos & (dicsiz - 1)];
+        }
+
+        if (chain >= LIMIT)
+            too_flag[h] = 1;
+
+        if (matchlen > off + 2 || off == 0)
+            break;
+        max = off + 2;
+        off = 0;
+        h = hval;
+    }
+    prev[pos & (dicsiz - 1)] = hash[hval];
+    hash[hval] = pos;
 }
 
 
@@ -267,14 +267,14 @@ static unsigned int
 get_next(crc)
     unsigned int crc;
 {
-       remainder--;
-       if (++pos >= txtsiz - maxmatch) {
-               crc = update(crc);
+    remainder--;
+    if (++pos >= txtsiz - maxmatch) {
+        crc = update(crc);
 #ifdef DEBUG
-               noslide = 0;
+        noslide = 0;
 #endif
-       }
-       hval = ((hval << 5) ^ text[pos + 2]) & (unsigned)(HSHSIZ - 1);
+    }
+    hval = ((hval << 5) ^ text[pos + 2]) & (unsigned)(HSHSIZ - 1);
 
     return crc;
 }
@@ -283,88 +283,88 @@ unsigned int
 encode(interface)
     struct interfacing *interface;
 {
-       int lastmatchlen;
-       unsigned int lastmatchoffset;
+    int lastmatchlen;
+    unsigned int lastmatchoffset;
     unsigned int crc;
 
 #ifdef DEBUG
-       unsigned int addr;
+    unsigned int addr;
 
-       addr = 0;
+    addr = 0;
 
-       fout = fopen("en", "wt");
-       if (fout == NULL) exit(1);
+    fout = fopen("en", "wt");
+    if (fout == NULL) exit(1);
 #endif
-       infile = interface->infile;
-       outfile = interface->outfile;
-       origsize = interface->original;
-       compsize = count = 0L;
-       unpackable = 0;
+    infile = interface->infile;
+    outfile = interface->outfile;
+    origsize = interface->original;
+    compsize = count = 0L;
+    unpackable = 0;
 
     INITIALIZE_CRC(crc);
 
-       /* encode_alloc(); */ /* allocate_memory(); */
-       init_slide();  
+    /* encode_alloc(); */ /* allocate_memory(); */
+    init_slide();  
 
-       encode_set.encode_start();
+    encode_set.encode_start();
     memset(&text[0], ' ', TXTSIZ);
 
-       remainder = fread_crc(&crc, &text[dicsiz], txtsiz-dicsiz, infile);
-       encoded_origsize = remainder;
-       matchlen = THRESHOLD - 1;
+    remainder = fread_crc(&crc, &text[dicsiz], txtsiz-dicsiz, infile);
+    encoded_origsize = remainder;
+    matchlen = THRESHOLD - 1;
 
-       pos = dicsiz;
+    pos = dicsiz;
 
-       if (matchlen > remainder) matchlen = remainder;
-       hval = ((((text[dicsiz] << 5) ^ text[dicsiz + 1]) << 5) 
-               ^ text[dicsiz + 2]) & (unsigned)(HSHSIZ - 1);
+    if (matchlen > remainder) matchlen = remainder;
+    hval = ((((text[dicsiz] << 5) ^ text[dicsiz + 1]) << 5) 
+            ^ text[dicsiz + 2]) & (unsigned)(HSHSIZ - 1);
 
-       insert();
-       while (remainder > 0 && ! unpackable) {
-               lastmatchlen = matchlen;  lastmatchoffset = pos - matchpos - 1;
-               --matchlen;
-               crc = get_next(crc);  match_insert();
-               if (matchlen > remainder) matchlen = remainder;
-               if (matchlen > lastmatchlen || lastmatchlen < THRESHOLD) {
-                       encode_set.output(text[pos - 1], 0);
+    insert();
+    while (remainder > 0 && ! unpackable) {
+        lastmatchlen = matchlen;  lastmatchoffset = pos - matchpos - 1;
+        --matchlen;
+        crc = get_next(crc);  match_insert();
+        if (matchlen > remainder) matchlen = remainder;
+        if (matchlen > lastmatchlen || lastmatchlen < THRESHOLD) {
+            encode_set.output(text[pos - 1], 0);
 #ifdef DEBUG
-                       fprintf(fout, "%u C %02X\n", addr, text[pos-1]);
-                       addr++;
+            fprintf(fout, "%u C %02X\n", addr, text[pos-1]);
+            addr++;
 #endif
-                       count++;
-               } else {
-                       encode_set.output(lastmatchlen + (UCHAR_MAX + 1 - THRESHOLD),
-                          (lastmatchoffset) & (dicsiz-1) );
-                       --lastmatchlen;
+            count++;
+        } else {
+            encode_set.output(lastmatchlen + (UCHAR_MAX + 1 - THRESHOLD),
+               (lastmatchoffset) & (dicsiz-1) );
+            --lastmatchlen;
 
 #ifdef DEBUG
-                       fprintf(fout, "%u M %u %u ", addr,
-                                       lastmatchoffset & (dicsiz-1), lastmatchlen+1);
-                       addr += lastmatchlen +1 ;
+            fprintf(fout, "%u M %u %u ", addr,
+                    lastmatchoffset & (dicsiz-1), lastmatchlen+1);
+            addr += lastmatchlen +1 ;
 
-                       {
+            {
                 int t,cc;
                 for (t=0; t<lastmatchlen+1; t++) {
                     cc = text[pos - lastmatchoffset - 2 + t];
                     fprintf(fout, "%02X ", cc);
                 }
                 fprintf(fout, "\n");
-                       }
+            }
 #endif
-                       while (--lastmatchlen > 0) {
-                               crc = get_next(crc);  insert();
-                               count++;
-                       }
-                       crc = get_next(crc);
-                       matchlen = THRESHOLD - 1;
-                       match_insert();
-                       if (matchlen > remainder) matchlen = remainder;
-               }
-       }
-       encode_set.encode_end();
-
-       interface->packed = compsize;
-       interface->original = encoded_origsize;
+            while (--lastmatchlen > 0) {
+                crc = get_next(crc);  insert();
+                count++;
+            }
+            crc = get_next(crc);
+            matchlen = THRESHOLD - 1;
+            match_insert();
+            if (matchlen > remainder) matchlen = remainder;
+        }
+    }
+    encode_set.encode_end();
+
+    interface->packed = compsize;
+    interface->original = encoded_origsize;
 
     return crc;
 }
@@ -372,82 +372,76 @@ encode(interface)
 /* ------------------------------------------------------------------------ */
 unsigned int
 decode(interface)
-       struct interfacing *interface;
+    struct interfacing *interface;
 {
-       unsigned int i, j, k, c;
-       unsigned int dicsiz1, offset;
-       unsigned char *dtext;
-       unsigned int crc;
+    unsigned int i, j, k, c;
+    unsigned int dicsiz1, offset;
+    unsigned char *dtext;
+    unsigned int crc;
 
 #ifdef DEBUG
-       fout = fopen("de", "wt");
-       if (fout == NULL) exit(1);
+    fout = fopen("de", "wt");
+    if (fout == NULL) exit(1);
 #endif
 
-       infile = interface->infile;
-       outfile = interface->outfile;
-       dicbit = interface->dicbit;
-       origsize = interface->original;
-       compsize = interface->packed;
-       decode_set = decode_define[interface->method - 1];
-
-       INITIALIZE_CRC(crc);
-       prev_char = -1;
-       dicsiz = 1L << dicbit;
-       dtext = (unsigned char *)xmalloc(dicsiz);
-       for (i=0; i<dicsiz; i++) dtext[i] = 0x20;
-       decode_set.decode_start();
-       dicsiz1 = dicsiz - 1;
-       offset = (interface->method == LARC_METHOD_NUM) ? 0x100 - 2 : 0x100 - 3;
-       count = 0;
-       loc = 0;
-       while (count < origsize) {
-               c = decode_set.decode_c();
-               if (c <= UCHAR_MAX) {
+    infile = interface->infile;
+    outfile = interface->outfile;
+    dicbit = interface->dicbit;
+    origsize = interface->original;
+    compsize = interface->packed;
+    decode_set = decode_define[interface->method - 1];
+
+    INITIALIZE_CRC(crc);
+    prev_char = -1;
+    dicsiz = 1L << dicbit;
+    dtext = (unsigned char *)xmalloc(dicsiz);
+    for (i=0; i<dicsiz; i++) dtext[i] = 0x20;
+    decode_set.decode_start();
+    dicsiz1 = dicsiz - 1;
+    offset = (interface->method == LARC_METHOD_NUM) ? 0x100 - 2 : 0x100 - 3;
+    count = 0;
+    loc = 0;
+    while (count < origsize) {
+        c = decode_set.decode_c();
+        if (c <= UCHAR_MAX) {
 #ifdef DEBUG
-                 fprintf(fout, "%u C %02X\n", count, c);
+          fprintf(fout, "%u C %02X\n", count, c);
 #endif
-                       dtext[loc++] = c;
-                       if (loc == dicsiz) {
-                               fwrite_crc(&crc, dtext, dicsiz, outfile);
-                               loc = 0;
-                       }
-                       count++;
-               }
-               else {
-                       j = c - offset;
-                       i = (loc - decode_set.decode_p() - 1) & dicsiz1;
+            dtext[loc++] = c;
+            if (loc == dicsiz) {
+                fwrite_crc(&crc, dtext, dicsiz, outfile);
+                loc = 0;
+            }
+            count++;
+        }
+        else {
+            j = c - offset;
+            i = (loc - decode_set.decode_p() - 1) & dicsiz1;
 #ifdef DEBUG
-                       fprintf(fout, "%u M %u %u ", count, (loc-1-i) & dicsiz1, j);
+            fprintf(fout, "%u M %u %u ", count, (loc-1-i) & dicsiz1, j);
 #endif
-                       count += j;
-                       for (k = 0; k < j; k++) {
-                               c = dtext[(i + k) & dicsiz1];
+            count += j;
+            for (k = 0; k < j; k++) {
+                c = dtext[(i + k) & dicsiz1];
 
 #ifdef DEBUG
-                               fprintf(fout, "%02X ", c & 0xff);
+                fprintf(fout, "%02X ", c & 0xff);
 #endif
-                               dtext[loc++] = c;
-                               if (loc == dicsiz) {
-                                       fwrite_crc(&crc, dtext, dicsiz, outfile);
-                                       loc = 0;
-                               }
-                       }
+                dtext[loc++] = c;
+                if (loc == dicsiz) {
+                    fwrite_crc(&crc, dtext, dicsiz, outfile);
+                    loc = 0;
+                }
+            }
 #ifdef DEBUG
-                       fprintf(fout, "\n");
+            fprintf(fout, "\n");
 #endif
-               }
-       }
-       if (loc != 0) {
-               fwrite_crc(&crc, dtext, loc, outfile);
-       }
+        }
+    }
+    if (loc != 0) {
+        fwrite_crc(&crc, dtext, loc, outfile);
+    }
 
-       free(dtext);
+    free(dtext);
     return crc;
 }
-
-/* Local Variables: */
-/* mode:c */
-/* tab-width:4 */
-/* End: */
-/* vi: set tabstop=4: */
index c1eb9b7..de9059a 100644 (file)
@@ -1,11 +1,11 @@
 /* ------------------------------------------------------------------------ */
-/* LHa for UNIX                                                                                                                        */
-/*                             util.c -- LHarc Util                                                                            */
-/*                                                                                                                                                     */
-/*             Modified                        Nobutaka Watazaki                                                       */
-/*                                                                                                                                                     */
-/*     Ver. 1.14       Source All chagned                              1995.01.14      N.Watazaki              */
-/*  Ver. 1.14e  Support for sfx archives               1999.05.28      T.Okamoto       */
+/* LHa for UNIX                                                             */
+/*              util.c -- LHarc Util                                        */
+/*                                                                          */
+/*      Modified                Nobutaka Watazaki                           */
+/*                                                                          */
+/*  Ver. 1.14   Source All chagned              1995.01.14  N.Watazaki      */
+/*  Ver. 1.14e  Support for sfx archives        1999.05.28  T.Okamoto       */
 /* ------------------------------------------------------------------------ */
 #include "lha.h"
 /*
 
 /* ------------------------------------------------------------------------ */
 long
-copyfile(f1, f2, size, text_flg, crcp) /* return: size of source file */
-       FILE           *f1;
-       FILE           *f2;
-       long            size;
+copyfile(f1, f2, size, text_flg, crcp)  /* return: size of source file */
+    FILE           *f1;
+    FILE           *f2;
+    long            size;
     int text_flg;               /* 0: binary, 1: read text, 2: write text */
-       unsigned int *crcp;
+    unsigned int *crcp;
 {
-       unsigned short  xsize;
-       char           *buf;
-       long            rsize = 0;
+    unsigned short  xsize;
+    char           *buf;
+    long            rsize = 0;
 
     if (!text_mode)
         text_flg = 0;
 
-       buf = (char *)xmalloc(BUFFERSIZE);
+    buf = (char *)xmalloc(BUFFERSIZE);
     if (crcp)
         INITIALIZE_CRC(*crcp);
-       if (text_flg)
-               init_code_cache();
-       while (size > 0) {
-               /* read */
-               if (text_flg & 1) {
-                       xsize = fread_txt(buf, BUFFERSIZE, f1);
-                       if (xsize == 0)
-                               break;
-                       if (ferror(f1)) {
-                               fatal_error("file read error");
-                       }
-               }
-               else {
-                       xsize = (size > BUFFERSIZE) ? BUFFERSIZE : size;
-                       if (fread(buf, 1, xsize, f1) != xsize) {
-                               fatal_error("file read error");
-                       }
-                       size -= xsize;
-               }
-               /* write */
-               if (f2) {
-                       if (text_flg & 2) {
-                               if (fwrite_txt(buf, xsize, f2)) {
-                                       fatal_error("file write error");
-                               }
-                       }
-                       else {
-                               if (fwrite(buf, 1, xsize, f2) != xsize) {
-                                       fatal_error("file write error");
-                               }
-                       }
-               }
-               /* calculate crc */
-               if (crcp) {
-                       *crcp = calccrc(*crcp, buf, xsize);
+    if (text_flg)
+        init_code_cache();
+    while (size > 0) {
+        /* read */
+        if (text_flg & 1) {
+            xsize = fread_txt(buf, BUFFERSIZE, f1);
+            if (xsize == 0)
+                break;
+            if (ferror(f1)) {
+                fatal_error("file read error");
+            }
+        }
+        else {
+            xsize = (size > BUFFERSIZE) ? BUFFERSIZE : size;
+            if (fread(buf, 1, xsize, f1) != xsize) {
+                fatal_error("file read error");
+            }
+            size -= xsize;
+        }
+        /* write */
+        if (f2) {
+            if (text_flg & 2) {
+                if (fwrite_txt(buf, xsize, f2)) {
+                    fatal_error("file write error");
+                }
+            }
+            else {
+                if (fwrite(buf, 1, xsize, f2) != xsize) {
+                    fatal_error("file write error");
+                }
+            }
+        }
+        /* calculate crc */
+        if (crcp) {
+            *crcp = calccrc(*crcp, buf, xsize);
 #ifdef NEED_INCREMENTAL_INDICATOR
             put_indicator(xsize);
 #endif
-               }
-               rsize += xsize;
-       }
-       free(buf);
-       return rsize;
+        }
+        rsize += xsize;
+    }
+    free(buf);
+    return rsize;
 }
 
 /* ------------------------------------------------------------------------ */
 int
 encode_stored_crc(ifp, ofp, size, original_size_var, write_size_var)
-       FILE           *ifp, *ofp;
-       long            size;
-       long           *original_size_var;
-       long           *write_size_var;
+    FILE           *ifp, *ofp;
+    long            size;
+    long           *original_size_var;
+    long           *write_size_var;
 {
-       int             save_quiet;
+    int             save_quiet;
     unsigned int crc;
 
-       save_quiet = quiet;
-       quiet = 1;
-       size = copyfile(ifp, ofp, size, 1, &crc);
-       *original_size_var = *write_size_var = size;
-       quiet = save_quiet;
-       return crc;
+    save_quiet = quiet;
+    quiet = 1;
+    size = copyfile(ifp, ofp, size, 1, &crc);
+    *original_size_var = *write_size_var = size;
+    quiet = save_quiet;
+    return crc;
 }
 
 /* ------------------------------------------------------------------------ */
 /* If TRUE, archive file name is msdos SFX file name. */
 boolean
 archive_is_msdos_sfx1(name)
-       char           *name;
+    char           *name;
 {
-       int             len = strlen(name);
+    int             len = strlen(name);
 
-       return ((len >= 4) &&
-               (strucmp(".COM", name + len - 4) == 0 ||
-                strucmp(".EXE", name + len - 4) == 0)) ||
-               ((len >= 2) &&
-                (strucmp(".x", name + len - 2) == 0));
+    return ((len >= 4) &&
+        (strucmp(".COM", name + len - 4) == 0 ||
+         strucmp(".EXE", name + len - 4) == 0)) ||
+        ((len >= 2) &&
+         (strucmp(".x", name + len - 2) == 0));
 }
 
 /*
@@ -121,14 +121,14 @@ archive_is_msdos_sfx1(name)
 #ifndef HAVE_STRDUP
 char           *
 strdup(buf)
-       char           *buf;
+    char           *buf;
 {
-       char           *p;
+    char           *p;
 
-       if ((p = (char *) malloc(strlen(buf) + 1)) == NULL)
-               return NULL;
-       strcpy(p, buf);
-       return p;
+    if ((p = (char *) malloc(strlen(buf) + 1)) == NULL)
+        return NULL;
+    strcpy(p, buf);
+    return p;
 }
 #endif
 
@@ -140,22 +140,22 @@ strdup(buf)
 #ifndef HAVE_MEMMOVE
 void           *
 memmove(dst, src, cnt)
-       register char  *dst, *src;
-       register int    cnt;
+    register char  *dst, *src;
+    register int    cnt;
 {
-       if (dst == src)
-               return dst;
-       if (src > dst) {
-               while (--cnt >= 0)
-                       *dst++ = *src++;
-       }
-       else {
-               dst += cnt;
-               src += cnt;
-               while (--cnt >= 0)
-                       *--dst = *--src;
-       }
-       return dst;
+    if (dst == src)
+        return dst;
+    if (src > dst) {
+        while (--cnt >= 0)
+            *dst++ = *src++;
+    }
+    else {
+        dst += cnt;
+        src += cnt;
+        while (--cnt >= 0)
+            *--dst = *--src;
+    }
+    return dst;
 }
 #endif
 
@@ -170,94 +170,94 @@ memmove(dst, src, cnt)
 /* ------------------------------------------------------------------------ */
 int
 rename(from, to)
-       const char *from, *to;
+    const char *from, *to;
 {
-       struct stat     s1, s2;
-       extern int      errno;
-
-       if (stat(from, &s1) < 0)
-               return (-1);
-       /* is 'FROM' file a directory? */
-       if ((s1.st_mode & S_IFMT) == S_IFDIR) {
-               errno = ENOTDIR;
-               return (-1);
-       }
-       if (stat(to, &s2) >= 0) {       /* 'TO' exists! */
-               /* is 'TO' file a directory? */
-               if ((s2.st_mode & S_IFMT) == S_IFDIR) {
-                       errno = EISDIR;
-                       return (-1);
-               }
-               if (unlink(to) < 0)
-                       return (-1);
-       }
-       if (link(from, to) < 0)
-               return (-1);
-       if (unlink(from) < 0)
-               return (-1);
-       return (0);
+    struct stat     s1, s2;
+    extern int      errno;
+
+    if (stat(from, &s1) < 0)
+        return (-1);
+    /* is 'FROM' file a directory? */
+    if ((s1.st_mode & S_IFMT) == S_IFDIR) {
+        errno = ENOTDIR;
+        return (-1);
+    }
+    if (stat(to, &s2) >= 0) {   /* 'TO' exists! */
+        /* is 'TO' file a directory? */
+        if ((s2.st_mode & S_IFMT) == S_IFDIR) {
+            errno = EISDIR;
+            return (-1);
+        }
+        if (unlink(to) < 0)
+            return (-1);
+    }
+    if (link(from, to) < 0)
+        return (-1);
+    if (unlink(from) < 0)
+        return (-1);
+    return (0);
 }
-#endif                         /* !HAVE_FTRUNCATE */
+#endif              /* !HAVE_FTRUNCATE */
 /* ------------------------------------------------------------------------ */
 
 #if !HAVE_MKDIR && HAVE_WORKING_FORK
-#ifndef        MKDIRPATH
-#define        MKDIRPATH       "/bin/mkdir"
+#ifndef MKDIRPATH
+#define MKDIRPATH   "/bin/mkdir"
 #endif
-#ifndef        RMDIRPATH
-#define        RMDIRPATH       "/bin/rmdir"
+#ifndef RMDIRPATH
+#define RMDIRPATH   "/bin/rmdir"
 #endif
 int
 rmdir(path)
-       char           *path;
+    char           *path;
 {
-       int             stat, rtn = 0;
-       char           *cmdname;
-       if ((cmdname = (char *) malloc(strlen(RMDIRPATH) + 1 + strlen(path) + 1))
-           == 0)
-               return (-1);
-       strcpy(cmdname, RMDIRPATH);
-       *(cmdname + strlen(RMDIRPATH)) = ' ';
-       strcpy(cmdname + strlen(RMDIRPATH) + 1, path);
-       if ((stat = system(cmdname)) < 0)
-               rtn = -1;       /* fork or exec error */
-       else if (stat) {        /* RMDIR command error */
-               errno = EIO;
-               rtn = -1;
-       }
-       free(cmdname);
-       return (rtn);
+    int             stat, rtn = 0;
+    char           *cmdname;
+    if ((cmdname = (char *) malloc(strlen(RMDIRPATH) + 1 + strlen(path) + 1))
+        == 0)
+        return (-1);
+    strcpy(cmdname, RMDIRPATH);
+    *(cmdname + strlen(RMDIRPATH)) = ' ';
+    strcpy(cmdname + strlen(RMDIRPATH) + 1, path);
+    if ((stat = system(cmdname)) < 0)
+        rtn = -1;   /* fork or exec error */
+    else if (stat) {    /* RMDIR command error */
+        errno = EIO;
+        rtn = -1;
+    }
+    free(cmdname);
+    return (rtn);
 }
 
 /* ------------------------------------------------------------------------ */
 int
 mkdir(path, mode)
-       char           *path;
-       int             mode;
+    char           *path;
+    int             mode;
 {
-       int             child, stat;
-       char           *cmdname, *cmdpath = MKDIRPATH;
-       if ((cmdname = (char *) strrchr(cmdpath, '/')) == (char *) 0)
-               cmdname = cmdpath;
-       if ((child = fork()) < 0)
-               return (-1);    /* fork error */
-       else if (child) {       /* parent process */
-               while (child != wait(&stat))    /* ignore signals */
-                       continue;
-       }
-       else {                  /* child process */
-               int             maskvalue;
-               maskvalue = umask(0);   /* get current umask() value */
-               umask(maskvalue | (0777 & ~mode));      /* set it! */
-               execl(cmdpath, cmdname, path, (char *) 0);
-               /* never come here except execl is error */
-               return (-1);
-       }
-       if (stat != 0) {
-               errno = EIO;    /* cannot get error num. */
-               return (-1);
-       }
-       return (0);
+    int             child, stat;
+    char           *cmdname, *cmdpath = MKDIRPATH;
+    if ((cmdname = (char *) strrchr(cmdpath, '/')) == (char *) 0)
+        cmdname = cmdpath;
+    if ((child = fork()) < 0)
+        return (-1);    /* fork error */
+    else if (child) {   /* parent process */
+        while (child != wait(&stat))    /* ignore signals */
+            continue;
+    }
+    else {          /* child process */
+        int             maskvalue;
+        maskvalue = umask(0);   /* get current umask() value */
+        umask(maskvalue | (0777 & ~mode));  /* set it! */
+        execl(cmdpath, cmdname, path, (char *) 0);
+        /* never come here except execl is error */
+        return (-1);
+    }
+    if (stat != 0) {
+        errno = EIO;    /* cannot get error num. */
+        return (-1);
+    }
+    return (0);
 }
 #endif
 
@@ -268,24 +268,24 @@ mkdir(path, mode)
 #ifndef HAVE_STRCASECMP
 static int
 my_toupper(n)
-       register int    n;
+    register int    n;
 {
-       if (n >= 'a' && n <= 'z')
-               return n & (~('a' - 'A'));
-       return n;
+    if (n >= 'a' && n <= 'z')
+        return n & (~('a' - 'A'));
+    return n;
 }
 
 /* ------------------------------------------------------------------------ */
 int
 strucmp(s, t)
-       register char  *s, *t;
+    register char  *s, *t;
 {
-       while (my_toupper(*s++) == my_toupper(*t++))
-               if (!*s || !*t)
-                       break;
-       if (!*s && !*t)
-               return 0;
-       return 1;
+    while (my_toupper(*s++) == my_toupper(*t++))
+        if (!*s || !*t)
+            break;
+    if (!*s && !*t)
+        return 0;
+    return 1;
 }
 #endif
 
@@ -294,13 +294,13 @@ strucmp(s, t)
 /* Public Domain memset(3) */
 char           *
 memset(s, c, n)
-       char           *s;
-       int             c, n;
+    char           *s;
+    int             c, n;
 {
-       char           *p = s;
-       while (n--)
-               *p++ = (char) c;
-       return s;
+    char           *p = s;
+    while (n--)
+        *p++ = (char) c;
+    return s;
 }
 #endif
 
@@ -393,10 +393,3 @@ xmemrchr(const char *s, int c, size_t n)
     return p;
 }
 #endif
-
-/* Local Variables: */
-/* mode:c */
-/* tab-width:4 */
-/* compile-command:"gcc -c util.c" */
-/* End: */
-/* vi: set tabstop=4: */