Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit5d68d3e

Browse files
committed
New entab version.
1 parentb71fba2 commit5d68d3e

File tree

1 file changed

+17
-21
lines changed

1 file changed

+17
-21
lines changed

‎src/tools/entab/entab.c

Lines changed: 17 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
**entab.c- add tabs to a text file
33
**by Bruce Momjian (root@candle.pha.pa.us)
44
**
5-
** version 1.2
5+
** version 1.3
66
**
77
**tabsize = 4
88
**
@@ -102,11 +102,11 @@ char **argv;
102102
while (*src!=NUL)
103103
{
104104
col_in_tab++;
105-
if (*src==' '||*src=='\t')
105+
if (quote_char==' '&& (*src==' '||*src=='\t'))
106106
{
107107
if (*src=='\t')
108108
{
109-
prv_spaces=prv_spaces+tab_size-col_in_tab+1;
109+
prv_spaces+=tab_size-col_in_tab+1;
110110
col_in_tab=tab_size;
111111
}
112112
else
@@ -116,8 +116,8 @@ char **argv;
116116
{
117117
/*
118118
Is the next character going to be a tab?
119-
Needed to do tab replacement in current spot if
120-
next char is going to be a tab, ignoring
119+
Needed to do tab replacement in current spot
120+
ifnext char is going to be a tab, ignoring
121121
min_spaces
122122
*/
123123
nxt_spaces=0;
@@ -136,32 +136,26 @@ char **argv;
136136
break;
137137
}
138138
}
139-
if (quote_char==' ')
139+
if ((prv_spaces >=min_spaces||
140+
nxt_spaces==tab_size)&&
141+
del_tabs== FALSE)
140142
{
141-
if ((prv_spaces >=min_spaces||
142-
nxt_spaces==tab_size)&&
143-
del_tabs== FALSE)
144-
{
145-
*(dst++)='\t';
146-
prv_spaces=0;
147-
}
148-
else
149-
{
150-
for (;prv_spaces>0;prv_spaces--)
151-
*(dst++)=' ';
152-
}
143+
*(dst++)='\t';
144+
prv_spaces=0;
153145
}
154146
else
155147
{
156-
*(dst++)=*src;
157-
prv_spaces=0;
148+
for (;prv_spaces>0;prv_spaces--)
149+
*(dst++)=' ';
158150
}
159151
}
160152
}
161153
else
162154
{
163155
for (;prv_spaces>0;prv_spaces--)
164156
*(dst++)=' ';
157+
if (*src=='\t')/* only when in quote */
158+
col_in_tab=0;
165159
if (*src=='\b')
166160
col_in_tab-=2;
167161
if (escaped== FALSE&&protect_quotes== TRUE)
@@ -179,7 +173,9 @@ char **argv;
179173
escaped= FALSE;
180174

181175
if ((*src=='\r'||*src=='\n')&&
182-
clip_lines== TRUE&&escaped== FALSE)
176+
quote_char==' '&&
177+
clip_lines== TRUE&&
178+
escaped== FALSE)
183179
{
184180
while (dst>out_line&&
185181
(*(dst-1)==' '||*(dst-1)=='\t'))

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp