commit - d5e0ee089932fa61ce56746c09c77019353d5614
commit + 6b91e1041d28dd381315414c359c84c2d1fa2d93
blob - fcffadb7e89a7c3f8800eee0aacb3e232a4c4be0
blob + 8793d03eda3d404e665223439754a4253e93b1e3
--- include/telescope.h
+++ include/telescope.h
void erase_buffer(struct buffer *);
void empty_linelist(struct buffer*);
void empty_vlist(struct buffer*);
-int wrap_one(struct buffer *, const char *, struct line *, size_t);
-int wrap_text(struct buffer*, const char*, struct line*, size_t);
+int wrap_text(struct buffer*, const char*, struct line*, size_t, int);
int wrap_page(struct buffer *, int width);
#endif /* TELESCOPE_H */
blob - 7c359d32f7211243d1f277da709a91db6df22fde
blob + ad32a7ab8e92e8ec3a0888241258284f90dbc46a
--- u/wrap.c
+++ u/wrap.c
vl->flags = flags;
TAILQ_INSERT_TAIL(&buffer->head, vl, vlines);
- return 1;
-}
-
-/*
- * Similar to wrap_text, but emit only o vline.
- */
-int
-wrap_one(struct buffer *buffer, const char *prfx, struct line *l, size_t width)
-{
- struct vline *vl, *t;
-
- /*
- * be lazy: call wrap_text and then discard the continuations.
- */
-
- if (!wrap_text(buffer, prfx, l, width))
- return 0;
-
- TAILQ_FOREACH_SAFE(vl, &buffer->head, vlines, t) {
- if (vl->flags & L_CONTINUATION) {
- TAILQ_REMOVE(&buffer->head, vl, vlines);
- free(vl->line);
- free(vl);
- buffer->line_max--;
- }
- }
-
return 1;
}
* that when printed will have a leading prefix prfx.
*/
int
-wrap_text(struct buffer *buffer, const char *prfx, struct line *l, size_t width)
+wrap_text(struct buffer *buffer, const char *prfx, struct line *l,
+ size_t width, int oneline)
{
const char *line, *space;
size_t ret, off, start, cur, prfxwidth;
if (!push_line(buffer, l, &line[start], off - start, flags))
return 0;
+ if (oneline)
+ return 0;
+
flags = L_CONTINUATION;
start = off;
cur = t;
case LINE_PATCH_HUNK_HDR:
case LINE_PATCH_ADD:
case LINE_PATCH_DEL:
- wrap_text(buffer, prfx, l, MIN(fill_column, width));
+ wrap_text(buffer, prfx, l, MIN(fill_column, width),
+ 0);
break;
case LINE_COMPL:
case LINE_COMPL_CURRENT:
case LINE_DOWNLOAD:
case LINE_DOWNLOAD_DONE:
case LINE_DOWNLOAD_INFO:
- wrap_one(buffer, prfx, l, width);
+ wrap_text(buffer, prfx, l, width, 1);
break;
case LINE_FRINGE:
/* never, ever wrapped */