aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>1997-09-06 03:14:38 +0000
committerBruce Momjian <bruce@momjian.us>1997-09-06 03:14:38 +0000
commit5d68d3e95762a73cbab5db9abeb6f439678efcda (patch)
tree3ecad149e8f98a344c4d87b2346923e95f7f52fa /src
parentb71fba22e30dc0908cc391a0a529c3bf2255232d (diff)
downloadpostgresql-5d68d3e95762a73cbab5db9abeb6f439678efcda.tar.gz
postgresql-5d68d3e95762a73cbab5db9abeb6f439678efcda.zip
New entab version.
Diffstat (limited to 'src')
-rw-r--r--src/tools/entab/entab.c38
1 files changed, 17 insertions, 21 deletions
diff --git a/src/tools/entab/entab.c b/src/tools/entab/entab.c
index 28a7e34d30a..25526582280 100644
--- a/src/tools/entab/entab.c
+++ b/src/tools/entab/entab.c
@@ -2,7 +2,7 @@
** entab.c - add tabs to a text file
** by Bruce Momjian (root@candle.pha.pa.us)
**
-** version 1.2
+** version 1.3
**
** tabsize = 4
**
@@ -102,11 +102,11 @@ char **argv;
while (*src != NUL)
{
col_in_tab++;
- if (*src == ' ' || *src == '\t')
+ if (quote_char == ' ' && (*src == ' ' || *src == '\t'))
{
if (*src == '\t')
{
- prv_spaces = prv_spaces + tab_size - col_in_tab + 1;
+ prv_spaces += tab_size - col_in_tab + 1;
col_in_tab = tab_size;
}
else
@@ -116,8 +116,8 @@ char **argv;
{
/*
Is the next character going to be a tab?
- Needed to do tab replacement in current spot if
- next char is going to be a tab, ignoring
+ Needed to do tab replacement in current spot
+ if next char is going to be a tab, ignoring
min_spaces
*/
nxt_spaces = 0;
@@ -136,25 +136,17 @@ char **argv;
break;
}
}
- if (quote_char == ' ')
+ if ((prv_spaces >= min_spaces ||
+ nxt_spaces == tab_size) &&
+ del_tabs == FALSE)
{
- if ((prv_spaces >= min_spaces ||
- nxt_spaces == tab_size) &&
- del_tabs == FALSE)
- {
- *(dst++) = '\t';
- prv_spaces = 0;
- }
- else
- {
- for (; prv_spaces > 0; prv_spaces--)
- *(dst++) = ' ';
- }
+ *(dst++) = '\t';
+ prv_spaces = 0;
}
else
{
- *(dst++) = *src;
- prv_spaces = 0;
+ for (; prv_spaces > 0; prv_spaces--)
+ *(dst++) = ' ';
}
}
}
@@ -162,6 +154,8 @@ char **argv;
{
for (; prv_spaces > 0; prv_spaces--)
*(dst++) = ' ';
+ if (*src == '\t') /* only when in quote */
+ col_in_tab = 0;
if (*src == '\b')
col_in_tab -= 2;
if (escaped == FALSE && protect_quotes == TRUE)
@@ -179,7 +173,9 @@ char **argv;
escaped = FALSE;
if (( *src == '\r' || *src == '\n') &&
- clip_lines == TRUE && escaped == FALSE)
+ quote_char == ' ' &&
+ clip_lines == TRUE &&
+ escaped == FALSE)
{
while (dst > out_line &&
(*(dst-1) == ' ' || *(dst-1) == '\t'))