Merge branch 'vendor/LIBEDIT'
authorJohn Marino <draco@marino.st>
Tue, 3 Nov 2015 23:58:27 +0000 (00:58 +0100)
committerJohn Marino <draco@marino.st>
Tue, 3 Nov 2015 23:58:27 +0000 (00:58 +0100)
Conflicts:
contrib/libedit/src/chartype.h
contrib/libedit/src/eln.c

1  2 
contrib/libedit/src/chartype.h
contrib/libedit/src/eln.c
contrib/libedit/src/filecomplete.c

@@@ -1,4 -1,4 +1,4 @@@
- /*    $NetBSD: chartype.h,v 1.10 2011/11/16 01:45:10 christos Exp $   */
+ /*    $NetBSD: chartype.h,v 1.13 2015/02/22 02:16:19 christos Exp $   */
  
  /*-
   * Copyright (c) 2009 The NetBSD Foundation, Inc.
@@@ -44,9 -44,7 +44,9 @@@
   * supports non-BMP code points without requiring UTF-16, but nothing
   * seems to actually advertise this properly, despite Unicode 3.1 having
   * been around since 2001... */
- #if !defined(__NetBSD__) && !defined(__sun) && !(defined(__APPLE__) && defined(__MACH__))
 +
 +#if 0 /* DragonFly wchar supports ISO 10646 */
+ #if !defined(__NetBSD__) && !defined(__sun) && !(defined(__APPLE__) && defined(__MACH__)) && !defined(__OpenBSD__)
  #ifndef __STDC_ISO_10646__
  /* In many places it is assumed that the first 127 code points are ASCII
   * compatible, so ensure wchar_t indeed does ISO 10646 and not some other
@@@ -54,7 -52,6 +54,7 @@@
        #error wchar_t must store ISO 10646 characters
  #endif
  #endif
 +#endif
  
  /* Oh for a <uchar.h> with char32_t and __STDC_UTF_32__ in it...
   * ref: ISO/IEC DTR 19769
@@@ -196,7 -193,8 +196,8 @@@ public Char *ct_decode_string(const cha
  protected Char **ct_decode_argv(int, const char *[],  ct_buffer_t *);
  
  /* Resizes the conversion buffer(s) if needed. */
- protected void ct_conv_buff_resize(ct_buffer_t *, size_t, size_t);
+ protected int ct_conv_cbuff_resize(ct_buffer_t *, size_t);
+ protected int ct_conv_wbuff_resize(ct_buffer_t *, size_t);
  protected ssize_t ct_encode_char(char *, size_t, Char);
  protected size_t ct_enc_width(Char);
  
  #define       ct_encode_string(s, b)  (s)
  #define ct_decode_string(s, b)        (s)
  #define ct_decode_argv(l, s, b)       (s)
- #define ct_conv_buff_resize(b, os, ns)
+ #define ct_conv_cbuff_resize(b, s) ((s) == (0))
+ #define ct_conv_wbuff_resize(b, s) ((s) == (0))
  #define ct_encode_char(d, l, s)       (*d = s, 1)
  #define ct_free_argv(s)
  #endif
@@@ -1,4 -1,4 +1,4 @@@
- /*    $NetBSD: eln.c,v 1.17 2014/06/18 18:12:28 christos Exp $        */
+ /*    $NetBSD: eln.c,v 1.18 2015/03/24 21:26:50 christos Exp $        */
  
  /*-
   * Copyright (c) 2009 The NetBSD Foundation, Inc.
@@@ -34,7 -34,7 +34,7 @@@
   */
  #include "config.h"
  #if !defined(lint) && !defined(SCCSID)
- __RCSID("$NetBSD: eln.c,v 1.17 2014/06/18 18:12:28 christos Exp $");
+ __RCSID("$NetBSD: eln.c,v 1.18 2015/03/24 21:26:50 christos Exp $");
  #endif /* not lint && not SCCSID */
  
  #include "histedit.h"
@@@ -75,18 -75,12 +75,17 @@@ public const char 
  el_gets(EditLine *el, int *nread)
  {
        const wchar_t *tmp;
 +      int nwread;
 +
 +      *nread = 0;
  
        if (!(el->el_flags & CHARSET_IS_UTF8))
                el->el_flags |= IGNORE_EXTCHARS;
 -      tmp = el_wgets(el, nread);
 +      tmp = el_wgets(el, &nwread);
        if (!(el->el_flags & CHARSET_IS_UTF8))
                el->el_flags &= ~IGNORE_EXTCHARS;
 +      for (int i = 0; i < nwread; i++)
 +              *nread += ct_enc_width(tmp[i]);
        return ct_encode_string(tmp, &el->el_lgcyconv);
  }
  
@@@ -1,4 -1,4 +1,4 @@@
- /*    $NetBSD: filecomplete.c,v 1.32 2014/06/05 22:07:42 christos Exp $       */
+ /*    $NetBSD: filecomplete.c,v 1.34 2014/10/18 15:07:02 riz Exp $    */
  
  /*-
   * Copyright (c) 1997 The NetBSD Foundation, Inc.
@@@ -32,7 -32,7 +32,7 @@@
  #include "config.h"
  
  #if !defined(lint) && !defined(SCCSID)
- __RCSID("$NetBSD: filecomplete.c,v 1.32 2014/06/05 22:07:42 christos Exp $");
+ __RCSID("$NetBSD: filecomplete.c,v 1.34 2014/10/18 15:07:02 riz Exp $");
  #endif /* not lint && not SCCSID */
  
  #include <sys/types.h>
@@@ -66,7 -66,7 +66,7 @@@ static const Char break_chars[] = { ' '
   * if ``user'' isn't valid user name or ``txt'' doesn't start
   * w/ '~', returns pointer to strdup()ed copy of ``txt''
   *
-  * it's callers's responsibility to free() returned string
+  * it's the caller's responsibility to free() the returned string
   */
  char *
  fn_tilde_expand(const char *txt)
   * such file can be found
   * value of ``state'' is ignored
   *
-  * it's caller's responsibility to free returned string
+  * it's the caller's responsibility to free the returned string
   */
  char *
  fn_filename_completion_function(const char *text, int state)
@@@ -448,7 -448,7 +448,7 @@@ fn_complete(EditLine *el
  
        /* these can be used by function called in completion_matches() */
        /* or (*attempted_completion_function)() */
 -      if (point != 0)
 +      if (point != NULL)
                *point = (int)(li->cursor - li->buffer);
        if (end != NULL)
                *end = (int)(li->lastchar - li->buffer);
                    ct_encode_string(temp, &el->el_scratch),
                    cur_off - (int)len, cur_off);
        } else
 -              matches = 0;
 +              matches = NULL;
        if (!attempted_completion_function || 
            (over != NULL && !*over && !matches))
                matches = completion_matches(