Remove undocumented contentpos feature

It is no longer needed, as we have MBCS support for input now.
This commit is contained in:
Thomas Jensen 2021-04-07 11:10:43 +02:00
parent 09d5ebcbb4
commit 04283eb697
No known key found for this signature in database
GPG Key ID: A4ACEE270D0FB7DB
13 changed files with 2 additions and 198 deletions

View File

@ -1488,7 +1488,6 @@ static int read_all_input(const int use_stdin)
*/
input.lines[input.anz_lines].text = NULL; /* we haven't used it yet! */
analyze_line_ascii(input.lines + input.anz_lines);
input.lines[input.anz_lines].num_leading_blanks = 0;
++input.anz_lines;
}

View File

@ -164,7 +164,6 @@ typedef struct {
size_t *tabpos; /* tab positions in expanded work strings, or NULL if not needed */
size_t tabpos_len; /* number of tabs in a line */
size_t num_leading_blanks; /* number of spaces at the start of the line after justification */
size_t *posmap; /* for each character in `text`, position of corresponding char in `mbtext`. Needed for box removal. */
} line_t;

View File

@ -718,11 +718,9 @@ static int justify_line(line_t *line, int skew)
*/
{
if (empty_line(line)) {
line->num_leading_blanks = SIZE_MAX;
return 0;
}
if (opt.justify == '\0') {
line->num_leading_blanks = 0;
return 0;
}
@ -742,11 +740,9 @@ static int justify_line(line_t *line, int skew)
case 'l':
if (opt.design->indentmode == 't') {
/* text indented inside of box */
line->num_leading_blanks = input.indent;
result = (int) input.indent - (int) initial_space_size;
}
else {
line->num_leading_blanks = 0;
result = -1 * (int) initial_space_size;
}
break;
@ -766,24 +762,21 @@ static int justify_line(line_t *line, int skew)
++shift;
}
}
line->num_leading_blanks = shift;
result = (int) shift - (int) initial_space_size;
break;
case 'r':
shift = input.maxline - newlen;
line->num_leading_blanks = shift;
result = (int) shift - (int) initial_space_size;
break;
default:
fprintf(stderr, "%s: internal error (unknown justify option: %c)\n", PROJECT, opt.justify);
line->num_leading_blanks = 0;
result = 0;
}
#if defined(DEBUG) || 0
fprintf (stderr, " -> %d (%d leading spaces)\n", result, (int) line->num_leading_blanks);
fprintf (stderr, " -> %d\n", result);
#endif
return result;
}
@ -807,7 +800,7 @@ int output_box(const sentry_t *thebox)
size_t nol = thebox[BRIG].height; /* number of output lines */
char *indentspc;
int indentspclen;
size_t vfill, vfill1, vfill1_save, vfill2; /* empty lines/columns in box */
size_t vfill, vfill1, vfill2; /* empty lines/columns in box */
size_t hfill;
char *hfill1, *hfill2; /* space before/after text */
size_t hpl, hpr;
@ -818,7 +811,6 @@ int output_box(const sentry_t *thebox)
size_t skip_left; /* true if left box part is to be skipped */
int ntabs, nspcs; /* needed for unexpand of tabs */
char *restored_indent;
size_t *contentPos; /* column of first char of input text in output text */
#ifdef DEBUG
fprintf (stderr, "Padding used: left %d, top %d, right %d, bottom %d\n",
@ -883,7 +875,6 @@ int output_box(const sentry_t *thebox)
vfill1 += opt.design->padding[BTOP];
vfill2 += opt.design->padding[BBOT];
vfill += opt.design->padding[BTOP] + opt.design->padding[BBOT];
vfill1_save = vfill1;
/*
* Provide strings for horizontal text alignment.
@ -962,7 +953,6 @@ int output_box(const sentry_t *thebox)
/*
* Generate actual output
*/
contentPos = calloc(input.anz_lines, sizeof(size_t));
for (j = skip_start; j < nol - skip_end; ++j) {
if (j < thebox[BTOP].height) { /* box top */
@ -985,14 +975,6 @@ int output_box(const sentry_t *thebox)
if (ti < (long) input.anz_lines) { /* box content (lines) */
int shift = justify_line(input.lines + ti, hpr - hpl);
restored_indent = tabbify_indent(ti, indentspc, indentspclen);
if (input.lines[ti].num_leading_blanks == SIZE_MAX) {
contentPos[ti] = SIZE_MAX;
} else {
contentPos[ti] = strlen(restored_indent)
+ (skip_left ? 0 : strlen(thebox[BLEF].chars[j]))
+ strlen(hfill1)
+ input.lines[ti].num_leading_blanks;
}
uint32_t *mbtext_shifted = advance32(input.lines[ti].mbtext, shift < 0 ? (size_t) (-shift) : 0);
concat_strings(obuf, LINE_MAX_BYTES + 1, 8, restored_indent,
skip_left ? "" : thebox[BLEF].chars[j], hfill1,
@ -1033,17 +1015,6 @@ int output_box(const sentry_t *thebox)
fprintf(opt.outfile, "%s%s", obuf, (input.final_newline || j < nol - skip_end - 1 ? "\n" : ""));
}
/* add info line for web ui if requested with -q */
if (query_is_undoc()) {
fprintf(opt.outfile, "%d ", (int) (thebox[BTOP].height + vfill1_save - skip_start));
for (j = 0; j < input.anz_lines; j++) {
fprintf(opt.outfile, "%d%s",
(contentPos[j] == SIZE_MAX ? (int) -1 : (int) contentPos[j]),
j < input.anz_lines - 1 ? " " : "\n");
}
}
BFREE (contentPos);
BFREE (indentspc);
BFREE (hfill1);
BFREE (hfill2);

View File

@ -1,13 +0,0 @@
:ARGS
-ac -q (undoc) -s 12
:INPUT
foo
barf
:OUTPUT-FILTER
:EXPECTED
/**********/
/* foo */
/* barf */
/**********/
1 4 4
:EOF

View File

@ -1,13 +0,0 @@
:ARGS
-ar -q (undoc) -s 12
:INPUT
foo
barf
:OUTPUT-FILTER
:EXPECTED
/**********/
/* foo */
/* barf */
/**********/
1 6 5
:EOF

View File

@ -1,13 +0,0 @@
:ARGS
-q (undoc) -s 12
:INPUT
foo
barf
:OUTPUT-FILTER
:EXPECTED
/**********/
/* foo */
/* barf */
/**********/
1 3 3
:EOF

View File

@ -1,14 +0,0 @@
:ARGS
-ac -q (undoc) -s 18x5 -p h3
:INPUT
foo
barf
:OUTPUT-FILTER
:EXPECTED
/****************/
/* foo */
/* barf */
/* */
/****************/
1 7 7
:EOF

View File

@ -1,19 +0,0 @@
:ARGS
-ac -q (undoc) -s 18 -p a3 -i box
:INPUT
foo
barf
:OUTPUT-FILTER
:EXPECTED
/****************/
/* */
/* */
/* */
/* foo */
/* barf */
/* */
/* */
/* */
/****************/
4 9 9
:EOF

View File

@ -1,25 +0,0 @@
:ARGS
-ac -q (undoc) -p a3 -d diamonds -i text
:INPUT
foo
barf
:OUTPUT-FILTER
:EXPECTED
/\ /\ /\
/\//\\/\ /\//\\/\ /\//\\/\
/\//\\\///\\/\//\\\///\\/\//\\\///\\/\
//\\\//\/\\///\\\//\/\\///\\\//\/\\///\\
\\//\/ \/\\//
\/ \/
/\ /\
//\\ foo //\\
\\// barf \\//
\/ \/
/\ /\
//\\/\ /\//\\
\\///\\/\//\\\///\\/\//\\\///\\/\//\\\//
\/\\///\\\//\/\\///\\\//\/\\///\\\//\/
\/\\//\/ \/\\//\/ \/\\//\/
\/ \/ jgs \/
7 20 20
:EOF

View File

@ -1,13 +0,0 @@
:ARGS
-q (undoc) -t 8k
:INPUT
foo
barf
:OUTPUT-FILTER
:EXPECTED
/********/
/* foo */
/* barf */
/********/
1 4 4
:EOF

View File

@ -1,21 +0,0 @@
:ARGS
-q (undoc) -s 12
:INPUT
f
fo
foo
fooo
:OUTPUT-FILTER
:EXPECTED
/**********/
/* f */
/* fo */
/* */
/* foo */
/* fooo */
/* */
/**********/
1 3 3 -1 3 3 -1
:EOF

View File

@ -1,21 +0,0 @@
:ARGS
-q (undoc) -s 12 -al
:INPUT
f
fo
foo
fooo
:OUTPUT-FILTER
:EXPECTED
/**********/
/* f */
/* fo */
/* */
/* foo */
/* fooo */
/* */
/**********/
1 3 3 -1 3 3 -1
:EOF

View File

@ -1,13 +0,0 @@
:ARGS
-q (undoc) -d right
:INPUT
foo
bar
:OUTPUT-FILTER
:EXPECTED
foo /* XX */
/* XX */
bar /* XX */
0 0 -1 0
:EOF