PR/21645: Mishka: Localized comments don't work with indent.

This commit is contained in:
christos 2003-06-19 15:45:22 +00:00
parent b509ec99bb
commit fc24d74cc3
2 changed files with 13 additions and 7 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: indent.c,v 1.13 2002/05/26 22:53:38 wiz Exp $ */ /* $NetBSD: indent.c,v 1.14 2003/06/19 15:45:22 christos Exp $ */
/* /*
* Copyright (c) 1980, 1993 * Copyright (c) 1980, 1993
@ -48,7 +48,7 @@ __COPYRIGHT("@(#) Copyright (c) 1985 Sun Microsystems, Inc.\n\
#if 0 #if 0
static char sccsid[] = "@(#)indent.c 5.17 (Berkeley) 6/7/93"; static char sccsid[] = "@(#)indent.c 5.17 (Berkeley) 6/7/93";
#else #else
__RCSID("$NetBSD: indent.c,v 1.13 2002/05/26 22:53:38 wiz Exp $"); __RCSID("$NetBSD: indent.c,v 1.14 2003/06/19 15:45:22 christos Exp $");
#endif #endif
#endif /* not lint */ #endif /* not lint */
@ -61,6 +61,7 @@ __RCSID("$NetBSD: indent.c,v 1.13 2002/05/26 22:53:38 wiz Exp $");
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <unistd.h> #include <unistd.h>
#include <locale.h>
#define EXTERN #define EXTERN
#include "indent_globs.h" #include "indent_globs.h"
#undef EXTERN #undef EXTERN
@ -104,6 +105,8 @@ main(int argc, char **argv)
| INITIALIZATION | | INITIALIZATION |
\*-----------------------------------------------*/ \*-----------------------------------------------*/
if (!setlocale(LC_ALL, ""))
fprintf(stderr, "indent: can't set locale.\n");
hd_type = 0; hd_type = 0;
ps.p_stack[0] = stmt; /* this is the parser's stack */ ps.p_stack[0] = stmt; /* this is the parser's stack */

View File

@ -1,4 +1,4 @@
/* $NetBSD: pr_comment.c,v 1.7 2002/05/26 22:53:38 wiz Exp $ */ /* $NetBSD: pr_comment.c,v 1.8 2003/06/19 15:45:22 christos Exp $ */
/* /*
* Copyright (c) 1980, 1993 * Copyright (c) 1980, 1993
@ -41,12 +41,13 @@
#if 0 #if 0
static char sccsid[] = "@(#)pr_comment.c 8.1 (Berkeley) 6/6/93"; static char sccsid[] = "@(#)pr_comment.c 8.1 (Berkeley) 6/6/93";
#else #else
__RCSID("$NetBSD: pr_comment.c,v 1.7 2002/05/26 22:53:38 wiz Exp $"); __RCSID("$NetBSD: pr_comment.c,v 1.8 2003/06/19 15:45:22 christos Exp $");
#endif #endif
#endif /* not lint */ #endif /* not lint */
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <ctype.h>
#include "indent_globs.h" #include "indent_globs.h"
/* /*
@ -184,7 +185,7 @@ pr_comment(void)
while (1) { /* this loop will go until the comment is while (1) { /* this loop will go until the comment is
* copied */ * copied */
if (*buf_ptr > 040 && *buf_ptr != '*') if (!iscntrl((unsigned char)*buf_ptr) && *buf_ptr != '*')
ps.last_nl = 0; ps.last_nl = 0;
CHECK_SIZE_COM; CHECK_SIZE_COM;
switch (*buf_ptr) { /* this checks for various spcl cases */ switch (*buf_ptr) { /* this checks for various spcl cases */
@ -376,7 +377,9 @@ pr_comment(void)
/* remember we saw a blank */ /* remember we saw a blank */
++e_com; ++e_com;
if (now_col > adj_max_col && !ps.box_com && unix_comment == 1 && e_com[-1] > ' ') { if (now_col > adj_max_col && !ps.box_com && unix_comment == 1
&& !iscntrl((unsigned char)e_com[-1])
&& !isblank((unsigned char)e_com[-1])) {
/* /*
* the comment is too long, it must be broken up * the comment is too long, it must be broken up
*/ */
@ -399,7 +402,7 @@ pr_comment(void)
} }
*e_com = '\0'; /* print what we have */ *e_com = '\0'; /* print what we have */
*last_bl = '\0'; *last_bl = '\0';
while (last_bl > s_com && last_bl[-1] < 040) while (last_bl > s_com && iscntrl((unsigned char)last_bl[-1]) )
*--last_bl = 0; *--last_bl = 0;
e_com = last_bl; e_com = last_bl;
dump_line(); dump_line();