diff options
author | Jeremy Huddleston <jeremyhu@apple.com> | 2010-07-01 09:36:30 -0700 |
---|---|---|
committer | Jeremy Huddleston <jeremyhu@apple.com> | 2010-07-01 09:38:53 -0700 |
commit | 466e7769a450550d68b3aea5f4f4edbdc31f8bba (patch) | |
tree | 7dec673c60c86b5d666f566b0d97dadd836b9781 | |
parent | fddfe30c3ff91c83d0484b136e7673764e555555 (diff) |
Whitespace cleanup from Thomas Dickey's luit-20100601 fork
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
-rw-r--r-- | charset.c | 290 | ||||
-rw-r--r-- | charset.h | 6 | ||||
-rw-r--r-- | iso2022.c | 1054 | ||||
-rw-r--r-- | iso2022.h | 50 | ||||
-rw-r--r-- | luit.c | 620 | ||||
-rw-r--r-- | other.c | 216 | ||||
-rw-r--r-- | other.h | 14 | ||||
-rw-r--r-- | parser.c | 154 | ||||
-rw-r--r-- | sys.c | 218 | ||||
-rw-r--r-- | sys.h | 2 |
10 files changed, 1312 insertions, 1312 deletions
@@ -49,7 +49,7 @@ static int IdentityReverse(unsigned int n, const CharsetRec * self) { #define IS_GL(n) ((n) >= 0x20 && (n) < 0x80) - switch(self->type) { + switch (self->type) { case T_94: case T_96: if (IS_GL(n)) @@ -63,17 +63,17 @@ IdentityReverse(unsigned int n, const CharsetRec * self) return -1; case T_9494: case T_9696: - if(IS_GL(n>>8) && IS_GL(n&0xFF)) - return n; - else - return -1; + if (IS_GL(n >> 8) && IS_GL(n & 0xFF)) + return n; + else + return -1; case T_94192: - if(IS_GL(n>>8) && IS_GL(n&0x7F)) - return n; - else - return -1; + if (IS_GL(n >> 8) && IS_GL(n & 0x7F)) + return n; + else + return -1; default: - abort(); + abort(); /* NOTREACHED */ } #undef IS_GL @@ -161,9 +161,9 @@ static FontencCharsetRec fontencCharsets[] = typedef struct _OtherCharset { const char *name; - int (*init)(OtherStatePtr); - unsigned int (*mapping)(unsigned int, OtherStatePtr); - unsigned int (*reverse)(unsigned int, OtherStatePtr); + int (*init) (OtherStatePtr); + unsigned int (*mapping) (unsigned int, OtherStatePtr); + unsigned int (*reverse) (unsigned int, OtherStatePtr); int (*stack) (unsigned, OtherStatePtr); } OtherCharsetRec, *OtherCharsetPtr; @@ -180,16 +180,16 @@ static const OtherCharsetRec otherCharsets[] = static int compare(const char *s, const char *t) { - while(*s || *t) { + while (*s || *t) { if (*s && (isspace(UChar(*s)) || *s == '-' || *s == '_')) - s++; + s++; else if (*t && (isspace(UChar(*t)) || *t == '-' || *t == '_')) - t++; + t++; else if (*s && *t && tolower(UChar(*s)) == tolower(UChar(*t))) { - s++; - t++; - } else - return 1; + s++; + t++; + } else + return 1; } return 0; } @@ -209,13 +209,13 @@ FontencCharsetReverse(unsigned int i, const CharsetRec * self) unsigned n; n = fc->reverse->reverse(i, fc->reverse->data); - if(n == 0 || n < fc->shift) - return -1; + if (n == 0 || n < fc->shift) + return -1; else - n -= fc->shift; + n -= fc->shift; #define IS_GL(n) ((n) >= 0x20 && (n) < 0x80) - switch(self->type) { + switch (self->type) { case T_94: case T_96: if (IS_GL(n)) @@ -229,17 +229,17 @@ FontencCharsetReverse(unsigned int i, const CharsetRec * self) return -1; case T_9494: case T_9696: - if(IS_GL(n>>8) && IS_GL(n&0xFF)) + if (IS_GL(n >> 8) && IS_GL(n & 0xFF)) return (int) n; - else - return -1; + else + return -1; case T_94192: - if(IS_GL(n>>8) && IS_GL(n&0x7F)) + if (IS_GL(n >> 8) && IS_GL(n & 0x7F)) return (int) n; - else - return -1; + else + return -1; default: - abort(); + abort(); /* NOTREACHED */ } #undef IS_GL @@ -247,15 +247,15 @@ FontencCharsetReverse(unsigned int i, const CharsetRec * self) static CharsetPtr cachedCharsets = NULL; -static CharsetPtr +static CharsetPtr getCachedCharset(unsigned final, int type, const char *name) { CharsetPtr c; - for(c = cachedCharsets; c; c = c->next) { - if(((c->type == type && c->final == final) || - (name && !compare(c->name, name))) && - (c->type != T_FAILED)) - return c; + for (c = cachedCharsets; c; c = c->next) { + if (((c->type == type && c->final == final) || + (name && !compare(c->name, name))) && + (c->type != T_FAILED)) + return c; } return NULL; } @@ -276,31 +276,31 @@ getFontencCharset(unsigned final, int type, const char *name) FontMapReversePtr reverse; fc = fontencCharsets; - while(fc->name) { - if(((fc->type == type && fc->final == final) || - (name && !compare(fc->name, name))) && - (fc->type != T_FAILED)) - break; - fc++; + while (fc->name) { + if (((fc->type == type && fc->final == final) || + (name && !compare(fc->name, name))) && + (fc->type != T_FAILED)) + break; + fc++; } - if(!fc->name) - return NULL; + if (!fc->name) + return NULL; c = malloc(sizeof(CharsetRec)); - if(c == NULL) - return NULL; + if (c == NULL) + return NULL; mapping = FontEncMapFind(fc->xlfd, FONT_ENCODING_UNICODE, -1, -1, NULL); - if(!mapping) { - fc->type = T_FAILED; - return NULL; + if (!mapping) { + fc->type = T_FAILED; + return NULL; } reverse = FontMapReverse(mapping); - if(!reverse) { - fc->type = T_FAILED; - return NULL; + if (!reverse) { + fc->type = T_FAILED; + return NULL; } fc->mapping = mapping; @@ -325,23 +325,23 @@ getOtherCharset(const char *name) OtherStatePtr s; fc = otherCharsets; - while(fc->name) { - if(name && !compare(fc->name, name)) - break; - fc++; + while (fc->name) { + if (name && !compare(fc->name, name)) + break; + fc++; } - if(!fc->name) - return NULL; + if (!fc->name) + return NULL; c = malloc(sizeof(CharsetRec)); - if(c == NULL) - return NULL; + if (c == NULL) + return NULL; s = malloc(sizeof(OtherState)); - if(s == NULL) { - free(c); - return NULL; + if (s == NULL) { + free(c); + return NULL; } c->name = fc->name; @@ -353,9 +353,9 @@ getOtherCharset(const char *name) c->other_stack = fc->stack; c->other_aux = s; - if(!fc->init(s)) { - c->type = T_FAILED; - return NULL; + if (!fc->init(s)) { + c->type = T_FAILED; + return NULL; } cacheCharset(c); @@ -365,7 +365,7 @@ getOtherCharset(const char *name) const CharsetRec * getUnknownCharset(int type) { - switch(type) { + switch (type) { case T_94: return &Unknown94Charset; case T_96: @@ -385,12 +385,12 @@ getCharset(unsigned final, int type) const CharsetRec *c; c = getCachedCharset(final, type, NULL); - if(c) - return c; + if (c) + return c; c = getFontencCharset(final, type, NULL); - if(c) - return c; + if (c) + return c; return getUnknownCharset(type); } @@ -400,58 +400,58 @@ getCharsetByName(const char *name) { const CharsetRec *c; - if(name == NULL) - return getUnknownCharset(T_94); + if (name == NULL) + return getUnknownCharset(T_94); c = getCachedCharset(0, 0, name); - if(c) - return c; + if (c) + return c; c = getFontencCharset(0, 0, name); - if(c) - return c; + if (c) + return c; c = getOtherCharset(name); - if(c) - return c; + if (c) + return c; return getUnknownCharset(T_94); } /* *INDENT-OFF* */ static const LocaleCharsetRec localeCharsets[] = { - { "C", 0, 2, "ASCII", NULL, "ISO 8859-1", NULL, NULL}, - { "POSIX", 0, 2, "ASCII", NULL, "ISO 8859-1", NULL, NULL}, - { "ISO8859-1", 0, 2, "ASCII", NULL, "ISO 8859-1", NULL, NULL}, - { "ISO8859-2", 0, 2, "ASCII", NULL, "ISO 8859-2", NULL, NULL}, - { "ISO8859-3", 0, 2, "ASCII", NULL, "ISO 8859-3", NULL, NULL}, - { "ISO8859-4", 0, 2, "ASCII", NULL, "ISO 8859-4", NULL, NULL}, - { "ISO8859-5", 0, 2, "ASCII", NULL, "ISO 8859-5", NULL, NULL}, - { "ISO8859-6", 0, 2, "ASCII", NULL, "ISO 8859-6", NULL, NULL}, - { "ISO8859-7", 0, 2, "ASCII", NULL, "ISO 8859-7", NULL, NULL}, - { "ISO8859-8", 0, 2, "ASCII", NULL, "ISO 8859-8", NULL, NULL}, - { "ISO8859-9", 0, 2, "ASCII", NULL, "ISO 8859-9", NULL, NULL}, - { "ISO8859-10", 0, 2, "ASCII", NULL, "ISO 8859-10", NULL, NULL}, - { "ISO8859-11", 0, 2, "ASCII", NULL, "ISO 8859-11", NULL, NULL}, - { "TIS620", 0, 2, "ASCII", NULL, "ISO 8859-11", NULL, NULL}, - { "ISO8859-13", 0, 2, "ASCII", NULL, "ISO 8859-13", NULL, NULL}, - { "ISO8859-14", 0, 2, "ASCII", NULL, "ISO 8859-14", NULL, NULL}, - { "ISO8859-15", 0, 2, "ASCII", NULL, "ISO 8859-15", NULL, NULL}, - { "ISO8859-16", 0, 2, "ASCII", NULL, "ISO 8859-16", NULL, NULL}, - { "KOI8-R", 0, 2, "ASCII", NULL, "KOI8-R", NULL, NULL}, - { "CP1251", 0, 2, "ASCII", NULL, "CP 1251", NULL, NULL}, - { "TCVN", 0, 2, "ASCII", NULL, "TCVN", NULL, NULL}, - { "eucCN", 0, 1, "ASCII", "GB 2312", NULL, NULL, NULL}, - { "GB2312", 0, 1, "ASCII", "GB 2312", NULL, NULL, NULL}, - { "eucJP", 0, 1, "ASCII", "JIS X 0208", "JIS X 0201:GR", "JIS X 0212", NULL}, - { "eucKR", 0, 1, "ASCII", "KSC 5601", NULL, NULL, NULL}, - { "eucCN", 0, 1, "ASCII", "GB 2312", NULL, NULL, NULL}, - { "Big5", 0, 1, "ASCII", "Big 5", NULL, NULL, NULL}, - { "gbk", 0, 1, NULL, NULL, NULL, NULL, "GBK"}, - { "UTF-8", 0, 1, NULL, NULL, NULL, NULL, "UTF-8"}, - { "SJIS", 0, 1, NULL, NULL, NULL, NULL, "SJIS"}, - { "Big5-HKSCS", 0, 1, NULL, NULL, NULL, NULL, "BIG5-HKSCS"}, - { "gb18030", 0, 1, NULL, NULL, NULL, NULL, "GB18030"}, + {"C", 0, 2, "ASCII", NULL, "ISO 8859-1", NULL, NULL}, + {"POSIX", 0, 2, "ASCII", NULL, "ISO 8859-1", NULL, NULL}, + {"ISO8859-1", 0, 2, "ASCII", NULL, "ISO 8859-1", NULL, NULL}, + {"ISO8859-2", 0, 2, "ASCII", NULL, "ISO 8859-2", NULL, NULL}, + {"ISO8859-3", 0, 2, "ASCII", NULL, "ISO 8859-3", NULL, NULL}, + {"ISO8859-4", 0, 2, "ASCII", NULL, "ISO 8859-4", NULL, NULL}, + {"ISO8859-5", 0, 2, "ASCII", NULL, "ISO 8859-5", NULL, NULL}, + {"ISO8859-6", 0, 2, "ASCII", NULL, "ISO 8859-6", NULL, NULL}, + {"ISO8859-7", 0, 2, "ASCII", NULL, "ISO 8859-7", NULL, NULL}, + {"ISO8859-8", 0, 2, "ASCII", NULL, "ISO 8859-8", NULL, NULL}, + {"ISO8859-9", 0, 2, "ASCII", NULL, "ISO 8859-9", NULL, NULL}, + {"ISO8859-10", 0, 2, "ASCII", NULL, "ISO 8859-10", NULL, NULL}, + {"ISO8859-11", 0, 2, "ASCII", NULL, "ISO 8859-11", NULL, NULL}, + {"TIS620", 0, 2, "ASCII", NULL, "ISO 8859-11", NULL, NULL}, + {"ISO8859-13", 0, 2, "ASCII", NULL, "ISO 8859-13", NULL, NULL}, + {"ISO8859-14", 0, 2, "ASCII", NULL, "ISO 8859-14", NULL, NULL}, + {"ISO8859-15", 0, 2, "ASCII", NULL, "ISO 8859-15", NULL, NULL}, + {"ISO8859-16", 0, 2, "ASCII", NULL, "ISO 8859-16", NULL, NULL}, + {"KOI8-R", 0, 2, "ASCII", NULL, "KOI8-R", NULL, NULL}, + {"CP1251", 0, 2, "ASCII", NULL, "CP 1251", NULL, NULL}, + {"TCVN", 0, 2, "ASCII", NULL, "TCVN", NULL, NULL}, + {"eucCN", 0, 1, "ASCII", "GB 2312", NULL, NULL, NULL}, + {"GB2312", 0, 1, "ASCII", "GB 2312", NULL, NULL, NULL}, + {"eucJP", 0, 1, "ASCII", "JIS X 0208", "JIS X 0201:GR", "JIS X 0212", NULL}, + {"eucKR", 0, 1, "ASCII", "KSC 5601", NULL, NULL, NULL}, + {"eucCN", 0, 1, "ASCII", "GB 2312", NULL, NULL, NULL}, + {"Big5", 0, 1, "ASCII", "Big 5", NULL, NULL, NULL}, + {"gbk", 0, 1, NULL, NULL, NULL, NULL, "GBK"}, + {"UTF-8", 0, 1, NULL, NULL, NULL, NULL, "UTF-8"}, + {"SJIS", 0, 1, NULL, NULL, NULL, NULL, "SJIS"}, + {"Big5-HKSCS", 0, 1, NULL, NULL, NULL, NULL, "BIG5-HKSCS"}, + {"gb18030", 0, 1, NULL, NULL, NULL, NULL, "GB18030"}, {0, 0, 0, 0, 0, 0, 0, 0} }; /* *INDENT-ON* */ @@ -462,12 +462,12 @@ reportCharsets(void) const LocaleCharsetRec *p; FontencCharsetPtr q; printf("Known locale encodings:\n\n"); - for(p = localeCharsets; p->name; p++) { - if(p->other) { - printf(" %s (non-ISO-2022 encoding)\n", p->other); + for (p = localeCharsets; p->name; p++) { + if (p->other) { + printf(" %s (non-ISO-2022 encoding)\n", p->other); continue; - } - printf(" %s: GL -> G%d, GR -> G%d", p->name, p->gl, p->gr); + } + printf(" %s: GL -> G%d, GR -> G%d", p->name, p->gl, p->gr); if (p->g0) printf(", G0: %s", p->g0); if (p->g1) @@ -476,19 +476,19 @@ reportCharsets(void) printf(", G2: %s", p->g2); if (p->g3) printf(", G3: %s", p->g3); - printf("\n"); + printf("\n"); } printf("\n\nKnown charsets (not all may be available):\n\n"); - for(q = fontencCharsets; q->name; q++) - printf(" %s%s\n", - q->name, q->final?" (ISO 2022)":""); + for (q = fontencCharsets; q->name; q++) + printf(" %s%s\n", + q->name, q->final ? " (ISO 2022)" : ""); } int getLocaleState(const char *locale, const char *charset, - int *gl_return, int *gr_return, + int *gl_return, int *gr_return, const CharsetRec * *g0_return, const CharsetRec * *g1_return, const CharsetRec * *g2_return, @@ -499,36 +499,36 @@ getLocaleState(const char *locale, char *resolved = 0; const LocaleCharsetRec *p; - if(!charset) { - resolved = resolveLocale(locale); - if(!resolved) - return -1; - charset = strrchr(resolved, '.'); - if(charset) - charset++; - else - charset = resolved; + if (!charset) { + resolved = resolveLocale(locale); + if (!resolved) + return -1; + charset = strrchr(resolved, '.'); + if (charset) + charset++; + else + charset = resolved; } - for(p = localeCharsets; p->name; p++) { - if(compare(p->name, charset) == 0) - break; + for (p = localeCharsets; p->name; p++) { + if (compare(p->name, charset) == 0) + break; } - if(p->name == NULL) { + if (p->name == NULL) { result = -1; } else { - *gl_return = p->gl; - *gr_return = p->gr; - *g0_return = getCharsetByName(p->g0); - *g1_return = getCharsetByName(p->g1); - *g2_return = getCharsetByName(p->g2); - *g3_return = getCharsetByName(p->g3); - if(p->other) - *other_return = getCharsetByName(p->other); - else - *other_return = NULL; + *gl_return = p->gl; + *gr_return = p->gr; + *g0_return = getCharsetByName(p->g0); + *g1_return = getCharsetByName(p->g1); + *g2_return = getCharsetByName(p->g2); + *g3_return = getCharsetByName(p->g3); + if (p->other) + *other_return = getCharsetByName(p->other); + else + *other_return = NULL; } if (resolved != 0) free(resolved); @@ -49,8 +49,8 @@ typedef struct _Charset { const void *data; int (*other_stack) (unsigned c, OtherStatePtr aux); OtherState *other_aux; - unsigned int (*other_recode)(unsigned int c, OtherStatePtr aux); - unsigned int (*other_reverse)(unsigned int c, OtherStatePtr aux); + unsigned int (*other_recode) (unsigned int c, OtherStatePtr aux); + unsigned int (*other_reverse) (unsigned int c, OtherStatePtr aux); struct _Charset *next; } CharsetRec, *CharsetPtr; @@ -70,7 +70,7 @@ const CharsetRec *getCharset(unsigned, int); const CharsetRec *getCharsetByName(const char *); void reportCharsets(void); int getLocaleState(const char *locale, const char *charset, - int *gl_return, int *gr_return, + int *gl_return, int *gr_return, const CharsetRec * *g0_return, const CharsetRec * *g1_return, const CharsetRec * *g2_return, @@ -70,22 +70,22 @@ outbuf_flush(Iso2022Ptr is, int fd) int rc; unsigned i = 0; - if(olog >= 0) + if (olog >= 0) IGNORE_RC(write(olog, is->outbuf, is->outbuf_count)); - while(i < is->outbuf_count) { + while (i < is->outbuf_count) { rc = (int) write(fd, is->outbuf + i, is->outbuf_count - i); - if(rc > 0) { + if (rc > 0) { i += (unsigned) rc; - } else { - if(rc < 0 && errno == EINTR) - continue; - else if((rc == 0) || ((rc < 0) && (errno == EAGAIN))) { - waitForOutput(fd); - continue; - } else - break; - } + } else { + if (rc < 0 && errno == EINTR) + continue; + else if ((rc == 0) || ((rc < 0) && (errno == EAGAIN))) { + waitForOutput(fd); + continue; + } else + break; + } } is->outbuf_count = 0; } @@ -101,18 +101,18 @@ outbufOne(Iso2022Ptr is, int fd, unsigned c) static void outbufUTF8(Iso2022Ptr is, int fd, unsigned c) { - if(c == 0) - return; + if (c == 0) + return; - if(c <= 0x7F) { - OUTBUF_MAKE_FREE(is, fd, 1); + if (c <= 0x7F) { + OUTBUF_MAKE_FREE(is, fd, 1); is->outbuf[is->outbuf_count++] = UChar(c); - } else if(c <= 0x7FF) { - OUTBUF_MAKE_FREE(is, fd, 2); + } else if (c <= 0x7FF) { + OUTBUF_MAKE_FREE(is, fd, 2); is->outbuf[is->outbuf_count++] = UChar(0xC0 | ((c >> 6) & 0x1F)); is->outbuf[is->outbuf_count++] = UChar(0x80 | (c & 0x3F)); } else { - OUTBUF_MAKE_FREE(is, fd, 3); + OUTBUF_MAKE_FREE(is, fd, 3); is->outbuf[is->outbuf_count++] = UChar(0xE0 | ((c >> 12) & 0x0F)); is->outbuf[is->outbuf_count++] = UChar(0x80 | ((c >> 6) & 0x3F)); is->outbuf[is->outbuf_count++] = UChar(0x80 | (c & 0x3F)); @@ -122,19 +122,19 @@ outbufUTF8(Iso2022Ptr is, int fd, unsigned c) static void buffer(Iso2022Ptr is, unsigned c) { - if(is->buffered == NULL) { + if (is->buffered == NULL) { is->buffered_len = 10; is->buffered = malloc(is->buffered_len); - if(is->buffered == NULL) - FatalError("Couldn't allocate buffered.\n"); + if (is->buffered == NULL) + FatalError("Couldn't allocate buffered.\n"); } - if(is->buffered_count >= is->buffered_len) { - is->buffered = realloc(is->buffered, 2 * is->buffered_len + 1); - if(is->buffered == NULL) { - FatalError("Couldn't grow buffered.\n"); - } - is->buffered_len = 2 * is->buffered_len + 1; + if (is->buffered_count >= is->buffered_len) { + is->buffered = realloc(is->buffered, 2 * is->buffered_len + 1); + if (is->buffered == NULL) { + FatalError("Couldn't grow buffered.\n"); + } + is->buffered_len = 2 * is->buffered_len + 1; } is->buffered[is->buffered_count++] = UChar(c); @@ -146,18 +146,18 @@ outbuf_buffered_carefully(Iso2022Ptr is, int fd) /* This should never happen in practice */ unsigned i = 0; - while(i < is->buffered_count) { - OUTBUF_MAKE_FREE(is, fd, 1); - is->outbuf[is->outbuf_count++] = is->buffered[i++]; + while (i < is->buffered_count) { + OUTBUF_MAKE_FREE(is, fd, 1); + is->outbuf[is->outbuf_count++] = is->buffered[i++]; } is->buffered_count = 0; -} +} static void outbuf_buffered(Iso2022Ptr is, int fd) { - if(is->buffered_count > BUFFER_SIZE) - outbuf_buffered_carefully(is, fd); + if (is->buffered_count > BUFFER_SIZE) + outbuf_buffered_carefully(is, fd); OUTBUF_MAKE_FREE(is, fd, is->buffered_count); memcpy(is->outbuf + is->outbuf_count, is->buffered, is->buffered_count); @@ -171,13 +171,13 @@ discard_buffered(Iso2022Ptr is) is->buffered_count = 0; } -Iso2022Ptr +Iso2022Ptr allocIso2022(void) { Iso2022Ptr is; is = malloc(sizeof(Iso2022Rec)); - if(!is) - return NULL; + if (!is) + return NULL; is->glp = is->grp = NULL; G0(is) = G1(is) = G2(is) = G3(is) = OTHER(is) = NULL; @@ -194,9 +194,9 @@ allocIso2022(void) is->buffered_ku = -1; is->outbuf = malloc((size_t) BUFFER_SIZE); - if(!is->outbuf) { - free(is); - return NULL; + if (!is->outbuf) { + free(is); + return NULL; } is->outbuf_count = 0; @@ -206,10 +206,10 @@ allocIso2022(void) void destroyIso2022(Iso2022Ptr is) { - if(is->buffered) - free(is->buffered); - if(is->outbuf) - free(is->outbuf); + if (is->buffered) + free(is->buffered); + if (is->outbuf) + free(is->outbuf); free(is); } @@ -217,15 +217,15 @@ static int identifyCharset(Iso2022Ptr i, const CharsetRec * *p) { if (p == &G0(i)) { - return 0; + return 0; } else if (p == &G1(i)) { - return 1; + return 1; } else if (p == &G2(i)) { - return 2; + return 2; } else if (p == &G3(i)) { - return 3; + return 3; } else { - abort(); + abort(); /* NOTREACHED */ } } @@ -233,9 +233,9 @@ identifyCharset(Iso2022Ptr i, const CharsetRec * *p) void reportIso2022(Iso2022Ptr i) { - if(OTHER(i) != NULL) { - fprintf(stderr, "%s, non-ISO-2022 encoding.\n", OTHER(i)->name); - return; + if (OTHER(i) != NULL) { + fprintf(stderr, "%s, non-ISO-2022 encoding.\n", OTHER(i)->name); + return; } fprintf(stderr, "G0 is %s, ", G0(i)->name); fprintf(stderr, "G1 is %s, ", G1(i)->name); @@ -255,41 +255,41 @@ initIso2022(const char *locale, const char *charset, Iso2022Ptr i) const CharsetRec *g3 = NULL; const CharsetRec *other = NULL; int rc; - + rc = getLocaleState(locale, charset, &gl, &gr, &g0, &g1, &g2, &g3, &other); - if(rc < 0) { - if(charset) - ErrorF("Warning: couldn't find charset %s; " - "using ISO 8859-1.\n", charset); - else - ErrorF("Warning: couldn't find charset data for locale %s; " - "using ISO 8859-1.\n", locale); + if (rc < 0) { + if (charset) + ErrorF("Warning: couldn't find charset %s; " + "using ISO 8859-1.\n", charset); + else + ErrorF("Warning: couldn't find charset data for locale %s; " + "using ISO 8859-1.\n", locale); } - if(g0) - G0(i) = g0; + if (g0) + G0(i) = g0; else - G0(i) = getCharsetByName("ASCII"); + G0(i) = getCharsetByName("ASCII"); - if(g1) - G1(i) = g1; + if (g1) + G1(i) = g1; else - G1(i) = getUnknownCharset(T_94); + G1(i) = getUnknownCharset(T_94); - if(g2) - G2(i) = g2; + if (g2) + G2(i) = g2; else - G2(i) = getCharsetByName("ISO 8859-1"); + G2(i) = getCharsetByName("ISO 8859-1"); - if(g3) - G3(i) = g3; + if (g3) + G3(i) = g3; else - G3(i) = getUnknownCharset(T_94); + G3(i) = getUnknownCharset(T_94); - if(other) - OTHER(i) = other; + if (other) + OTHER(i) = other; else - OTHER(i) = NULL; + OTHER(i) = NULL; i->glp = &i->g[gl]; i->grp = &i->g[gr]; @@ -299,20 +299,20 @@ initIso2022(const char *locale, const char *charset, Iso2022Ptr i) int mergeIso2022(Iso2022Ptr d, Iso2022Ptr s) { - if(G0(d) == NULL) - G0(d) = G0(s); - if(G1(d) == NULL) - G1(d) = G1(s); - if(G2(d) == NULL) - G2(d) = G2(s); - if(G3(d) == NULL) - G3(d) = G3(s); - if(OTHER(d) == NULL) - OTHER(d) = OTHER(s); - if(d->glp == NULL) - d->glp = &(d->g[identifyCharset(s, s->glp)]); - if(d->grp == NULL) - d->grp = &(d->g[identifyCharset(s, s->grp)]); + if (G0(d) == NULL) + G0(d) = G0(s); + if (G1(d) == NULL) + G1(d) = G1(s); + if (G2(d) == NULL) + G2(d) = G2(s); + if (G3(d) == NULL) + G3(d) = G3(s); + if (OTHER(d) == NULL) + OTHER(d) = OTHER(s); + if (d->glp == NULL) + d->glp = &(d->g[identifyCharset(s, s->glp)]); + if (d->grp == NULL) + d->grp = &(d->g[identifyCharset(s, s->grp)]); return 0; } @@ -320,40 +320,40 @@ static int utf8Count(unsigned c) { /* All return values must be less than BUFFERED_INPUT_SIZE */ - if((c & 0x80) == 0) - return 1; - else if((c & 0x40) == 0) - return 1; /* incorrect UTF-8 */ - else if((c & 0x60) == 0x40) - return 2; - else if((c & 0x70) == 0x60) - return 3; - else if((c & 0x78) == 0x70) - return 4; + if ((c & 0x80) == 0) + return 1; + else if ((c & 0x40) == 0) + return 1; /* incorrect UTF-8 */ + else if ((c & 0x60) == 0x40) + return 2; + else if ((c & 0x70) == 0x60) + return 3; + else if ((c & 0x78) == 0x70) + return 4; else - return 1; + return 1; } static int fromUtf8(unsigned char *b) { - if((b[0] & 0x80) == 0) - return b[0]; - else if((b[0] & 0x40) == 0) - return -1; /* incorrect UTF-8 */ - else if((b[0] & 0x60) == 0x40) - return ((b[0] & 0x1F) << 6) | (b[1] & 0x3F); - else if((b[0] & 0x70) == 0x60) + if ((b[0] & 0x80) == 0) + return b[0]; + else if ((b[0] & 0x40) == 0) + return -1; /* incorrect UTF-8 */ + else if ((b[0] & 0x60) == 0x40) + return ((b[0] & 0x1F) << 6) | (b[1] & 0x3F); + else if ((b[0] & 0x70) == 0x60) return (((b[0] & 0x0F) << 12) | ((b[1] & 0x3F) << 6) | ((b[2] & 0x3F))); - else if((b[0] & 0x78) == 0x70) + else if ((b[0] & 0x78) == 0x70) return (((b[0] & 0x03) << 18) | ((b[1] & 0x3F) << 12) | ((b[2] & 0x3F) << 6) | ((b[3] & 0x3F))); else - return -1; + return -1; } void @@ -367,64 +367,64 @@ copyIn(Iso2022Ptr is, int fd, unsigned char *buf, int count) #define NEXT do {c++; rem--;} while(0) - while(rem) { - codepoint = -1; - if(is->parserState == P_ESC) { - assert(buffered_input_count == 0); - codepoint = *c; - NEXT; - if(*c == CSI_7) - is->parserState = P_CSI; - else if(IS_FINAL_ESC(codepoint)) - is->parserState = P_NORMAL; - } else if(is->parserState == P_CSI) { - assert(buffered_input_count == 0); - codepoint = *c; - NEXT; - if(IS_FINAL_CSI(codepoint)) - is->parserState = P_NORMAL; - } else if(!(*c & 0x80)) { - if(buffered_input_count > 0) { - buffered_input_count = 0; - continue; - } else { - codepoint = *c; - NEXT; - if(codepoint == ESC) - is->parserState = P_ESC; - } - } else if((*c & 0x40)) { - if(buffered_input_count > 0) { - buffered_input_count = 0; - continue; - } else { - buffered_input[buffered_input_count] = *c; - buffered_input_count++; - NEXT; - } - } else { - if(buffered_input_count <= 0) { - buffered_input_count = 0; - NEXT; - continue; - } else { - buffered_input[buffered_input_count] = *c; - buffered_input_count++; - NEXT; - if(buffered_input_count >= utf8Count(buffered_input[0])) { - codepoint = fromUtf8(buffered_input); - buffered_input_count = 0; - if(codepoint == CSI) - is->parserState = P_CSI; - } - } - } + while (rem) { + codepoint = -1; + if (is->parserState == P_ESC) { + assert(buffered_input_count == 0); + codepoint = *c; + NEXT; + if (*c == CSI_7) + is->parserState = P_CSI; + else if (IS_FINAL_ESC(codepoint)) + is->parserState = P_NORMAL; + } else if (is->parserState == P_CSI) { + assert(buffered_input_count == 0); + codepoint = *c; + NEXT; + if (IS_FINAL_CSI(codepoint)) + is->parserState = P_NORMAL; + } else if (!(*c & 0x80)) { + if (buffered_input_count > 0) { + buffered_input_count = 0; + continue; + } else { + codepoint = *c; + NEXT; + if (codepoint == ESC) + is->parserState = P_ESC; + } + } else if ((*c & 0x40)) { + if (buffered_input_count > 0) { + buffered_input_count = 0; + continue; + } else { + buffered_input[buffered_input_count] = *c; + buffered_input_count++; + NEXT; + } + } else { + if (buffered_input_count <= 0) { + buffered_input_count = 0; + NEXT; + continue; + } else { + buffered_input[buffered_input_count] = *c; + buffered_input_count++; + NEXT; + if (buffered_input_count >= utf8Count(buffered_input[0])) { + codepoint = fromUtf8(buffered_input); + buffered_input_count = 0; + if (codepoint == CSI) + is->parserState = P_CSI; + } + } + } #undef NEXT - if(codepoint >= 0) { - int i; + if (codepoint >= 0) { + int i; unsigned ucode = (unsigned) codepoint; - unsigned char obuf[4]; + unsigned char obuf[4]; #define WRITE_1(i) do { \ obuf[0] = UChar(i); \ @@ -466,7 +466,7 @@ copyIn(Iso2022Ptr is, int fd, unsigned char *buf, int count) #define WRITE_1_P(p,i) do { \ if(is->inputFlags & IF_EIGHTBIT) \ - WRITE_1_P_8bit(p,i) else \ + WRITE_1_P_8bit(p,i) else \ WRITE_1_P_7bit(p,i) \ } while(0) @@ -508,12 +508,12 @@ copyIn(Iso2022Ptr is, int fd, unsigned char *buf, int count) } while(0) if (ucode < 0x20 || - (OTHER(is) == NULL && CHARSET_REGULAR(GR(is)) && + (OTHER(is) == NULL && CHARSET_REGULAR(GR(is)) && (ucode >= 0x80 && ucode < 0xA0))) { WRITE_1(ucode); - continue; - } - if(OTHER(is) != NULL) { + continue; + } + if (OTHER(is) != NULL) { unsigned int c2; c2 = OTHER(is)->other_reverse(ucode, OTHER(is)->other_aux); if (c2 >> 24) @@ -524,150 +524,150 @@ copyIn(Iso2022Ptr is, int fd, unsigned char *buf, int count) WRITE_2(c2); else if (c2) WRITE_1(c2); - continue; - } + continue; + } i = (GL(is)->reverse) (ucode, GL(is)); - if(i >= 0) { - switch(GL(is)->type) { + if (i >= 0) { + switch (GL(is)->type) { case T_94: case T_96: case T_128: - if(i >= 0x20) - WRITE_1(i); - break; + if (i >= 0x20) + WRITE_1(i); + break; case T_9494: case T_9696: case T_94192: - if(i >= 0x2020) - WRITE_2(i); - break; - default: - abort(); + if (i >= 0x2020) + WRITE_2(i); + break; + default: + abort(); /* NOTREACHED */ - } - continue; - } - if(is->inputFlags & IF_EIGHTBIT) { + } + continue; + } + if (is->inputFlags & IF_EIGHTBIT) { i = GR(is)->reverse(ucode, GR(is)); - if(i >= 0) { - switch(GR(is)->type) { + if (i >= 0) { + switch (GR(is)->type) { case T_94: case T_96: case T_128: - /* we allow C1 characters if T_128 in GR */ - WRITE_1(i | 0x80); - break; + /* we allow C1 characters if T_128 in GR */ + WRITE_1(i | 0x80); + break; case T_9494: case T_9696: - WRITE_2(i | 0x8080); - break; - case T_94192: - WRITE_2(i | 0x8000); - break; - default: - abort(); + WRITE_2(i | 0x8080); + break; + case T_94192: + WRITE_2(i | 0x8000); + break; + default: + abort(); /* NOTREACHED */ - } - continue; - } - } - if(is->inputFlags & IF_SS) { + } + continue; + } + } + if (is->inputFlags & IF_SS) { i = G2(is)->reverse(ucode, G2(is)); - if(i >= 0) { - switch(GR(is)->type) { + if (i >= 0) { + switch (GR(is)->type) { case T_94: case T_96: case T_128: - if(i >= 0x20) { - if((is->inputFlags & IF_EIGHTBIT) && - (is->inputFlags & IF_SSGR)) - i |= 0x80; - WRITE_1_P(SS2, i); - } - break; + if (i >= 0x20) { + if ((is->inputFlags & IF_EIGHTBIT) && + (is->inputFlags & IF_SSGR)) + i |= 0x80; + WRITE_1_P(SS2, i); + } + break; case T_9494: case T_9696: - if(i >= 0x2020) { - if((is->inputFlags & IF_EIGHTBIT) && - (is->inputFlags & IF_SSGR)) - i |= 0x8080; - WRITE_2_P(SS2, i); - } - break; - case T_94192: - if(i >= 0x2020) { - if((is->inputFlags & IF_EIGHTBIT) && - (is->inputFlags & IF_SSGR)) - i |= 0x8000; - WRITE_2_P(SS2, i); - } - break; - default: - abort(); + if (i >= 0x2020) { + if ((is->inputFlags & IF_EIGHTBIT) && + (is->inputFlags & IF_SSGR)) + i |= 0x8080; + WRITE_2_P(SS2, i); + } + break; + case T_94192: + if (i >= 0x2020) { + if ((is->inputFlags & IF_EIGHTBIT) && + (is->inputFlags & IF_SSGR)) + i |= 0x8000; + WRITE_2_P(SS2, i); + } + break; + default: + abort(); /* NOTREACHED */ - } - continue; - } - } - if(is->inputFlags & IF_SS) { + } + continue; + } + } + if (is->inputFlags & IF_SS) { i = G3(is)->reverse(ucode, G3(is)); - switch(GR(is)->type) { + switch (GR(is)->type) { case T_94: case T_96: case T_128: - if(i >= 0x20) { - if((is->inputFlags & IF_EIGHTBIT) && - (is->inputFlags & IF_SSGR)) - i |= 0x80; - WRITE_1_P(SS3, i); - } - break; + if (i >= 0x20) { + if ((is->inputFlags & IF_EIGHTBIT) && + (is->inputFlags & IF_SSGR)) + i |= 0x80; + WRITE_1_P(SS3, i); + } + break; case T_9494: case T_9696: - if(i >= 0x2020) { - if((is->inputFlags & IF_EIGHTBIT) && - (is->inputFlags & IF_SSGR)) - i |= 0x8080; - WRITE_2_P(SS3, i); - } - break; - case T_94192: - if(i >= 0x2020) { - if((is->inputFlags & IF_EIGHTBIT) && - (is->inputFlags & IF_SSGR)) - i |= 0x8000; - WRITE_2_P(SS3, i); - } - break; - default: - abort(); + if (i >= 0x2020) { + if ((is->inputFlags & IF_EIGHTBIT) && + (is->inputFlags & IF_SSGR)) + i |= 0x8080; + WRITE_2_P(SS3, i); + } + break; + case T_94192: + if (i >= 0x2020) { + if ((is->inputFlags & IF_EIGHTBIT) && + (is->inputFlags & IF_SSGR)) + i |= 0x8000; + WRITE_2_P(SS3, i); + } + break; + default: + abort(); /* NOTREACHED */ - } - continue; - } - if(is->inputFlags & IF_LS) { + } + continue; + } + if (is->inputFlags & IF_LS) { i = GR(is)->reverse(ucode, GR(is)); - if(i >= 0) { - switch(GR(is)->type) { + if (i >= 0) { + switch (GR(is)->type) { case T_94: case T_96: case T_128: - WRITE_1_P_S(LS1, i, LS0); - break; + WRITE_1_P_S(LS1, i, LS0); + break; case T_9494: case T_9696: - WRITE_2_P_S(LS1, i, LS0); - break; - case T_94192: - WRITE_2_P_S(LS1, i, LS0); - break; - default: - abort(); + WRITE_2_P_S(LS1, i, LS0); + break; + case T_94192: + WRITE_2_P_S(LS1, i, LS0); + break; + default: + abort(); /* NOTREACHED */ - } - continue; - } - } + } + continue; + } + } #undef WRITE_1 #undef WRITE_2 #undef WRITE_1_P @@ -676,7 +676,7 @@ copyIn(Iso2022Ptr is, int fd, unsigned char *buf, int count) #undef WRITE_2_P #undef WRITE_2_P_7bit #undef WRITE_2_P_8bit - } + } } } @@ -687,46 +687,46 @@ copyOut(Iso2022Ptr is, int fd, unsigned char *buf, unsigned count) { unsigned char *s = buf; - if(ilog >= 0) + if (ilog >= 0) IGNORE_RC(write(ilog, buf, (size_t) count)); - while(s < buf + count) { - switch(is->parserState) { - case P_NORMAL: - resynch: - if(is->buffered_ku < 0) { - if(*s == ESC) { - buffer(is, *s++); - is->parserState = P_ESC; - } else if(OTHER(is) != NULL) { - int c = OTHER(is)->other_stack(*s, OTHER(is)->other_aux); - if(c >= 0) { + while (s < buf + count) { + switch (is->parserState) { + case P_NORMAL: + resynch: + if (is->buffered_ku < 0) { + if (*s == ESC) { + buffer(is, *s++); + is->parserState = P_ESC; + } else if (OTHER(is) != NULL) { + int c = OTHER(is)->other_stack(*s, OTHER(is)->other_aux); + if (c >= 0) { unsigned ucode = (unsigned) c; outbufUTF8(is, fd, OTHER(is)->other_recode(ucode, OTHER(is)->other_aux)); - is->shiftState = S_NORMAL; - } - s++; - } else if(*s == CSI && CHARSET_REGULAR(GR(is))) { - buffer(is, *s++); - is->parserState = P_CSI; + is->shiftState = S_NORMAL; + } + s++; + } else if (*s == CSI && CHARSET_REGULAR(GR(is))) { + buffer(is, *s++); + is->parserState = P_CSI; } else if ((*s == SS2 || *s == SS3 || *s == LS0 || *s == LS1) && - CHARSET_REGULAR(GR(is))) { - buffer(is, *s++); - terminate(is, fd); - is->parserState = P_NORMAL; - } else if (*s <= 0x20 && is->shiftState == S_NORMAL) { - /* Pass through C0 when GL is not regular */ - outbufOne(is, fd, *s); - s++; - } else { + CHARSET_REGULAR(GR(is))) { + buffer(is, *s++); + terminate(is, fd); + is->parserState = P_NORMAL; + } else if (*s <= 0x20 && is->shiftState == S_NORMAL) { + /* Pass through C0 when GL is not regular */ + outbufOne(is, fd, *s); + s++; + } else { const CharsetRec *charset; - unsigned char code = 0; - if(*s <= 0x7F) { - switch(is->shiftState) { + unsigned char code = 0; + if (*s <= 0x7F) { + switch (is->shiftState) { case S_NORMAL: charset = GL(is); break; @@ -739,10 +739,10 @@ copyOut(Iso2022Ptr is, int fd, unsigned char *buf, unsigned count) default: abort(); /* NOTREACHED */ - } - code = *s; - } else { - switch(is->shiftState) { + } + code = *s; + } else { + switch (is->shiftState) { case S_NORMAL: charset = GR(is); break; @@ -755,44 +755,44 @@ copyOut(Iso2022Ptr is, int fd, unsigned char *buf, unsigned count) default: abort(); /* NOTREACHED */ - } + } code = UChar(*s - 0x80); - } - - switch(charset->type) { - case T_94: - if(code >= 0x21 && code <= 0x7E) - outbufUTF8(is, fd, charset->recode(code, charset)); - else - outbufUTF8(is, fd, *s); - s++; - is->shiftState = S_NORMAL; - break; - case T_96: - if(code >= 0x20) - outbufUTF8(is, fd, charset->recode(code, charset)); - else - outbufUTF8(is, fd, *s); - is->shiftState = S_NORMAL; - s++; - break; - case T_128: - outbufUTF8(is, fd, charset->recode(code, charset)); - is->shiftState = S_NORMAL; - s++; - break; - default: - /* First byte of a multibyte sequence */ - is->buffered_ku = *s; - s++; - } - } - } else { /* buffered_ku */ + } + + switch (charset->type) { + case T_94: + if (code >= 0x21 && code <= 0x7E) + outbufUTF8(is, fd, charset->recode(code, charset)); + else + outbufUTF8(is, fd, *s); + s++; + is->shiftState = S_NORMAL; + break; + case T_96: + if (code >= 0x20) + outbufUTF8(is, fd, charset->recode(code, charset)); + else + outbufUTF8(is, fd, *s); + is->shiftState = S_NORMAL; + s++; + break; + case T_128: + outbufUTF8(is, fd, charset->recode(code, charset)); + is->shiftState = S_NORMAL; + s++; + break; + default: + /* First byte of a multibyte sequence */ + is->buffered_ku = *s; + s++; + } + } + } else { /* buffered_ku */ const CharsetRec *charset; - unsigned char ku_code; - unsigned code = 0; - if(is->buffered_ku <= 0x7F) { - switch(is->shiftState) { + unsigned char ku_code; + unsigned code = 0; + if (is->buffered_ku <= 0x7F) { + switch (is->shiftState) { case S_NORMAL: charset = GL(is); break; @@ -805,12 +805,12 @@ copyOut(Iso2022Ptr is, int fd, unsigned char *buf, unsigned count) default: abort(); /* NOTREACHED */ - } + } ku_code = UChar(is->buffered_ku); - if(*s < 0x80) - code = *s; - } else { - switch(is->shiftState) { + if (*s < 0x80) + code = *s; + } else { + switch (is->shiftState) { case S_NORMAL: charset = GR(is); break; @@ -823,92 +823,92 @@ copyOut(Iso2022Ptr is, int fd, unsigned char *buf, unsigned count) default: abort(); /* NOTREACHED */ - } + } ku_code = UChar(is->buffered_ku - 0x80); - if(*s >= 0x80) + if (*s >= 0x80) code = UChar(*s - 0x80); - } - switch(charset->type) { - case T_94: - case T_96: - case T_128: - abort(); + } + switch (charset->type) { + case T_94: + case T_96: + case T_128: + abort(); /* NOTREACHED */ - break; - case T_9494: - if(code >= 0x21 && code <= 0x7E) { - outbufUTF8(is, fd, + break; + case T_9494: + if (code >= 0x21 && code <= 0x7E) { + outbufUTF8(is, fd, charset->recode(PAIR(ku_code, code), charset)); - is->buffered_ku = -1; - is->shiftState = S_NORMAL; - } else { - is->buffered_ku = -1; - is->shiftState = S_NORMAL; - goto resynch; - } - s++; - break; - case T_9696: - if(code >= 0x20) { - outbufUTF8(is, fd, + is->buffered_ku = -1; + is->shiftState = S_NORMAL; + } else { + is->buffered_ku = -1; + is->shiftState = S_NORMAL; + goto resynch; + } + s++; + break; + case T_9696: + if (code >= 0x20) { + outbufUTF8(is, fd, charset->recode(PAIR(ku_code, code), charset)); - is->buffered_ku = -1; - is->shiftState = S_NORMAL; - } else { - is->buffered_ku = -1; - is->shiftState = S_NORMAL; - goto resynch; - } - s++; - break; - case T_94192: - /* Use *s, not code */ - if(((*s >= 0x21) && (*s <= 0x7E)) || - ((*s >= 0xA1) && (*s <= 0xFE))) { + is->buffered_ku = -1; + is->shiftState = S_NORMAL; + } else { + is->buffered_ku = -1; + is->shiftState = S_NORMAL; + goto resynch; + } + s++; + break; + case T_94192: + /* Use *s, not code */ + if (((*s >= 0x21) && (*s <= 0x7E)) || + ((*s >= 0xA1) && (*s <= 0xFE))) { unsigned ucode = PAIR(ku_code, *s); - outbufUTF8(is, fd, + outbufUTF8(is, fd, charset->recode(ucode, charset)); - is->buffered_ku = -1; - is->shiftState = S_NORMAL; - } else { - is->buffered_ku = -1; - is->shiftState = S_NORMAL; - goto resynch; - } - s++; - break; - default: - abort(); + is->buffered_ku = -1; + is->shiftState = S_NORMAL; + } else { + is->buffered_ku = -1; + is->shiftState = S_NORMAL; + goto resynch; + } + s++; + break; + default: + abort(); /* NOTREACHED */ - } - } - break; - case P_ESC: - assert(is->buffered_ku == -1); - if(*s == CSI_7) { - buffer(is, *s++); - is->parserState = P_CSI; - } else if(IS_FINAL_ESC(*s)) { - buffer(is, *s++); - terminate(is, fd); - is->parserState = P_NORMAL; - } else { - buffer(is, *s++); - } - break; - case P_CSI: - if(IS_FINAL_CSI(*s)) { - buffer(is, *s++); - terminate(is, fd); - is->parserState = P_NORMAL; - } else { - buffer(is, *s++); - } - break; - default: - abort(); + } + } + break; + case P_ESC: + assert(is->buffered_ku == -1); + if (*s == CSI_7) { + buffer(is, *s++); + is->parserState = P_CSI; + } else if (IS_FINAL_ESC(*s)) { + buffer(is, *s++); + terminate(is, fd); + is->parserState = P_NORMAL; + } else { + buffer(is, *s++); + } + break; + case P_CSI: + if (IS_FINAL_CSI(*s)) { + buffer(is, *s++); + terminate(is, fd); + is->parserState = P_NORMAL; + } else { + buffer(is, *s++); + } + break; + default: + abort(); /* NOTREACHED */ - } + } } outbuf_flush(is, fd); } @@ -916,79 +916,79 @@ copyOut(Iso2022Ptr is, int fd, unsigned char *buf, unsigned count) void terminate(Iso2022Ptr is, int fd) { - if(is->outputFlags & OF_PASSTHRU) { - outbuf_buffered(is, fd); - return; + if (is->outputFlags & OF_PASSTHRU) { + outbuf_buffered(is, fd); + return; } - switch(is->buffered[0]) { + switch (is->buffered[0]) { case SS2: - if(is->outputFlags & OF_SS) - is->shiftState = S_SS2; - discard_buffered(is); - return; + if (is->outputFlags & OF_SS) + is->shiftState = S_SS2; + discard_buffered(is); + return; case SS3: - if(is->outputFlags & OF_SS) - is->shiftState = S_SS3; - discard_buffered(is); - return; + if (is->outputFlags & OF_SS) + is->shiftState = S_SS3; + discard_buffered(is); + return; case LS0: - if(is->outputFlags & OF_LS) - is->glp = &G0(is); - discard_buffered(is); - return; + if (is->outputFlags & OF_LS) + is->glp = &G0(is); + discard_buffered(is); + return; case LS1: - if(is->outputFlags & OF_LS) - is->glp = &G1(is); - discard_buffered(is); - return; + if (is->outputFlags & OF_LS) + is->glp = &G1(is); + discard_buffered(is); + return; case ESC: - assert(is->buffered_count >= 2); - switch(is->buffered[1]) { - case SS2_7: - if(is->outputFlags & OF_SS) - is->shiftState = S_SS2; - discard_buffered(is); - return; - case SS3_7: - if(is->outputFlags & OF_SS) - is->shiftState = S_SS3; - discard_buffered(is); - return; - case LS2_7: - if(is->outputFlags & OF_SS) - is->glp = &G2(is); - discard_buffered(is); - return; - case LS3_7: - if(is->outputFlags & OF_LS) - is->glp = &G3(is); - discard_buffered(is); - return; - case LS1R_7: - if(is->outputFlags & OF_LS) - is->grp = &G1(is); - discard_buffered(is); - return; - case LS2R_7: - if(is->outputFlags & OF_LS) - is->grp = &G2(is); - discard_buffered(is); - return; - case LS3R_7: - if(is->outputFlags & OF_LS) - is->grp = &G3(is); - discard_buffered(is); - return; - default: + assert(is->buffered_count >= 2); + switch (is->buffered[1]) { + case SS2_7: + if (is->outputFlags & OF_SS) + is->shiftState = S_SS2; + discard_buffered(is); + return; + case SS3_7: + if (is->outputFlags & OF_SS) + is->shiftState = S_SS3; + discard_buffered(is); + return; + case LS2_7: + if (is->outputFlags & OF_SS) + is->glp = &G2(is); + discard_buffered(is); + return; + case LS3_7: + if (is->outputFlags & OF_LS) + is->glp = &G3(is); + discard_buffered(is); + return; + case LS1R_7: + if (is->outputFlags & OF_LS) + is->grp = &G1(is); + discard_buffered(is); + return; + case LS2R_7: + if (is->outputFlags & OF_LS) + is->grp = &G2(is); + discard_buffered(is); + return; + case LS3R_7: + if (is->outputFlags & OF_LS) + is->grp = &G3(is); + discard_buffered(is); + return; + default: terminateEsc(is, fd, is->buffered + 1, (unsigned) (is->buffered_count - 1)); break; - } - return; + } + return; default: - outbuf_buffered(is, fd); + outbuf_buffered(is, fd); } } @@ -1000,17 +1000,17 @@ terminateEsc(Iso2022Ptr is, int fd, unsigned char *s_start, unsigned count) /* ISO 2022 doesn't allow 2C, but Emacs/MULE uses it in 7-bit mode */ - if((s_start[0] == 0x28 || s_start[0] == 0x29 || - s_start[0] == 0x2A || s_start[0] == 0x2B || - s_start[0] == 0x2C || s_start[0] == 0x2D || - s_start[0] == 0x2E || s_start[0] == 0x2F) && - count >= 2) { - if(is->outputFlags & OF_SELECT) { - if(s_start[0] <= 0x2B) - charset = getCharset(s_start[1], T_94); - else - charset = getCharset(s_start[1], T_96); - switch(s_start[0]) { + if ((s_start[0] == 0x28 || s_start[0] == 0x29 || + s_start[0] == 0x2A || s_start[0] == 0x2B || + s_start[0] == 0x2C || s_start[0] == 0x2D || + s_start[0] == 0x2E || s_start[0] == 0x2F) && + count >= 2) { + if (is->outputFlags & OF_SELECT) { + if (s_start[0] <= 0x2B) + charset = getCharset(s_start[1], T_94); + else + charset = getCharset(s_start[1], T_96); + switch (s_start[0]) { case 0x28: case 0x2C: G0(is) = charset; @@ -1027,27 +1027,27 @@ terminateEsc(Iso2022Ptr is, int fd, unsigned char *s_start, unsigned count) case 0x2F: G3(is) = charset; break; - } - } - discard_buffered(is); - } else if(s_start[0] == 0x24 && count == 2) { - if(is->outputFlags & OF_SELECT) { - charset = getCharset(s_start[1], T_9494); - G0(is) = charset; - } - discard_buffered(is); - } else if(s_start[0] == 0x24 && count >=2 && - (s_start[1] == 0x28 || s_start[1] == 0x29 || - s_start[1] == 0x2A || s_start[1] == 0x2B || - s_start[1] == 0x2D || s_start[1] == 0x2E || - s_start[1] == 0x2F) && - count >= 3) { - if(is->outputFlags & OF_SELECT) { - if(s_start[1] <= 0x2B) - charset = getCharset(s_start[2], T_9494); - else - charset = getCharset(s_start[2], T_9696); - switch(s_start[1]) { + } + } + discard_buffered(is); + } else if (s_start[0] == 0x24 && count == 2) { + if (is->outputFlags & OF_SELECT) { + charset = getCharset(s_start[1], T_9494); + G0(is) = charset; + } + discard_buffered(is); + } else if (s_start[0] == 0x24 && count >= 2 && + (s_start[1] == 0x28 || s_start[1] == 0x29 || + s_start[1] == 0x2A || s_start[1] == 0x2B || + s_start[1] == 0x2D || s_start[1] == 0x2E || + s_start[1] == 0x2F) && + count >= 3) { + if (is->outputFlags & OF_SELECT) { + if (s_start[1] <= 0x2B) + charset = getCharset(s_start[2], T_9494); + else + charset = getCharset(s_start[2], T_9696); + switch (s_start[1]) { case 0x28: G0(is) = charset; break; @@ -1063,11 +1063,11 @@ terminateEsc(Iso2022Ptr is, int fd, unsigned char *s_start, unsigned count) case 0x2F: G3(is) = charset; break; - } - } - discard_buffered(is); + } + } + discard_buffered(is); } else - outbuf_buffered(is, fd); + outbuf_buffered(is, fd); } #ifdef NO_LEAKS @@ -25,40 +25,40 @@ THE SOFTWARE. #include "charset.h" -#define ESC 0x1B -#define CSI 0x9B -#define CSI_7 '[' -#define SS2 0x8E -#define SS2_7 0x4E -#define SS3 0x8F -#define SS3_7 0x4F -#define LS0 0x0F -#define LS1 0x0E -#define LS2_7 0x6E -#define LS3_7 0x6F +#define ESC 0x1B +#define CSI 0x9B +#define CSI_7 '[' +#define SS2 0x8E +#define SS2_7 0x4E +#define SS3 0x8F +#define SS3_7 0x4F +#define LS0 0x0F +#define LS1 0x0E +#define LS2_7 0x6E +#define LS3_7 0x6F #define LS1R_7 0x7E #define LS2R_7 0x7D #define LS3R_7 0x7C #define IS_FINAL_ESC(x) (((x) & 0xF0 ) != 0x20) -#define IS_FINAL_CSI(x) (((x) & 0xF0 ) != 0x20 && (((x) & 0xF0 ) != 0x30)) +#define IS_FINAL_CSI(x) (((x) & 0xF0 ) != 0x20 && (((x) & 0xF0 ) != 0x30)) -#define P_NORMAL 0 -#define P_ESC 1 -#define P_CSI 2 +#define P_NORMAL 0 +#define P_ESC 1 +#define P_CSI 2 -#define S_NORMAL 0 -#define S_SS2 1 -#define S_SS3 2 +#define S_NORMAL 0 +#define S_SS2 1 +#define S_SS3 2 -#define IF_SS 1 -#define IF_LS 2 +#define IF_SS 1 +#define IF_LS 2 #define IF_EIGHTBIT 4 -#define IF_SSGR 8 +#define IF_SSGR 8 -#define OF_SS 1 -#define OF_LS 2 -#define OF_SELECT 4 +#define OF_SS 1 +#define OF_LS 2 +#define OF_SELECT 4 #define OF_PASSTHRU 8 typedef struct _Iso2022 { @@ -95,7 +95,7 @@ int mergeIso2022(Iso2022Ptr, Iso2022Ptr); void reportIso2022(Iso2022Ptr); void terminate(Iso2022Ptr, int); void terminateEsc(Iso2022Ptr, int, unsigned char *, unsigned); -void copyIn(Iso2022Ptr, int, unsigned char*, int); +void copyIn(Iso2022Ptr, int, unsigned char *, int); void copyOut(Iso2022Ptr, int, unsigned char *, unsigned); #endif /* LUIT_ISO2022_H */ @@ -64,7 +64,7 @@ static volatile int sigwinch_queued = 0; static volatile int sigchld_queued = 0; static int convert(int, int); -static int condom(int, char**); +static int condom(int, char **); static void ErrorF(const char *f,...) @@ -88,18 +88,18 @@ FatalError(const char *f,...) static void help(void) { - fprintf(stderr, - "luit\n" + fprintf(stderr, + "luit\n" " [ -V ] [ -h ] [ -list ] [ -v ] [ -argv0 name ]\n" - " [ -gl gn ] [-gr gk] " - "[ -g0 set ] [ -g1 set ] " - "[ -g2 set ] [ -g3 set ]\n" - " [ -encoding encoding ] " - "[ +oss ] [ +ols ] [ +osl ] [ +ot ]\n" - " [ -kgl gn ] [-kgr gk] " - "[ -kg0 set ] [ -kg1 set ] " - "[ -kg2 set ] [ -kg3 set ]\n" - " [ -k7 ] [ +kss ] [ +kssgr ] [ -kls ]\n" + " [ -gl gn ] [-gr gk] " + "[ -g0 set ] [ -g1 set ] " + "[ -g2 set ] [ -g3 set ]\n" + " [ -encoding encoding ] " + "[ +oss ] [ +ols ] [ +osl ] [ +ot ]\n" + " [ -kgl gn ] [-kgr gk] " + "[ -kg0 set ] [ -kg1 set ] " + "[ -kg2 set ] [ -kg3 set ]\n" + " [ -k7 ] [ +kss ] [ +kssgr ] [ -kls ]\n" " [ -c ] " "[ -p ] " "[ -x ] " @@ -107,206 +107,206 @@ help(void) "[ -olog filename ] " "[ -alias filename ] " "[ -- ]\n" - " [ program [ args ] ]\n"); + " [ program [ args ] ]\n"); } - + static int parseOptions(int argc, char **argv) { int i = 1; - while(i < argc) { - if(argv[i][0] != '-' && argv[i][0] != '+') { - break; - } else if(!strcmp(argv[i], "--")) { - i++; - break; - } else if(!strcmp(argv[i], "-v")) { - verbose++; - i++; + while (i < argc) { + if (argv[i][0] != '-' && argv[i][0] != '+') { + break; + } else if (!strcmp(argv[i], "--")) { + i++; + break; + } else if (!strcmp(argv[i], "-v")) { + verbose++; + i++; } else if (!strcmp(argv[i], "-V")) { printf("%s - %s\n", argv[0], VERSION); ExitProgram(0); - } else if(!strcmp(argv[i], "-h")) { - help(); + } else if (!strcmp(argv[i], "-h")) { + help(); ExitProgram(0); - } else if(!strcmp(argv[i], "-list")) { - reportCharsets(); + } else if (!strcmp(argv[i], "-list")) { + reportCharsets(); ExitProgram(0); - } else if(!strcmp(argv[i], "+oss")) { - outputState->outputFlags &= ~OF_SS; - i++; - } else if(!strcmp(argv[i], "+ols")) { - outputState->outputFlags &= ~OF_LS; - i++; - } else if(!strcmp(argv[i], "+osl")) { - outputState->outputFlags &= ~OF_SELECT; - i++; - } else if(!strcmp(argv[i], "+ot")) { - outputState->outputFlags = OF_PASSTHRU; - i++; - } else if(!strcmp(argv[i], "-k7")) { - inputState->inputFlags &= ~IF_EIGHTBIT; - i++; - } else if(!strcmp(argv[i], "+kss")) { - inputState->inputFlags &= ~IF_SS; - i++; - } else if(!strcmp(argv[1], "+kssgr")) { - inputState->inputFlags &= ~IF_SSGR; - i++; - } else if(!strcmp(argv[i], "-kls")) { - inputState->inputFlags |= IF_LS; - i++; - } else if(!strcmp(argv[i], "-g0")) { - if(i + 1 >= argc) - FatalError("-g0 requires an argument\n"); - G0(outputState) = getCharsetByName(argv[i + 1]); - i += 2; - } else if(!strcmp(argv[i], "-g1")) { - if(i + 1 >= argc) - FatalError("-g1 requires an argument\n"); - G1(outputState) = getCharsetByName(argv[i + 1]); - i += 2; - } else if(!strcmp(argv[i], "-g2")) { - if(i + 1 >= argc) - FatalError("-g2 requires an argument\n"); - G2(outputState) = getCharsetByName(argv[i + 1]); - i += 2; - } else if(!strcmp(argv[i], "-g3")) { - if(i + 1 >= argc) - FatalError("-g3 requires an argument\n"); - G3(outputState) = getCharsetByName(argv[i + 1]); - - i += 2; - } else if(!strcmp(argv[i], "-gl")) { - int j; - if(i + 1 >= argc) - FatalError("-gl requires an argument\n"); - if(strlen(argv[i + 1]) != 2 || - argv[i + 1][0] != 'g') - j = -1; - else - j = argv[i + 1][1] - '0'; - if(j < 0 || j > 3) - FatalError("The argument of -gl " - "should be one of g0 through g3,\n" - "not %s\n", argv[i + 1]); - else - outputState->glp = &outputState->g[j]; - i += 2; - } else if(!strcmp(argv[i], "-gr")) { - int j; - if(i + 1 >= argc) - FatalError("-gr requires an argument\n"); - if(strlen(argv[i + 1]) != 2 || - argv[i + 1][0] != 'g') - j = -1; - else - j = argv[i + 1][1] - '0'; - if(j < 0 || j > 3) - FatalError("The argument of -gl " - "should be one of g0 through g3,\n" - "not %s\n", argv[i + 1]); - else - outputState->grp = &outputState->g[j]; - i += 2; - } else if(!strcmp(argv[i], "-kg0")) { - if(i + 1 >= argc) - FatalError("-kg0 requires an argument\n"); - G0(inputState) = getCharsetByName(argv[i + 1]); - i += 2; - } else if(!strcmp(argv[i], "-kg1")) { - if(i + 1 >= argc) - FatalError("-kg1 requires an argument\n"); - G1(inputState) = getCharsetByName(argv[i + 1]); - i += 2; - } else if(!strcmp(argv[i], "-kg2")) { - if(i + 1 >= argc) - FatalError("-kg2 requires an argument\n"); - G2(inputState) = getCharsetByName(argv[i + 1]); - i += 2; - } else if(!strcmp(argv[i], "-kg3")) { - if(i + 1 >= argc) - FatalError("-kg3 requires an argument\n"); - G3(inputState) = getCharsetByName(argv[i + 1]); - - i += 2; - } else if(!strcmp(argv[i], "-kgl")) { - int j; - if(i + 1 >= argc) - FatalError("-kgl requires an argument\n"); - if(strlen(argv[i + 1]) != 2 || - argv[i + 1][0] != 'g') - j = -1; - else - j = argv[i + 1][1] - '0'; - if(j < 0 || j > 3) - FatalError("The argument of -kgl " - "should be one of g0 through g3,\n" - "not %s\n", argv[i + 1]); - else - inputState->glp = &inputState->g[j]; - i += 2; - } else if(!strcmp(argv[i], "-kgr")) { - int j; - if(i + 1 >= argc) - FatalError("-kgl requires an argument\n"); - if(strlen(argv[i + 1]) != 2 || - argv[i + 1][0] != 'g') - j = -1; - else - j = argv[i + 1][1] - '0'; - if(j < 0 || j > 3) - FatalError("The argument of -kgl " - "should be one of g0 through g3,\n" - "not %s\n", argv[i + 1]); - else - inputState->grp = &inputState->g[j]; - i += 2; - } else if(!strcmp(argv[i], "-argv0")) { - if(i + 1 >= argc) - FatalError("-argv0 requires an argument\n"); - child_argv0 = argv[i + 1]; - i += 2; - } else if(!strcmp(argv[i], "-x")) { - exitOnChild = 1; - i++; - } else if(!strcmp(argv[i], "-c")) { - converter = 1; - i++; - } else if(!strcmp(argv[i], "-ilog")) { - if(i + 1 >= argc) - FatalError("-ilog requires an argument\n"); - ilog = open(argv[i + 1], O_WRONLY | O_CREAT | O_TRUNC, 0777); - if(ilog < 0) { - perror("Couldn't open input log"); + } else if (!strcmp(argv[i], "+oss")) { + outputState->outputFlags &= ~OF_SS; + i++; + } else if (!strcmp(argv[i], "+ols")) { + outputState->outputFlags &= ~OF_LS; + i++; + } else if (!strcmp(argv[i], "+osl")) { + outputState->outputFlags &= ~OF_SELECT; + i++; + } else if (!strcmp(argv[i], "+ot")) { + outputState->outputFlags = OF_PASSTHRU; + i++; + } else if (!strcmp(argv[i], "-k7")) { + inputState->inputFlags &= ~IF_EIGHTBIT; + i++; + } else if (!strcmp(argv[i], "+kss")) { + inputState->inputFlags &= ~IF_SS; + i++; + } else if (!strcmp(argv[1], "+kssgr")) { + inputState->inputFlags &= ~IF_SSGR; + i++; + } else if (!strcmp(argv[i], "-kls")) { + inputState->inputFlags |= IF_LS; + i++; + } else if (!strcmp(argv[i], "-g0")) { + if (i + 1 >= argc) + FatalError("-g0 requires an argument\n"); + G0(outputState) = getCharsetByName(argv[i + 1]); + i += 2; + } else if (!strcmp(argv[i], "-g1")) { + if (i + 1 >= argc) + FatalError("-g1 requires an argument\n"); + G1(outputState) = getCharsetByName(argv[i + 1]); + i += 2; + } else if (!strcmp(argv[i], "-g2")) { + if (i + 1 >= argc) + FatalError("-g2 requires an argument\n"); + G2(outputState) = getCharsetByName(argv[i + 1]); + i += 2; + } else if (!strcmp(argv[i], "-g3")) { + if (i + 1 >= argc) + FatalError("-g3 requires an argument\n"); + G3(outputState) = getCharsetByName(argv[i + 1]); + + i += 2; + } else if (!strcmp(argv[i], "-gl")) { + int j; + if (i + 1 >= argc) + FatalError("-gl requires an argument\n"); + if (strlen(argv[i + 1]) != 2 || + argv[i + 1][0] != 'g') + j = -1; + else + j = argv[i + 1][1] - '0'; + if (j < 0 || j > 3) + FatalError("The argument of -gl " + "should be one of g0 through g3,\n" + "not %s\n", argv[i + 1]); + else + outputState->glp = &outputState->g[j]; + i += 2; + } else if (!strcmp(argv[i], "-gr")) { + int j; + if (i + 1 >= argc) + FatalError("-gr requires an argument\n"); + if (strlen(argv[i + 1]) != 2 || + argv[i + 1][0] != 'g') + j = -1; + else + j = argv[i + 1][1] - '0'; + if (j < 0 || j > 3) + FatalError("The argument of -gl " + "should be one of g0 through g3,\n" + "not %s\n", argv[i + 1]); + else + outputState->grp = &outputState->g[j]; + i += 2; + } else if (!strcmp(argv[i], "-kg0")) { + if (i + 1 >= argc) + FatalError("-kg0 requires an argument\n"); + G0(inputState) = getCharsetByName(argv[i + 1]); + i += 2; + } else if (!strcmp(argv[i], "-kg1")) { + if (i + 1 >= argc) + FatalError("-kg1 requires an argument\n"); + G1(inputState) = getCharsetByName(argv[i + 1]); + i += 2; + } else if (!strcmp(argv[i], "-kg2")) { + if (i + 1 >= argc) + FatalError("-kg2 requires an argument\n"); + G2(inputState) = getCharsetByName(argv[i + 1]); + i += 2; + } else if (!strcmp(argv[i], "-kg3")) { + if (i + 1 >= argc) + FatalError("-kg3 requires an argument\n"); + G3(inputState) = getCharsetByName(argv[i + 1]); + + i += 2; + } else if (!strcmp(argv[i], "-kgl")) { + int j; + if (i + 1 >= argc) + FatalError("-kgl requires an argument\n"); + if (strlen(argv[i + 1]) != 2 || + argv[i + 1][0] != 'g') + j = -1; + else + j = argv[i + 1][1] - '0'; + if (j < 0 || j > 3) + FatalError("The argument of -kgl " + "should be one of g0 through g3,\n" + "not %s\n", argv[i + 1]); + else + inputState->glp = &inputState->g[j]; + i += 2; + } else if (!strcmp(argv[i], "-kgr")) { + int j; + if (i + 1 >= argc) + FatalError("-kgl requires an argument\n"); + if (strlen(argv[i + 1]) != 2 || + argv[i + 1][0] != 'g') + j = -1; + else + j = argv[i + 1][1] - '0'; + if (j < 0 || j > 3) + FatalError("The argument of -kgl " + "should be one of g0 through g3,\n" + "not %s\n", argv[i + 1]); + else + inputState->grp = &inputState->g[j]; + i += 2; + } else if (!strcmp(argv[i], "-argv0")) { + if (i + 1 >= argc) + FatalError("-argv0 requires an argument\n"); + child_argv0 = argv[i + 1]; + i += 2; + } else if (!strcmp(argv[i], "-x")) { + exitOnChild = 1; + i++; + } else if (!strcmp(argv[i], "-c")) { + converter = 1; + i++; + } else if (!strcmp(argv[i], "-ilog")) { + if (i + 1 >= argc) + FatalError("-ilog requires an argument\n"); + ilog = open(argv[i + 1], O_WRONLY | O_CREAT | O_TRUNC, 0777); + if (ilog < 0) { + perror("Couldn't open input log"); ExitProgram(1); - } - i += 2; - } else if(!strcmp(argv[i], "-olog")) { - if(i + 1 >= argc) - FatalError("-olog requires an argument\n"); - olog = open(argv[i + 1], O_WRONLY | O_CREAT | O_TRUNC, 0777); - if(olog < 0) { - perror("Couldn't open output log"); + } + i += 2; + } else if (!strcmp(argv[i], "-olog")) { + if (i + 1 >= argc) + FatalError("-olog requires an argument\n"); + olog = open(argv[i + 1], O_WRONLY | O_CREAT | O_TRUNC, 0777); + if (olog < 0) { + perror("Couldn't open output log"); ExitProgram(1); - } - i += 2; + } + i += 2; } else if (!strcmp(argv[i], "-alias")) { if (i + 1 >= argc) FatalError("-alias requires an argument\n"); locale_alias = argv[i + 1]; i += 2; - } else if(!strcmp(argv[i], "-encoding")) { - if(i + 1 >= argc) - FatalError("-encoding requires an argument\n"); + } else if (!strcmp(argv[i], "-encoding")) { + if (i + 1 >= argc) + FatalError("-encoding requires an argument\n"); locale_name = argv[i + 1]; - i += 2; + i += 2; } else if (!strcmp(argv[i], "-p")) { pipe_option = 1; i += 1; - } else { - FatalError("Unknown option %s\n", argv[i]); - } + } else { + FatalError("Unknown option %s\n", argv[i]); + } } return i; } @@ -320,40 +320,40 @@ parseArgs(int argc, char **argv, char *path = NULL; char **child_argv = NULL; - if(argc <= 0) { - char *shell; - shell = getenv("SHELL"); - if(shell) { + if (argc <= 0) { + char *shell; + shell = getenv("SHELL"); + if (shell) { path = strmalloc(shell); if (!path) goto bail; - } else { + } else { path = strmalloc("/bin/sh"); - if(!path) - goto bail; + if (!path) + goto bail; } - child_argv = malloc(2 * sizeof(char*)); - if(!child_argv) - goto bail; - if(argv0) - child_argv[0] = argv0; - else - child_argv[0] = my_basename(path); - child_argv[1] = NULL; + child_argv = malloc(2 * sizeof(char *)); + if (!child_argv) + goto bail; + if (argv0) + child_argv[0] = argv0; + else + child_argv[0] = my_basename(path); + child_argv[1] = NULL; } else { path = strmalloc(argv[0]); - if(!path) - goto bail; + if (!path) + goto bail; child_argv = malloc((unsigned) (argc + 1) * sizeof(char *)); - if(!child_argv) { - goto bail; - } - if(child_argv0) - child_argv[0] = argv0; - else - child_argv[0] = my_basename(argv[0]); + if (!child_argv) { + goto bail; + } + if (child_argv0) + child_argv[0] = argv0; + else + child_argv[0] = my_basename(argv[0]); memcpy(child_argv + 1, argv + 1, (unsigned) (argc - 1) * sizeof(char *)); - child_argv[argc] = NULL; + child_argv[argc] = NULL; } *path_return = path; @@ -361,13 +361,13 @@ parseArgs(int argc, char **argv, return 0; bail: - if(path) - free(path); - if(argv) - free(argv); + if (path) + free(path); + if (argv) + free(argv); return -1; } - + int main(int argc, char **argv) { @@ -381,47 +381,47 @@ main(int argc, char **argv) #endif l = setlocale(LC_ALL, ""); - if(!l) - ErrorF("Warning: couldn't set locale.\n"); + if (!l) + ErrorF("Warning: couldn't set locale.\n"); inputState = allocIso2022(); - if(!inputState) - FatalError("Couldn't create input state\n"); - + if (!inputState) + FatalError("Couldn't create input state\n"); + outputState = allocIso2022(); - if(!outputState) - FatalError("Couldn't create output state\n"); - - if(l) { - locale_name = setlocale(LC_CTYPE, NULL); + if (!outputState) + FatalError("Couldn't create output state\n"); + + if (l) { + locale_name = setlocale(LC_CTYPE, NULL); } else { - locale_name = getenv("LC_ALL"); - if(locale_name == NULL) { - locale_name = getenv("LC_CTYPE"); - if(locale_name == NULL) { - locale_name = getenv("LANG"); - } - } + locale_name = getenv("LC_ALL"); + if (locale_name == NULL) { + locale_name = getenv("LC_CTYPE"); + if (locale_name == NULL) { + locale_name = getenv("LANG"); + } + } } - if(locale_name == NULL) { - ErrorF("Couldn't get locale name -- using C\n"); - locale_name = "C"; + if (locale_name == NULL) { + ErrorF("Couldn't get locale name -- using C\n"); + locale_name = "C"; } i = parseOptions(argc, argv); - if(i < 0) - FatalError("Couldn't parse options\n"); + if (i < 0) + FatalError("Couldn't parse options\n"); rc = initIso2022(locale_name, NULL, outputState); if (rc < 0) FatalError("Couldn't init output state\n"); rc = mergeIso2022(inputState, outputState); - if(rc < 0) - FatalError("Couldn't init input state\n"); + if (rc < 0) + FatalError("Couldn't init input state\n"); - if(converter) + if (converter) rc = convert(0, 1); else rc = condom(argc - i, argv + i); @@ -439,25 +439,25 @@ convert(int ifd, int ofd) unsigned char buf[BUFFER_SIZE]; rc = droppriv(); - if(rc < 0) { + if (rc < 0) { perror("Couldn't drop privileges"); ExitProgram(1); } - while(1) { + while (1) { i = (int) read(ifd, buf, (size_t) BUFFER_SIZE); - if(i <= 0) { - if(i < 0) { - perror("Read error"); + if (i <= 0) { + if (i < 0) { + perror("Read error"); ExitProgram(1); - } - break; - } + } + break; + } copyOut(outputState, ofd, buf, (unsigned) i); } return 0; } - + #ifdef SIGWINCH static void sigwinchHandler(int sig GCC_UNUSED) @@ -484,20 +484,20 @@ setup_io(int pty) installHandler(SIGCHLD, sigchldHandler); rc = copyTermios(0, pty); - if(rc < 0) - FatalError("Couldn't copy terminal settings\n"); + if (rc < 0) + FatalError("Couldn't copy terminal settings\n"); rc = setRawTermios(); - if(rc < 0) - FatalError("Couldn't set terminal to raw\n"); + if (rc < 0) + FatalError("Couldn't set terminal to raw\n"); val = fcntl(0, F_GETFL, 0); - if(val >= 0) { - fcntl(0, F_SETFL, val | O_NONBLOCK); + if (val >= 0) { + fcntl(0, F_SETFL, val | O_NONBLOCK); } val = fcntl(pty, F_GETFL, 0); - if(val >= 0) { - fcntl(pty, F_SETFL, val | O_NONBLOCK); + if (val >= 0) { + fcntl(pty, F_SETFL, val | O_NONBLOCK); } setWindowSize(0, pty); @@ -578,25 +578,25 @@ condom(int argc, char **argv) } pid = fork(); - if(pid < 0) { - perror("Couldn't fork"); + if (pid < 0) { + perror("Couldn't fork"); ExitProgram(1); } - if(pid == 0) { - close(pty); + if (pid == 0) { + close(pty); if (pipe_option) { close_waitpipe(1); } - child(line, path, child_argv); + child(line, path, child_argv); } else { if (pipe_option) { close_waitpipe(0); } - free(child_argv); - free(path); - free(line); - parent(pid, pty); + free(child_argv); + free(path); + free(line); + parent(pid, pty); } return 0; @@ -613,30 +613,30 @@ child(char *line, char *path, char *const argv[]) close(2); pgrp = setsid(); - if(pgrp < 0) { - kill(getppid(), SIGABRT); + if (pgrp < 0) { + kill(getppid(), SIGABRT); ExitProgram(1); } tty = openTty(line); - if(tty < 0) { - kill(getppid(), SIGABRT); + if (tty < 0) { + kill(getppid(), SIGABRT); ExitProgram(1); } if (pipe_option) { write_waitpipe(c2p_waitpipe); } - - if(tty != 0) - dup2(tty, 0); - if(tty != 1) - dup2(tty, 1); - if(tty != 2) - dup2(tty, 2); - - if(tty > 2) - close(tty); - + + if (tty != 0) + dup2(tty, 0); + if (tty != 1) + dup2(tty, 1); + if (tty != 2) + dup2(tty, 2); + + if (tty > 2) + close(tty); + if (pipe_option) { read_waitpipe(p2c_waitpipe); close_waitpipe(0); @@ -658,8 +658,8 @@ parent(int pid GCC_UNUSED, int pty) read_waitpipe(c2p_waitpipe); } - if(verbose) { - reportIso2022(outputState); + if (verbose) { + reportIso2022(outputState); } setup_io(pty); @@ -668,33 +668,33 @@ parent(int pid GCC_UNUSED, int pty) close_waitpipe(1); } - for(;;) { - rc = waitForInput(0, pty); + for (;;) { + rc = waitForInput(0, pty); - if(sigwinch_queued) { - sigwinch_queued = 0; - setWindowSize(0, pty); - } + if (sigwinch_queued) { + sigwinch_queued = 0; + setWindowSize(0, pty); + } - if(sigchld_queued && exitOnChild) - break; + if (sigchld_queued && exitOnChild) + break; - if(rc > 0) { - if(rc & 2) { + if (rc > 0) { + if (rc & 2) { i = (int) read(pty, buf, (size_t) BUFFER_SIZE); - if((i == 0) || ((i < 0) && (errno != EAGAIN))) - break; - if(i > 0) + if ((i == 0) || ((i < 0) && (errno != EAGAIN))) + break; + if (i > 0) copyOut(outputState, 0, buf, (unsigned) i); - } - if(rc & 1) { + } + if (rc & 1) { i = (int) read(0, buf, (size_t) BUFFER_SIZE); - if((i == 0) || ((i < 0) && (errno != EAGAIN))) - break; - if(i > 0) - copyIn(inputState, pty, buf, i); - } - } + if ((i == 0) || ((i < 0) && (errno != EAGAIN))) + break; + if (i > 0) + copyIn(inputState, pty, buf, i); + } + } } restoreTermios(); @@ -40,7 +40,7 @@ int init_gbk(OtherStatePtr s) { s->gbk.mapping = - FontEncMapFind("gbk-0", FONT_ENCODING_UNICODE, -1, -1, NULL); + FontEncMapFind("gbk-0", FONT_ENCODING_UNICODE, -1, -1, NULL); if (!s->gbk.mapping) return 0; @@ -77,23 +77,23 @@ reverse_gbk(unsigned int n, OtherStatePtr s) int stack_gbk(unsigned c, OtherStatePtr s) { - if(s->gbk.buf < 0) { + if (s->gbk.buf < 0) { if (c < 129) return (int) c; s->gbk.buf = (int) c; return -1; } else { - int b; - if(c < 0x40 || c == 0x7F) { - s->gbk.buf = -1; + int b; + if (c < 0x40 || c == 0x7F) { + s->gbk.buf = -1; return (int) c; - } - if(s->gbk.buf < 0xFF && c < 0xFF) + } + if (s->gbk.buf < 0xFF && c < 0xFF) b = (int) ((unsigned) (s->gbk.buf << 8) + c); - else - b = -1; - s->gbk.buf = -1; - return b; + else + b = -1; + s->gbk.buf = -1; + return b; } } @@ -113,14 +113,14 @@ mapping_utf8(unsigned int n, OtherStatePtr s GCC_UNUSED) unsigned int reverse_utf8(unsigned int n, OtherStatePtr s GCC_UNUSED) { - if(n < 0x80) - return n; - if(n < 0x800) - return 0xC080 + ((n&0x7C0)<<2) + (n&0x3F); - if(n < 0x10000) - return 0xE08080 + ((n&0xF000)<<4) + ((n&0xFC0)<<2) + (n&0x3F); - return 0xF0808080 + ((n&0x1C0000)<<6) + ((n&0x3F000)<<4) + - ((n&0xFC0)<<2) + (n&0x3F); + if (n < 0x80) + return n; + if (n < 0x800) + return 0xC080 + ((n & 0x7C0) << 2) + (n & 0x3F); + if (n < 0x10000) + return 0xE08080 + ((n & 0xF000) << 4) + ((n & 0xFC0) << 2) + (n & 0x3F); + return 0xF0808080 + ((n & 0x1C0000) << 6) + ((n & 0x3F000) << 4) + + ((n & 0xFC0) << 2) + (n & 0x3F); } int @@ -128,11 +128,11 @@ stack_utf8(unsigned c, OtherStatePtr s) { int u; - if(c < 0x80) { - s->utf8.buf_ptr = 0; + if (c < 0x80) { + s->utf8.buf_ptr = 0; return (int) c; } - if(s->utf8.buf_ptr == 0) { + if (s->utf8.buf_ptr == 0) { if ((c & 0x40) == 0) return -1; s->utf8.buf[s->utf8.buf_ptr++] = UChar(c); @@ -144,38 +144,38 @@ stack_utf8(unsigned c, OtherStatePtr s) s->utf8.len = 4; else s->utf8.buf_ptr = 0; - return -1; + return -1; } - if((c & 0x40) != 0) { - s->utf8.buf_ptr = 0; - return -1; + if ((c & 0x40) != 0) { + s->utf8.buf_ptr = 0; + return -1; } s->utf8.buf[s->utf8.buf_ptr++] = UChar(c); if (s->utf8.buf_ptr < s->utf8.len) return -1; - switch(s->utf8.len) { + switch (s->utf8.len) { case 2: - u = ((s->utf8.buf[0] & 0x1F) << 6) | (s->utf8.buf[1] & 0x3F); - s->utf8.buf_ptr = 0; + u = ((s->utf8.buf[0] & 0x1F) << 6) | (s->utf8.buf[1] & 0x3F); + s->utf8.buf_ptr = 0; if (u < 0x80) return -1; else return u; case 3: - u = ((s->utf8.buf[0] & 0x0F) << 12) - | ((s->utf8.buf[1] & 0x3F) << 6) - | (s->utf8.buf[2] & 0x3F); - s->utf8.buf_ptr = 0; + u = ((s->utf8.buf[0] & 0x0F) << 12) + | ((s->utf8.buf[1] & 0x3F) << 6) + | (s->utf8.buf[2] & 0x3F); + s->utf8.buf_ptr = 0; if (u < 0x800) return -1; else return u; case 4: - u = ((s->utf8.buf[0] & 0x03) << 18) - | ((s->utf8.buf[1] & 0x3F) << 12) - | ((s->utf8.buf[2] & 0x3F) << 6) - | ((s->utf8.buf[3] & 0x3F)); - s->utf8.buf_ptr = 0; + u = ((s->utf8.buf[0] & 0x03) << 18) + | ((s->utf8.buf[1] & 0x3F) << 12) + | ((s->utf8.buf[2] & 0x3F) << 6) + | ((s->utf8.buf[3] & 0x3F)); + s->utf8.buf_ptr = 0; if (u < 0x10000) return -1; else @@ -195,7 +195,7 @@ int init_sjis(OtherStatePtr s) { s->sjis.x0208mapping = - FontEncMapFind("jisx0208.1990-0", FONT_ENCODING_UNICODE, -1, -1, NULL); + FontEncMapFind("jisx0208.1990-0", FONT_ENCODING_UNICODE, -1, -1, NULL); if (!s->sjis.x0208mapping) return 0; @@ -204,7 +204,7 @@ init_sjis(OtherStatePtr s) return 0; s->sjis.x0201mapping = - FontEncMapFind("jisx0201.1976-0", FONT_ENCODING_UNICODE, -1, -1, NULL); + FontEncMapFind("jisx0201.1976-0", FONT_ENCODING_UNICODE, -1, -1, NULL); if (!s->sjis.x0201mapping) return 0; @@ -228,8 +228,8 @@ mapping_sjis(unsigned int n, OtherStatePtr s) return n; if (n >= 0xA0 && n <= 0xDF) return FontEncRecode(n, s->sjis.x0201mapping); - s1 = ((n>>8)&0xFF); - s2 = (n&0xFF); + s1 = ((n >> 8) & 0xFF); + s2 = (n & 0xFF); j1 = (s1 << 1) - (unsigned) (s1 <= 0x9F ? 0xE0 : 0x160) - (unsigned) (s2 < 0x9F ? 1 : 0); @@ -237,7 +237,7 @@ mapping_sjis(unsigned int n, OtherStatePtr s) - 0x1F - (unsigned) (s2 >= 0x7F ? 1 : 0) - (unsigned) (s2 >= 0x9F ? 0x5E : 0); - return FontEncRecode((j1<<8) + j2, s->sjis.x0208mapping); + return FontEncRecode((j1 << 8) + j2, s->sjis.x0208mapping); } unsigned int @@ -250,38 +250,38 @@ reverse_sjis(unsigned int n, OtherStatePtr s) return OVERLINE_SJIS; if (n < 0x80) return n; - if(n >= HALFWIDTH_10646) - return s->sjis.x0201reverse->reverse(n, s->sjis.x0201reverse->data); + if (n >= HALFWIDTH_10646) + return s->sjis.x0201reverse->reverse(n, s->sjis.x0201reverse->data); j = s->sjis.x0208reverse->reverse(n, s->sjis.x0208reverse->data); - j1 = ((j>>8)&0xFF); - j2 = (j&0xFF); + j1 = ((j >> 8) & 0xFF); + j2 = (j & 0xFF); s1 = ((j1 - 1) >> 1) + (unsigned) ((j1 <= 0x5E) ? 0x71 : 0xB1); s2 = j2 + (unsigned) ((j1 & 1) ? ((j2 < 0x60) ? 0x1F : 0x20) : 0x7E); - return (s1<<8) + s2; + return (s1 << 8) + s2; } int stack_sjis(unsigned c, OtherStatePtr s) { - if(s->sjis.buf < 0) { + if (s->sjis.buf < 0) { if (c < 128 || (c >= 0xA0 && c <= 0xDF)) return (int) c; s->sjis.buf = (int) c; return -1; } else { - int b; - if(c < 0x40 || c == 0x7F) { - s->sjis.buf = -1; + int b; + if (c < 0x40 || c == 0x7F) { + s->sjis.buf = -1; return (int) c; - } - if(s->sjis.buf < 0xFF && c < 0xFF) + } + if (s->sjis.buf < 0xFF && c < 0xFF) b = (int) ((unsigned) (s->sjis.buf << 8) + c); - else - b = -1; - s->sjis.buf = -1; - return b; + else + b = -1; + s->sjis.buf = -1; + return b; } } @@ -289,7 +289,7 @@ int init_hkscs(OtherStatePtr s) { s->hkscs.mapping = - FontEncMapFind("big5hkscs-0", FONT_ENCODING_UNICODE, -1, -1, NULL); + FontEncMapFind("big5hkscs-0", FONT_ENCODING_UNICODE, -1, -1, NULL); if (!s->hkscs.mapping) return 0; @@ -326,23 +326,23 @@ reverse_hkscs(unsigned int n, OtherStatePtr s) int stack_hkscs(unsigned c, OtherStatePtr s) { - if(s->hkscs.buf < 0) { + if (s->hkscs.buf < 0) { if (c < 129) return (int) c; s->hkscs.buf = (int) c; return -1; } else { - int b; - if(c < 0x40 || c == 0x7F) { - s->hkscs.buf = -1; + int b; + if (c < 0x40 || c == 0x7F) { + s->hkscs.buf = -1; return (int) c; - } - if(s->hkscs.buf < 0xFF && c < 0xFF) + } + if (s->hkscs.buf < 0xFF && c < 0xFF) b = (int) ((unsigned) (s->hkscs.buf << 8) + c); - else - b = -1; - s->hkscs.buf = -1; - return b; + else + b = -1; + s->hkscs.buf = -1; + return b; } } @@ -366,7 +366,7 @@ int init_gb18030(OtherStatePtr s) { s->gb18030.cs0_mapping = - FontEncMapFind("gb18030.2000-0", FONT_ENCODING_UNICODE, -1, -1, NULL); + FontEncMapFind("gb18030.2000-0", FONT_ENCODING_UNICODE, -1, -1, NULL); if (!s->gb18030.cs0_mapping) return 0; @@ -375,7 +375,7 @@ init_gb18030(OtherStatePtr s) return 0; s->gb18030.cs1_mapping = - FontEncMapFind("gb18030.2000-1", FONT_ENCODING_UNICODE, -1, -1, NULL); + FontEncMapFind("gb18030.2000-1", FONT_ENCODING_UNICODE, -1, -1, NULL); if (!s->gb18030.cs1_mapping) return 0; @@ -383,7 +383,7 @@ init_gb18030(OtherStatePtr s) if (!s->gb18030.cs1_reverse) return 0; - s->gb18030.linear = 0; + s->gb18030.linear = 0; s->gb18030.buf_ptr = 0; return 1; } @@ -395,9 +395,9 @@ mapping_gb18030(unsigned int n, OtherStatePtr s) return n; /* 0x80 is valid but unassigned codepoint */ if (n >= 0xFFFF) return '?'; - + return FontEncRecode(n, - (s->gb18030.linear)?s->gb18030.cs1_mapping:s->gb18030.cs0_mapping); + (s->gb18030.linear) ? s->gb18030.cs1_mapping : s->gb18030.cs0_mapping); } unsigned int @@ -411,11 +411,11 @@ reverse_gb18030(unsigned int n, OtherStatePtr s) r = s->gb18030.cs0_reverse->reverse(n, s->gb18030.cs0_reverse->data); if (r != 0) - return r; + return r; r = s->gb18030.cs1_reverse->reverse(n, s->gb18030.cs1_reverse->data); if (r != 0) { - unsigned char bytes[4]; + unsigned char bytes[4]; bytes[3] = UChar(0x30 + r % 10); r /= 10; @@ -425,10 +425,10 @@ reverse_gb18030(unsigned int n, OtherStatePtr s) r /= 10; bytes[0] = UChar(0x81 + r); - r = (unsigned int)bytes[0] << 24; - r |= (unsigned int)bytes[1] << 16; - r |= (unsigned int)bytes[2] << 8; - r |= (unsigned int)bytes[3]; + r = (unsigned int) bytes[0] << 24; + r |= (unsigned int) bytes[1] << 16; + r |= (unsigned int) bytes[2] << 8; + r |= (unsigned int) bytes[3]; } return r; } @@ -437,47 +437,47 @@ int stack_gb18030(unsigned c, OtherStatePtr s) { /* if set gb18030.linear => True. the return value is "linear'd" */ - if(s->gb18030.buf_ptr == 0) { + if (s->gb18030.buf_ptr == 0) { if (c <= 0x80) return (int) c; if (c == 0xFF) return -1; - s->gb18030.linear = 0; + s->gb18030.linear = 0; s->gb18030.buf[s->gb18030.buf_ptr++] = (int) c; - return -1; + return -1; } else if (s->gb18030.buf_ptr == 1) { - if (c >= 0x40) { - s->gb18030.buf_ptr = 0; - if ((c == 0x80) || (c == 0xFF)) - return -1; - else + if (c >= 0x40) { + s->gb18030.buf_ptr = 0; + if ((c == 0x80) || (c == 0xFF)) + return -1; + else return (int) ((unsigned) (s->gb18030.buf[0] << 8) + c); - } else if (c >= 30) { /* 2Byte is (0x30 -> 0x39) */ + } else if (c >= 30) { /* 2Byte is (0x30 -> 0x39) */ s->gb18030.buf[s->gb18030.buf_ptr++] = (int) c; - return -1; - } else { - s->gb18030.buf_ptr = 0; + return -1; + } else { + s->gb18030.buf_ptr = 0; return (int) c; - } + } } else if (s->gb18030.buf_ptr == 2) { - if ((c >= 0x81) && (c <= 0xFE)) { + if ((c >= 0x81) && (c <= 0xFE)) { s->gb18030.buf[s->gb18030.buf_ptr++] = (int) c; - return -1; - } else { - s->gb18030.buf_ptr = 0; + return -1; + } else { + s->gb18030.buf_ptr = 0; return (int) c; - } + } } else { - int r = 0; - s->gb18030.buf_ptr = 0; - if ((c >= 0x30) && (c <= 0x39)) { - s->gb18030.linear = 1; - r = (((s->gb18030.buf[0] - 0x81) * 10 - + (s->gb18030.buf[1] - 0x30)) * 126 - + (s->gb18030.buf[2] - 0x81)) * 10 + int r = 0; + s->gb18030.buf_ptr = 0; + if ((c >= 0x30) && (c <= 0x39)) { + s->gb18030.linear = 1; + r = (((s->gb18030.buf[0] - 0x81) * 10 + + (s->gb18030.buf[1] - 0x30)) * 126 + + (s->gb18030.buf[2] - 0x81)) * 10 + ((int) c - 0x30); - return r; - } - return -1; + return r; + } + return -1; } } @@ -59,15 +59,15 @@ typedef struct { } aux_hkscs; typedef struct { - FontMapPtr cs0_mapping; /* gb18030.2000-0 */ - FontMapReversePtr cs0_reverse; + FontMapPtr cs0_mapping; /* gb18030.2000-0 */ + FontMapReversePtr cs0_reverse; - FontMapPtr cs1_mapping; /* gb18030.2000-1 */ - FontMapReversePtr cs1_reverse; + FontMapPtr cs1_mapping; /* gb18030.2000-1 */ + FontMapReversePtr cs1_reverse; - int linear; /* set to '1' if stack_gb18030 linearized a 4bytes seq */ - int buf[3]; - int buf_ptr; + int linear; /* set to '1' if stack_gb18030 linearized a 4bytes seq */ + int buf[3]; + int buf_ptr; } aux_gb18030; typedef union { @@ -37,30 +37,30 @@ static char keyword[MAX_KEYWORD_LENGTH]; static void skipEndOfLine(FILE *f, int c) { - if(c == 0) - c = getc(f); - - for(;;) - if(c <= 0 || c == '\n') - return; - else - c = getc(f); + if (c == 0) + c = getc(f); + + for (;;) + if (c <= 0 || c == '\n') + return; + else + c = getc(f); } static int drainWhitespace(FILE *f, int c) { - if(c == 0) - c = getc(f); + if (c == 0) + c = getc(f); while (c == '#' || c == ' ' || c == '\t') { - if(c <= 0) - return 0; - if(c == '#') { - skipEndOfLine(f, c); - return '\n'; - } - c = getc(f); + if (c <= 0) + return 0; + if (c == '#') { + skipEndOfLine(f, c); + return '\n'; + } + c = getc(f); } return c; @@ -73,22 +73,22 @@ getString(FILE *f, int string_end, int *c_return) int c; c = getc(f); - while(c > 0) { - if(c == string_end) - break; - if(c == '\\') { - c = getc(f); - if(c == '\n') - continue; - } + while (c > 0) { + if (c == string_end) + break; + if (c == '\\') { + c = getc(f); + if (c == '\n') + continue; + } keyword[i++] = (char) c; - if(i >= MAX_KEYWORD_LENGTH) - return TOK_ERROR; - c = getc(f); + if (i >= MAX_KEYWORD_LENGTH) + return TOK_ERROR; + c = getc(f); } - if(c <= 0) - return TOK_ERROR; + if (c <= 0) + return TOK_ERROR; keyword[i] = '\0'; *c_return = c; return TOK_KEYWORD; @@ -100,37 +100,37 @@ getToken(FILE *f, int c, int parse_assignments, int *c_return) int i; c = drainWhitespace(f, c); - if(c < 0) - return TOK_EOF; - if(c == '\n') { - *c_return = 0; - return TOK_EOL; + if (c < 0) + return TOK_EOF; + if (c == '\n') { + *c_return = 0; + return TOK_EOL; } - if(parse_assignments && c == '=') { - *c_return = 0; - return TOK_EQUALS; + if (parse_assignments && c == '=') { + *c_return = 0; + return TOK_EQUALS; } - if(c == '\'' || c == '"') - return getString(f, c, c_return); + if (c == '\'' || c == '"') + return getString(f, c, c_return); i = 0; - while(c > 0 && c != ' ' && c != '\t' && c != '\n') { - if(c == '\\') { - c = getc(f); - if(c == '\n') - continue; - } + while (c > 0 && c != ' ' && c != '\t' && c != '\n') { + if (c == '\\') { + c = getc(f); + if (c == '\n') + continue; + } keyword[i++] = (char) c; - if(i >= MAX_KEYWORD_LENGTH) - return TOK_ERROR; - c = getc(f); - if(parse_assignments && c == '=') - break; + if (i >= MAX_KEYWORD_LENGTH) + return TOK_ERROR; + c = getc(f); + if (parse_assignments && c == '=') + break; } - *c_return = c<0?0:c; + *c_return = c < 0 ? 0 : c; keyword[i] = '\0'; return TOK_KEYWORD; } @@ -143,29 +143,29 @@ parseTwoTokenLine(FILE *f, char *first, char *second) int tok; again: - + tok = getToken(f, c, 0, &c); - if(tok == TOK_EOF) - return -1; - else if(tok == TOK_EOL) - goto again; - else if(tok == TOK_KEYWORD) { + if (tok == TOK_EOF) + return -1; + else if (tok == TOK_EOL) + goto again; + else if (tok == TOK_KEYWORD) { size_t len = strlen(keyword); - if(keyword[len - 1] == ':') - keyword[len - 1] = '\0'; - strcpy(first, keyword); + if (keyword[len - 1] == ':') + keyword[len - 1] = '\0'; + strcpy(first, keyword); } else - return -2; + return -2; tok = getToken(f, c, 0, &c); - if(tok == TOK_KEYWORD) { - strcpy(second, keyword); + if (tok == TOK_KEYWORD) { + strcpy(second, keyword); } else - return -2; + return -2; tok = getToken(f, c, 0, &c); - if(tok != TOK_EOL) - return -2; + if (tok != TOK_EOL) + return -2; return 0; } @@ -182,24 +182,24 @@ resolveLocale(const char *locale) f = fopen(locale_alias, "r"); if (f != NULL) { - do { - rc = parseTwoTokenLine(f, first, second); - if(rc < -1) + do { + rc = parseTwoTokenLine(f, first, second); + if (rc < -1) break; - if(!strcmp(first, locale)) { + if (!strcmp(first, locale)) { resolved = strmalloc(second); found = 1; - break; - } - } while(rc >= 0); + break; + } + } while (rc >= 0); if (!found) { - if(resolved == NULL) { + if (resolved == NULL) { resolved = strmalloc(locale); } - } + } - fclose(f); + fclose(f); } else { perror(locale_alias); } @@ -54,20 +54,20 @@ THE SOFTWARE. #ifdef HAVE_WORKING_SELECT #if defined(HAVE_SYS_SELECT_H) && defined(HAVE_SYS_TIME_SELECT) -# include <sys/select.h> +#include <sys/select.h> #endif #endif #ifdef HAVE_PTY_H -# include <pty.h> +#include <pty.h> #endif #ifdef HAVE_STROPTS_H -# include <stropts.h> +#include <stropts.h> #endif #ifdef HAVE_SYS_PARAM -# include <sys/param.h> +#include <sys/param.h> #endif #ifdef HAVE_OPENPTY @@ -107,7 +107,7 @@ waitForOutput(int fd) pfd[0].revents = 0; rc = poll(pfd, 1, -1); - if(rc < 0) + if (rc < 0) ret = -1; else if (pfd[0].revents & (POLLOUT | POLLERR | POLLHUP)) ret = 1; @@ -149,11 +149,11 @@ waitForInput(int fd1, int fd2) if (rc < 0) { ret = -1; } else { - if(pfd[0].revents & (POLLIN | POLLERR | POLLHUP)) - ret |= 1; - if(pfd[1].revents & (POLLIN | POLLERR | POLLHUP)) - ret |= 2; -} + if (pfd[0].revents & (POLLIN | POLLERR | POLLHUP)) + ret |= 1; + if (pfd[1].revents & (POLLIN | POLLERR | POLLHUP)) + ret |= 2; + } #elif defined(HAVE_WORKING_SELECT) fd_set fds; @@ -166,11 +166,11 @@ waitForInput(int fd1, int fd2) if (rc < 0) { ret = -1; } else { - if(FD_ISSET(fd1, &fds)) - ret |= 1; - if(FD_ISSET(fd2, &fds)) - ret |= 2; -} + if (FD_ISSET(fd1, &fds)) + ret |= 1; + if (FD_ISSET(fd2, &fds)) + ret |= 2; + } #else ret = (1 | 2); #endif @@ -184,18 +184,18 @@ setWindowSize(int sfd, int dfd) #ifdef TIOCGWINSZ int rc; struct winsize ws; - rc = ioctl(sfd, TIOCGWINSZ, (char*)&ws); - if(rc < 0) - return -1; - rc = ioctl(dfd, TIOCSWINSZ, (char*)&ws); - if(rc < 0) - return -1; + rc = ioctl(sfd, TIOCGWINSZ, (char *) &ws); + if (rc < 0) + return -1; + rc = ioctl(dfd, TIOCSWINSZ, (char *) &ws); + if (rc < 0) + return -1; #endif return 0; } int -installHandler(int signum, void (*handler)(int)) +installHandler(int signum, void (*handler) (int)) { struct sigaction sa; sigset_t ss; @@ -217,12 +217,12 @@ copyTermios(int sfd, int dfd) int rc; rc = tcgetattr(sfd, &tio); - if(rc < 0) - return -1; + if (rc < 0) + return -1; rc = tcsetattr(dfd, TCSAFLUSH, &tio); - if(rc < 0) - return -1; + if (rc < 0) + return -1; return 0; } @@ -232,16 +232,16 @@ saveTermios(void) { int rc; rc = tcgetattr(0, &saved_tio); - if(rc >= 0) - saved_tio_valid = 1; + if (rc >= 0) + saved_tio_valid = 1; return rc; } int restoreTermios(void) { - if(!saved_tio_valid) - return -1; + if (!saved_tio_valid) + return -1; return tcsetattr(0, TCSAFLUSH, &saved_tio); } @@ -251,11 +251,11 @@ setRawTermios(void) struct termios tio; int rc; - if(!saved_tio_valid) - saveTermios(); + if (!saved_tio_valid) + saveTermios(); rc = tcgetattr(0, &tio); - if(rc < 0) - return rc; + if (rc < 0) + return rc; tio.c_lflag &= (unsigned) ~(ECHO | ICANON | ISIG); tio.c_iflag &= (unsigned) ~(ICRNL | IXOFF | IXON | ISTRIP); #ifdef ONLCR @@ -273,8 +273,8 @@ setRawTermios(void) tio.c_cc[VTIME] = 0; #endif rc = tcsetattr(0, TCSAFLUSH, &tio); - if(rc < 0) - return rc; + if (rc < 0) + return rc; return 0; } @@ -284,10 +284,10 @@ my_basename(char *path) char *p; p = strrchr(path, '/'); - if(!p) - p = path; + if (!p) + p = path; else - p++; + p++; return p; } @@ -298,25 +298,25 @@ fix_pty_perms(char *line) struct stat s; rc = stat(line, &s); - if(rc < 0) - return -1; + if (rc < 0) + return -1; if (s.st_uid != getuid() || s.st_gid != getgid()) { - rc = chown(line, getuid(), getgid()); - if(rc < 0) { - fprintf(stderr, - "Warning: could not change ownership of tty -- " - "pty is insecure!\n"); - return 0; - } + rc = chown(line, getuid(), getgid()); + if (rc < 0) { + fprintf(stderr, + "Warning: could not change ownership of tty -- " + "pty is insecure!\n"); + return 0; + } } - if((s.st_mode & 0777) != (S_IRUSR | S_IWUSR | S_IWGRP)) { - rc = chmod(line, S_IRUSR | S_IWUSR | S_IWGRP); - if (rc < 0) { - fprintf(stderr, - "Warning: could not change permissions of tty -- " - "pty is insecure!\n"); - return 0; - } + if ((s.st_mode & 0777) != (S_IRUSR | S_IWUSR | S_IWGRP)) { + rc = chmod(line, S_IRUSR | S_IWUSR | S_IWGRP); + if (rc < 0) { + fprintf(stderr, + "Warning: could not change permissions of tty -- " + "pty is insecure!\n"); + return 0; + } } return 1; } @@ -336,25 +336,25 @@ allocatePty(int *pty_return, char **line_return) int rc; pty = open("/dev/ptmx", O_RDWR); - if(pty < 0) - goto bsd; + if (pty < 0) + goto bsd; rc = grantpt(pty); - if(rc < 0) { - close(pty); - goto bsd; + if (rc < 0) { + close(pty); + goto bsd; } rc = unlockpt(pty); - if(rc < 0) { - close(pty); - goto bsd; + if (rc < 0) { + close(pty); + goto bsd; } line = strmalloc(ptsname(pty)); if (!line) { - close(pty); - goto bsd; + close(pty); + goto bsd; } fix_pty_perms(line); @@ -374,8 +374,8 @@ allocatePty(int *pty_return, char **line_return) goto bsd; } line = strmalloc(ttydev); - if(!line) { - close(pty); + if (!line) { + close(pty); goto bsd; } @@ -389,35 +389,35 @@ allocatePty(int *pty_return, char **line_return) #endif /* HAVE_GRANTPT, etc */ strcpy(name, "/dev/pty??"); - for(p1 = name1; *p1; p1++) { - name[8] = *p1; - for(p2 = name2; *p2; p2++) { - name[9] = *p2; - pty = open(name, O_RDWR); - if(pty >= 0) - goto found; - /* Systems derived from 4.4BSD differ in their pty names, - so ENOENT doesn't necessarily imply we're done. */ - continue; - } + for (p1 = name1; *p1; p1++) { + name[8] = *p1; + for (p2 = name2; *p2; p2++) { + name[9] = *p2; + pty = open(name, O_RDWR); + if (pty >= 0) + goto found; + /* Systems derived from 4.4BSD differ in their pty names, + so ENOENT doesn't necessarily imply we're done. */ + continue; + } } goto bail; found: if ((line = strmalloc(name)) != 0) { - line[5] = 't'; - fix_pty_perms(line); - *pty_return = pty; - *line_return = line; - return 0; + line[5] = 't'; + fix_pty_perms(line); + *pty_return = pty; + *line_return = line; + return 0; } bail: - if(pty >= 0) - close(pty); - if(line) - free(line); + if (pty >= 0) + close(pty); + if (line) + free(line); return -1; } @@ -438,8 +438,8 @@ openTty(char *line) #endif ); - if(tty < 0) - goto bail; + if (tty < 0) + goto bail; #if defined(HAVE_OPENPTY) if (opened_tty >= 0) { @@ -456,31 +456,31 @@ openTty(char *line) * * Cygwin as of 2009/10/12 lacks this call, but has O_NOCTTY. */ - rc = ioctl(tty, TIOCSCTTY, (char *)0); - if(rc < 0) { - goto bail; + rc = ioctl(tty, TIOCSCTTY, (char *) 0); + if (rc < 0) { + goto bail; } #endif #if defined(I_PUSH) && (defined(SVR4) || defined(__SVR4)) rc = ioctl(tty, I_PUSH, "ptem"); - if(rc < 0) - goto bail; + if (rc < 0) + goto bail; rc = ioctl(tty, I_PUSH, "ldterm"); - if(rc < 0) - goto bail; + if (rc < 0) + goto bail; rc = ioctl(tty, I_PUSH, "ttcompat"); - if(rc < 0) - goto bail; + if (rc < 0) + goto bail; #endif return tty; bail: - if(tty >= 0) - close(tty); + if (tty >= 0) + close(tty); return -1; } @@ -495,29 +495,29 @@ droppriv(void) rc = setuid(getuid()); if (rc >= 0) { rc = setgid(getgid()); -} + } #elif defined(_POSIX_SAVED_IDS) uid_t uid = getuid(); uid_t euid = geteuid(); gid_t gid = getgid(); gid_t egid = getegid(); - if((uid != euid || gid != egid) && euid != 0) { - errno = ENOSYS; + if ((uid != euid || gid != egid) && euid != 0) { + errno = ENOSYS; rc = -1; } else { - rc = setuid(uid); + rc = setuid(uid); if (rc >= 0) rc = setgid(gid); -} + } #else uid_t uid = getuid(); uid_t euid = geteuid(); gid_t gid = getgid(); gid_t egid = getegid(); - if(uid != euid || gid != egid) { - errno = ENOSYS; + if (uid != euid || gid != egid) { + errno = ENOSYS; rc = -1; } else { rc = 0; @@ -552,4 +552,4 @@ ExitProgram(int code) charset_leaks(); exit(code); } -#endif +#endif @@ -34,7 +34,7 @@ extern int ignore_unused; int waitForOutput(int fd); int waitForInput(int fd1, int fd2); int setWindowSize(int sfd, int dfd); -int installHandler(int signum, void (*handler)(int)); +int installHandler(int signum, void (*handler) (int)); int copyTermios(int sfd, int dfd); int saveTermios(void); int restoreTermios(void); |