Module Name: src Committed By: rillig Date: Sat Sep 25 08:04:13 UTC 2021
Modified Files: src/usr.bin/indent: indent.c indent_globs.h io.c lexi.c parse.c pr_comment.c Log Message: indent: group global variables for token buffer No functional change. To generate a diff of this commit: cvs rdiff -u -r1.66 -r1.67 src/usr.bin/indent/indent.c cvs rdiff -u -r1.25 -r1.26 src/usr.bin/indent/indent_globs.h cvs rdiff -u -r1.55 -r1.56 src/usr.bin/indent/io.c cvs rdiff -u -r1.49 -r1.50 src/usr.bin/indent/lexi.c cvs rdiff -u -r1.21 -r1.22 src/usr.bin/indent/parse.c cvs rdiff -u -r1.38 -r1.39 src/usr.bin/indent/pr_comment.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/usr.bin/indent/indent.c diff -u src/usr.bin/indent/indent.c:1.66 src/usr.bin/indent/indent.c:1.67 --- src/usr.bin/indent/indent.c:1.66 Sat Sep 25 07:59:52 2021 +++ src/usr.bin/indent/indent.c Sat Sep 25 08:04:13 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: indent.c,v 1.66 2021/09/25 07:59:52 rillig Exp $ */ +/* $NetBSD: indent.c,v 1.67 2021/09/25 08:04:13 rillig Exp $ */ /*- * SPDX-License-Identifier: BSD-4-Clause @@ -46,7 +46,7 @@ static char sccsid[] = "@(#)indent.c 5.1 #include <sys/cdefs.h> #ifndef lint #if defined(__NetBSD__) -__RCSID("$NetBSD: indent.c,v 1.66 2021/09/25 07:59:52 rillig Exp $"); +__RCSID("$NetBSD: indent.c,v 1.67 2021/09/25 08:04:13 rillig Exp $"); #elif defined(__FreeBSD__) __FBSDID("$FreeBSD: head/usr.bin/indent/indent.c 340138 2018-11-04 19:24:49Z oshogbo $"); #endif @@ -74,11 +74,7 @@ struct parser_state ps; struct buffer lab; struct buffer code; struct buffer com; - -char *tokenbuf; -char *s_token; -char *e_token; -char *l_token; +struct buffer token; char *in_buffer; char *in_buffer_limit; @@ -259,11 +255,11 @@ search_brace(token_type *inout_ttype, in remove_newlines = /* "} else" */ - (*inout_ttype == keyword_do_else && *s_token == 'e' && + (*inout_ttype == keyword_do_else && *token.s == 'e' && code.e != code.s && code.e[-1] == '}') /* "else if" */ || (*inout_ttype == keyword_for_if_while && - *s_token == 'i' && *inout_last_else && opt.else_if); + *token.s == 'i' && *inout_last_else && opt.else_if); if (remove_newlines) *inout_force_nl = false; if (sc_end == NULL) { /* ignore buffering if @@ -292,7 +288,7 @@ search_brace(token_type *inout_ttype, in * not already broken */ diag(0, "Line broken"); } - for (const char *t_ptr = s_token; *t_ptr; ++t_ptr) + for (const char *t_ptr = token.s; *t_ptr; ++t_ptr) *sc_end++ = *t_ptr; sw_buffer: @@ -375,23 +371,23 @@ main_init_globals(void) code.buf = malloc(bufsize); if (code.buf == NULL) err(1, NULL); - tokenbuf = malloc(bufsize); - if (tokenbuf == NULL) + token.buf = malloc(bufsize); + if (token.buf == NULL) err(1, NULL); alloc_typenames(); init_constant_tt(); com.l = com.buf + bufsize - 5; lab.l = lab.buf + bufsize - 5; code.l = code.buf + bufsize - 5; - l_token = tokenbuf + bufsize - 5; + token.l = token.buf + bufsize - 5; com.buf[0] = code.buf[0] = lab.buf[0] = ' '; /* set up code, label, and * comment buffers */ - com.buf[1] = code.buf[1] = lab.buf[1] = tokenbuf[1] = '\0'; + com.buf[1] = code.buf[1] = lab.buf[1] = token.buf[1] = '\0'; opt.else_if = 1; /* Default else-if special processing to on */ lab.s = lab.e = lab.buf + 1; code.s = code.e = code.buf + 1; com.s = com.e = com.buf + 1; - s_token = e_token = tokenbuf + 1; + token.s = token.e = token.buf + 1; in_buffer = malloc(10); if (in_buffer == NULL) @@ -616,7 +612,7 @@ process_lparen_or_lbracket(int dec_ind, nitems(ps.paren_indents)); ps.p_l_follow--; } - if (*s_token == '[') + if (*token.s == '[') /* not a function pointer declaration or a function call */; else if (ps.in_decl && !ps.block_init && !ps.dumped_decl_indent && ps.procname[0] == '\0' && ps.paren_level == 0) { @@ -630,7 +626,7 @@ process_lparen_or_lbracket(int dec_ind, ps.keyword != rw_0 && ps.keyword != rw_offsetof))) *code.e++ = ' '; ps.want_blank = false; - *code.e++ = s_token[0]; + *code.e++ = token.s[0]; ps.paren_indents[ps.p_l_follow - 1] = indentation_after_range(0, code.s, code.e); @@ -642,7 +638,7 @@ process_lparen_or_lbracket(int dec_ind, ps.paren_indents[0] = 2 * opt.indent_size; debug_println("paren_indent[0] is now %d", ps.paren_indents[0]); } - if (ps.in_or_st && *s_token == '(' && ps.tos <= 2) { + if (ps.in_or_st && *token.s == '(' && ps.tos <= 2) { /* * this is a kluge to make sure that declarations will be * aligned right if proc decl has an explicit type on it, i.e. @@ -671,13 +667,13 @@ process_rparen_or_rbracket(int *inout_sp if (--ps.p_l_follow < 0) { ps.p_l_follow = 0; - diag(0, "Extra %c", *s_token); + diag(0, "Extra %c", *token.s); } if (code.e == code.s) /* if the paren starts the line */ ps.paren_level = ps.p_l_follow; /* then indent it */ - *code.e++ = s_token[0]; + *code.e++ = token.s[0]; if (*inout_sp_sw && (ps.p_l_follow == 0)) { /* check for end of if * (...), or some such */ @@ -706,7 +702,7 @@ process_unary_op(int dec_ind, int tabs_t * this token */ int i; - for (i = 0; s_token[i]; ++i) + for (i = 0; token.s[i]; ++i) /* find length of token */; indent_declaration(dec_ind - i, tabs_to_var); ps.dumped_decl_indent = true; @@ -714,10 +710,10 @@ process_unary_op(int dec_ind, int tabs_t *code.e++ = ' '; { - size_t len = e_token - s_token; + size_t len = token.e - token.s; check_size_code(len); - memcpy(code.e, s_token, len); + memcpy(code.e, token.s, len); code.e += len; } ps.want_blank = false; @@ -726,12 +722,12 @@ process_unary_op(int dec_ind, int tabs_t static void process_binary_op(void) { - size_t len = e_token - s_token; + size_t len = token.e - token.s; check_size_code(len + 1); if (ps.want_blank) *code.e++ = ' '; - memcpy(code.e, s_token, len); + memcpy(code.e, token.s, len); code.e += len; ps.want_blank = true; @@ -740,8 +736,8 @@ process_binary_op(void) static void process_postfix_op(void) { - *code.e++ = s_token[0]; - *code.e++ = s_token[1]; + *code.e++ = token.s[0]; + *code.e++ = token.s[1]; ps.want_blank = true; } @@ -966,7 +962,7 @@ static void process_keyword_do_else(int *inout_force_nl, int *inout_last_else) { ps.in_stmt = false; - if (*s_token == 'e') { + if (*token.s == 'e') { if (code.e != code.s && (!opt.cuddle_else || code.e[-1] != '}')) { if (opt.verbose) diag(0, "Line broken"); @@ -1010,7 +1006,7 @@ process_decl(int *out_dec_ind, int *out_ ps.just_saw_decl = 2; prefix_blankline_requested = 0; int i; - for (i = 0; s_token[i++];); /* get length of token */ + for (i = 0; token.s[i++];); /* get length of token */ if (ps.ind_level == 0 || ps.dec_nest > 0) { /* global variable or struct member in local variable */ @@ -1056,24 +1052,24 @@ process_ident(token_type ttype, int dec_ static void copy_id(void) { - size_t len = e_token - s_token; + size_t len = token.e - token.s; check_size_code(len + 1); if (ps.want_blank) *code.e++ = ' '; - memcpy(code.e, s_token, len); + memcpy(code.e, token.s, len); code.e += len; } static void process_string_prefix(void) { - size_t len = e_token - s_token; + size_t len = token.e - token.s; check_size_code(len + 1); if (ps.want_blank) *code.e++ = ' '; - memcpy(code.e, s_token, len); + memcpy(code.e, token.s, len); code.e += len; ps.want_blank = false; @@ -1379,8 +1375,8 @@ main_loop(void) case keyword_for_if_while: sp_sw = true; /* the interesting stuff is done after the * expression is scanned */ - hd_type = (*s_token == 'i' ? if_expr : - (*s_token == 'w' ? while_expr : for_exprs)); + hd_type = (*token.s == 'i' ? if_expr : + (*token.s == 'w' ? while_expr : for_exprs)); /* remember the type of header for later use by parser */ goto copy_id; /* copy the token into line */ Index: src/usr.bin/indent/indent_globs.h diff -u src/usr.bin/indent/indent_globs.h:1.25 src/usr.bin/indent/indent_globs.h:1.26 --- src/usr.bin/indent/indent_globs.h:1.25 Sat Sep 25 07:59:52 2021 +++ src/usr.bin/indent/indent_globs.h Sat Sep 25 08:04:13 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: indent_globs.h,v 1.25 2021/09/25 07:59:52 rillig Exp $ */ +/* $NetBSD: indent_globs.h,v 1.26 2021/09/25 08:04:13 rillig Exp $ */ /*- * SPDX-License-Identifier: BSD-4-Clause @@ -62,11 +62,7 @@ extern FILE *output; /* the outpu extern struct buffer lab; /* label or preprocessor directive */ extern struct buffer code; /* code */ extern struct buffer com; /* comment */ - -extern char *tokenbuf; /* the last token scanned */ -extern char *s_token; -extern char *e_token; -extern char *l_token; +extern struct buffer token; /* the last token scanned */ extern char *in_buffer; /* input buffer */ extern char *in_buffer_limit; /* the end of the input buffer */ Index: src/usr.bin/indent/io.c diff -u src/usr.bin/indent/io.c:1.55 src/usr.bin/indent/io.c:1.56 --- src/usr.bin/indent/io.c:1.55 Sat Sep 25 07:55:24 2021 +++ src/usr.bin/indent/io.c Sat Sep 25 08:04:13 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: io.c,v 1.55 2021/09/25 07:55:24 rillig Exp $ */ +/* $NetBSD: io.c,v 1.56 2021/09/25 08:04:13 rillig Exp $ */ /*- * SPDX-License-Identifier: BSD-4-Clause @@ -46,7 +46,7 @@ static char sccsid[] = "@(#)io.c 8.1 (Be #include <sys/cdefs.h> #ifndef lint #if defined(__NetBSD__) -__RCSID("$NetBSD: io.c,v 1.55 2021/09/25 07:55:24 rillig Exp $"); +__RCSID("$NetBSD: io.c,v 1.56 2021/09/25 08:04:13 rillig Exp $"); #elif defined(__FreeBSD__) __FBSDID("$FreeBSD: head/usr.bin/indent/io.c 334927 2018-06-10 16:44:18Z pstef $"); #endif @@ -261,8 +261,8 @@ dump_line(void) /* keep blank lines after '//' comments */ if (com.e - com.s > 1 && com.s[1] == '/' - && s_token < e_token && isspace((unsigned char)s_token[0])) - output_range(s_token, e_token); + && token.s < token.e && isspace((unsigned char)token.s[0])) + output_range(token.s, token.e); ps.decl_on_line = ps.in_decl; /* if we are in the middle of a declaration, * remember that fact for proper comment Index: src/usr.bin/indent/lexi.c diff -u src/usr.bin/indent/lexi.c:1.49 src/usr.bin/indent/lexi.c:1.50 --- src/usr.bin/indent/lexi.c:1.49 Sat Sep 25 07:59:52 2021 +++ src/usr.bin/indent/lexi.c Sat Sep 25 08:04:13 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: lexi.c,v 1.49 2021/09/25 07:59:52 rillig Exp $ */ +/* $NetBSD: lexi.c,v 1.50 2021/09/25 08:04:13 rillig Exp $ */ /*- * SPDX-License-Identifier: BSD-4-Clause @@ -46,7 +46,7 @@ static char sccsid[] = "@(#)lexi.c 8.1 ( #include <sys/cdefs.h> #ifndef lint #if defined(__NetBSD__) -__RCSID("$NetBSD: lexi.c,v 1.49 2021/09/25 07:59:52 rillig Exp $"); +__RCSID("$NetBSD: lexi.c,v 1.50 2021/09/25 08:04:13 rillig Exp $"); #elif defined(__FreeBSD__) __FBSDID("$FreeBSD: head/usr.bin/indent/lexi.c 337862 2018-08-15 18:19:45Z pstef $"); #endif @@ -206,17 +206,17 @@ inbuf_next(void) static void check_size_token(size_t desired_size) { - if (e_token + (desired_size) < l_token) + if (token.e + (desired_size) < token.l) return; - size_t nsize = l_token - s_token + 400 + desired_size; - size_t token_len = e_token - s_token; - tokenbuf = realloc(tokenbuf, nsize); - if (tokenbuf == NULL) + size_t nsize = token.l - token.s + 400 + desired_size; + size_t token_len = token.e - token.s; + token.buf = realloc(token.buf, nsize); + if (token.buf == NULL) err(1, NULL); - e_token = tokenbuf + token_len + 1; - l_token = tokenbuf + nsize - 5; - s_token = tokenbuf + 1; + token.e = token.buf + token_len + 1; + token.l = token.buf + nsize - 5; + token.s = token.buf + 1; } static int @@ -266,7 +266,7 @@ lexi_end(token_type ttype) { debug_printf("in line %d, lexi returns '%s'", line_no, token_type_name(ttype)); - print_buf("token", s_token, e_token); + print_buf("token", token.s, token.e); print_buf("label", lab.s, lab.e); print_buf("code", code.s, code.e); print_buf("comment", com.s, com.e); @@ -293,7 +293,7 @@ lex_number(void) } s = table[i][s - 'A']; check_size_token(1); - *e_token++ = inbuf_next(); + *token.e++ = inbuf_next(); } /* s now indicates the type: f(loating), i(integer), u(nknown) */ } @@ -314,7 +314,7 @@ lex_word(void) break; } check_size_token(1); - *e_token++ = inbuf_next(); + *token.e++ = inbuf_next(); } } @@ -323,7 +323,7 @@ lex_char_or_string(void) { char delim; - delim = *s_token; + delim = *token.s; do { /* copy the string */ for (;;) { /* move one character or [/<char>]<char> */ if (*buf_ptr == '\n') { @@ -331,17 +331,17 @@ lex_char_or_string(void) return; } check_size_token(2); - *e_token = inbuf_next(); - if (*e_token == '\\') { /* if escape, copy extra char */ + *token.e = inbuf_next(); + if (*token.e == '\\') { /* if escape, copy extra char */ if (*buf_ptr == '\n') /* check for escaped newline */ ++line_no; - *++e_token = inbuf_next(); - ++e_token; /* we must increment this again because we + *++token.e = inbuf_next(); + ++token.e; /* we must increment this again because we * copied two chars */ } else break; /* we copied one character */ } /* end of while (1) */ - } while (*e_token++ != delim); + } while (*token.e++ != delim); } /* Reads the next token, placing it in the global variable "token". */ @@ -352,7 +352,7 @@ lexi(struct parser_state *state) * forces a following operator to be unary */ token_type ttype; - e_token = s_token; /* point to start of place to save token */ + token.e = token.s; /* point to start of place to save token */ unary_delim = false; state->col_1 = state->last_nl; /* tell world that this token started * in column 1 iff the last thing @@ -380,9 +380,9 @@ lexi(struct parser_state *state) } else { lex_word(); } - *e_token = '\0'; + *token.e = '\0'; - if (s_token[0] == 'L' && s_token[1] == '\0' && + if (token.s[0] == 'L' && token.s[1] == '\0' && (*buf_ptr == '"' || *buf_ptr == '\'')) return lexi_end(string_prefix); @@ -401,15 +401,15 @@ lexi(struct parser_state *state) */ state->last_u_d = (state->last_token == keyword_struct_union_enum); - p = bsearch(s_token, specials, sizeof specials / sizeof specials[0], + p = bsearch(token.s, specials, sizeof specials / sizeof specials[0], sizeof specials[0], compare_templ_array); if (p == NULL) { /* not a special keyword... */ char *u; /* ... so maybe a type_t or a typedef */ - if ((opt.auto_typedefs && ((u = strrchr(s_token, '_')) != NULL) && + if ((opt.auto_typedefs && ((u = strrchr(token.s, '_')) != NULL) && strcmp(u, "_t") == 0) || (typename_top >= 0 && - bsearch(s_token, typenames, (size_t)typename_top + 1, + bsearch(token.s, typenames, (size_t)typename_top + 1, sizeof typenames[0], compare_string_array))) { state->keyword = rw_type; state->last_u_d = true; @@ -463,7 +463,7 @@ lexi(struct parser_state *state) while (tp < buf_end) if (*tp++ == ')' && (*tp == ';' || *tp == ',')) goto not_proc; - strncpy(state->procname, s_token, sizeof state->procname - 1); + strncpy(state->procname, token.s, sizeof state->procname - 1); if (state->in_decl) state->in_parameter_declaration = 1; return lexi_end(funcname); @@ -493,11 +493,11 @@ lexi(struct parser_state *state) /* Scan a non-alphanumeric token */ check_size_token(3); /* things like "<<=" */ - *e_token++ = inbuf_next(); /* if it is only a one-character token, it is + *token.e++ = inbuf_next(); /* if it is only a one-character token, it is * moved here */ - *e_token = '\0'; + *token.e = '\0'; - switch (*s_token) { + switch (*token.s) { case '\n': unary_delim = state->last_u_d; state->last_nl = true; /* remember that we just had a newline */ @@ -574,9 +574,9 @@ lexi(struct parser_state *state) ttype = state->last_u_d ? unary_op : binary_op; unary_delim = true; - if (*buf_ptr == s_token[0]) { + if (*buf_ptr == token.s[0]) { /* check for doubled character */ - *e_token++ = *buf_ptr++; + *token.e++ = *buf_ptr++; /* buffer overflow will be checked at end of loop */ if (state->last_token == ident || state->last_token == rparen) { ttype = state->last_u_d ? unary_op : postfix_op; @@ -585,10 +585,10 @@ lexi(struct parser_state *state) } } else if (*buf_ptr == '=') /* check for operator += */ - *e_token++ = *buf_ptr++; + *token.e++ = *buf_ptr++; else if (*buf_ptr == '>') { /* check for operator -> */ - *e_token++ = *buf_ptr++; + *token.e++ = *buf_ptr++; unary_delim = false; ttype = unary_op; state->want_blank = false; @@ -600,9 +600,9 @@ lexi(struct parser_state *state) if (state->in_or_st) state->block_init = 1; if (*buf_ptr == '=') { /* == */ - *e_token++ = '='; /* Flip =+ to += */ + *token.e++ = '='; /* Flip =+ to += */ buf_ptr++; - *e_token = 0; + *token.e = 0; } ttype = binary_op; unary_delim = true; @@ -613,9 +613,9 @@ lexi(struct parser_state *state) case '<': case '!': /* ops like <, <<, <=, !=, etc */ if (*buf_ptr == '>' || *buf_ptr == '<' || *buf_ptr == '=') - *e_token++ = inbuf_next(); + *token.e++ = inbuf_next(); if (*buf_ptr == '=') - *e_token++ = *buf_ptr++; + *token.e++ = *buf_ptr++; ttype = state->last_u_d ? unary_op : binary_op; unary_delim = true; break; @@ -624,14 +624,14 @@ lexi(struct parser_state *state) unary_delim = true; if (!state->last_u_d) { if (*buf_ptr == '=') - *e_token++ = *buf_ptr++; + *token.e++ = *buf_ptr++; ttype = binary_op; break; } while (*buf_ptr == '*' || isspace((unsigned char)*buf_ptr)) { if (*buf_ptr == '*') { check_size_token(1); - *e_token++ = *buf_ptr; + *token.e++ = *buf_ptr; } inbuf_skip(); } @@ -650,20 +650,20 @@ lexi(struct parser_state *state) break; default: - if (s_token[0] == '/' && (*buf_ptr == '*' || *buf_ptr == '/')) { + if (token.s[0] == '/' && (*buf_ptr == '*' || *buf_ptr == '/')) { /* it is start of comment */ - *e_token++ = inbuf_next(); + *token.e++ = inbuf_next(); ttype = comment; unary_delim = state->last_u_d; break; } - while (e_token[-1] == *buf_ptr || *buf_ptr == '=') { + while (token.e[-1] == *buf_ptr || *buf_ptr == '=') { /* * handle ||, &&, etc, and also things as in int *****i */ check_size_token(1); - *e_token++ = inbuf_next(); + *token.e++ = inbuf_next(); } ttype = state->last_u_d ? unary_op : binary_op; unary_delim = true; @@ -673,7 +673,7 @@ lexi(struct parser_state *state) fill_buffer(); state->last_u_d = unary_delim; check_size_token(1); - *e_token = '\0'; + *token.e = '\0'; return lexi_end(ttype); } Index: src/usr.bin/indent/parse.c diff -u src/usr.bin/indent/parse.c:1.21 src/usr.bin/indent/parse.c:1.22 --- src/usr.bin/indent/parse.c:1.21 Sat Sep 25 07:59:52 2021 +++ src/usr.bin/indent/parse.c Sat Sep 25 08:04:13 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: parse.c,v 1.21 2021/09/25 07:59:52 rillig Exp $ */ +/* $NetBSD: parse.c,v 1.22 2021/09/25 08:04:13 rillig Exp $ */ /*- * SPDX-License-Identifier: BSD-4-Clause @@ -65,7 +65,7 @@ parse(token_type ttype) int i; #ifdef debug - printf("parse token: '%s' \"%s\"\n", token_type_name(ttype), s_token); + printf("parse token: '%s' \"%s\"\n", token_type_name(ttype), token.s); #endif while (ps.p_stack[ps.tos] == if_expr_stmt && ttype != keyword_else) { Index: src/usr.bin/indent/pr_comment.c diff -u src/usr.bin/indent/pr_comment.c:1.38 src/usr.bin/indent/pr_comment.c:1.39 --- src/usr.bin/indent/pr_comment.c:1.38 Sat Sep 25 07:55:24 2021 +++ src/usr.bin/indent/pr_comment.c Sat Sep 25 08:04:13 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: pr_comment.c,v 1.38 2021/09/25 07:55:24 rillig Exp $ */ +/* $NetBSD: pr_comment.c,v 1.39 2021/09/25 08:04:13 rillig Exp $ */ /*- * SPDX-License-Identifier: BSD-4-Clause @@ -46,7 +46,7 @@ static char sccsid[] = "@(#)pr_comment.c #include <sys/cdefs.h> #ifndef lint #if defined(__NetBSD__) -__RCSID("$NetBSD: pr_comment.c,v 1.38 2021/09/25 07:55:24 rillig Exp $"); +__RCSID("$NetBSD: pr_comment.c,v 1.39 2021/09/25 08:04:13 rillig Exp $"); #elif defined(__FreeBSD__) __FBSDID("$FreeBSD: head/usr.bin/indent/pr_comment.c 334927 2018-06-10 16:44:18Z pstef $"); #endif @@ -119,7 +119,7 @@ process_comment(void) break_delim = false; ps.com_col = 1; } else { - if (*buf_ptr == '-' || *buf_ptr == '*' || e_token[-1] == '/' || + if (*buf_ptr == '-' || *buf_ptr == '*' || token.e[-1] == '/' || (*buf_ptr == '\n' && !opt.format_block_comments)) { ps.box_com = true; /* A comment with a '-' or '*' immediately * after the /+* is assumed to be a boxed @@ -185,7 +185,7 @@ process_comment(void) } ps.comment_delta = 0; *com.e++ = '/'; - *com.e++ = e_token[-1]; + *com.e++ = token.e[-1]; if (*buf_ptr != ' ' && !ps.box_com) *com.e++ = ' '; @@ -246,7 +246,7 @@ process_comment(void) break; case '\n': - if (e_token[-1] == '/') { + if (token.e[-1] == '/') { ++line_no; goto end_of_comment; } @@ -311,7 +311,7 @@ process_comment(void) } if (com.e[-1] != ' ' && com.e[-1] != '\t' && !ps.box_com) *com.e++ = ' '; /* ensure blank before end */ - if (e_token[-1] == '/') + if (token.e[-1] == '/') *com.e++ = '\n', *com.e = '\0'; else *com.e++ = '*', *com.e++ = '/', *com.e = '\0';