On 06/28/17 19:00, Theo de Raadt wrote:
> Sounds good.
> 
> It might be nice to determine if these two variables should be one,
> ie. tied together better.

I was thinking the same thing. Both are used for input line buffering,
so I reckon that's sane.

Identical checksum compared to previous diff.

> 
>> Hello tech@,
>>
>> On monday I was playing with the build environment of PHP and all of a 
>> sudden I couldn't finish the command because the command buffer was
>> full, so I was forced to use bash to finish what I set out to do. Of
>> course I'd rather stay on ksh, so here's a patch (guided by anton@)
>> which increases the buffer sizes of ksh.
>>
>> I've been running this full time @$DAYJOB for two days with the S
>> malloc option enabled and just did a full system reboot with the
>> whole malloc.conf shebang without any issues.
>>
>> OK?
>>
>> martijn@
>>

Index: sh.h
===================================================================
RCS file: /cvs/src/bin/ksh/sh.h,v
retrieving revision 1.58
diff -u -p -r1.58 sh.h
--- sh.h        8 Sep 2016 15:50:50 -0000       1.58
+++ sh.h        28 Jun 2017 17:33:58 -0000
@@ -32,7 +32,7 @@
 #define        MAGIC           (7)     /* prefix for *?[!{,} during expand */
 #define ISMAGIC(c)     ((unsigned char)(c) == MAGIC)
 
-#define        LINE    2048            /* input line size */
+#define        LINE    4096            /* input line size */
 #define        PATH    1024            /* pathname size (todo: 
PATH_MAX/pathconf()) */
 
 extern const char *kshname;    /* $0 */
Index: vi.c
===================================================================
RCS file: /cvs/src/bin/ksh/vi.c,v
retrieving revision 1.47
diff -u -p -r1.47 vi.c
--- vi.c        31 May 2017 20:18:43 -0000      1.47
+++ vi.c        28 Jun 2017 17:33:58 -0000
@@ -18,7 +18,6 @@
 #include "sh.h"
 #include "edit.h"
 
-#define CMDLEN         2048
 #define CTRL(c)                (c & 0x1f)
 
 struct edstate {
@@ -143,24 +142,24 @@ const unsigned char       classify[128] = {
 #define VSEARCH                9               /* /, ? */
 #define VVERSION       10              /* <ESC> ^V */
 
-static char            undocbuf[CMDLEN];
+static char            undocbuf[LINE];
 
 static struct edstate  *save_edstate(struct edstate *old);
 static void            restore_edstate(struct edstate *old, struct edstate 
*new);
 static void            free_edstate(struct edstate *old);
 
 static struct edstate  ebuf;
-static struct edstate  undobuf = { undocbuf, CMDLEN, 0, 0, 0 };
+static struct edstate  undobuf = { undocbuf, LINE, 0, 0, 0 };
 
 static struct edstate  *es;                    /* current editor state */
 static struct edstate  *undo;
 
-static char    ibuf[CMDLEN];           /* input buffer */
+static char    ibuf[LINE];             /* input buffer */
 static int     first_insert;           /* set when starting in insert mode */
 static int     saved_inslen;           /* saved inslen for first insert */
 static int     inslen;                 /* length of input buffer */
 static int     srchlen;                /* number of bytes in search pattern */
-static char    ybuf[CMDLEN];           /* yank buffer */
+static char    ybuf[LINE];             /* yank buffer */
 static int     yanklen;                /* length of yank buffer */
 static int     fsavecmd = ' ';         /* last find command */
 static int     fsavech;                /* character to find */
@@ -196,7 +195,7 @@ x_vi(char *buf, size_t len)
 {
        int     c;
 
-       vi_reset(buf, len > CMDLEN ? CMDLEN : len);
+       vi_reset(buf, len > LINE ? LINE : len);
        vi_pprompt(1);
        x_flush();
        while (1) {
@@ -1368,7 +1367,7 @@ static char       *wbuf[2];               /* current & 
prev
 static int     wbuf_len;               /* length of window buffers (x_cols-3)*/
 static int     win;                    /* number of window buffer in use */
 static char    morec;                  /* more character at right of window */
-static char    holdbuf[CMDLEN];        /* place to hold last edit buffer */
+static char    holdbuf[LINE];          /* place to hold last edit buffer */
 static int     holdlen;                /* length of holdbuf */
 
 static void

Reply via email to