Hi,

It seems that NetBSD current's readline emulation is incomplete.
It uses CPPFunction etc. and MySQL detects it.

Following patch fixes databases/mysql55-client without
patch-cmake_readline.cmake build.

Index: readline.c
===================================================================
RCS file: /cvsroot/src/lib/libedit/readline.c,v
retrieving revision 1.116
diff -u -r1.116 readline.c
--- readline.c  26 May 2015 19:59:21 -0000      1.116
+++ readline.c  2 Jun 2015 14:45:00 -0000
@@ -78,7 +78,7 @@
 int rl_point = 0;
 int rl_end = 0;
 char *rl_line_buffer = NULL;
-VCPFunction *rl_linefunc = NULL;
+rl_vcpfunc_t *rl_linefunc = NULL;
 int rl_done = 0;
 VFunction *rl_event_hook = NULL;
 KEYMAP_ENTRY_ARRAY emacs_standard_keymap,
@@ -107,9 +107,9 @@
 char *rl_basic_word_break_characters = break_chars;
 char *rl_completer_word_break_characters = NULL;
 char *rl_completer_quote_characters = NULL;
-CPFunction *rl_completion_entry_function = NULL;
+rl_compentry_func_t *rl_completion_entry_function = NULL;
 char *(*rl_completion_word_break_hook)(void) = NULL;
-CPPFunction *rl_attempted_completion_function = NULL;
+rl_completion_func_t *rl_attempted_completion_function = NULL;
 Function *rl_pre_input_hook = NULL;
 Function *rl_startup1_hook = NULL;
 int (*rl_getc_function)(FILE *) = NULL;
@@ -1831,7 +1831,7 @@
 
        /* Just look at how many global variables modify this operation! */
        return fn_complete(e,
-           (CPFunction *)rl_completion_entry_function,
+           (rl_compentry_func_t *)rl_completion_entry_function,
            rl_attempted_completion_function,
            ct_decode_string(rl_basic_word_break_characters, &wbreak_conv),
            ct_decode_string(breakchars, &sprefix_conv),
@@ -2009,7 +2009,7 @@
 }
 
 void 
-rl_callback_handler_install(const char *prompt, VCPFunction *linefunc)
+rl_callback_handler_install(const char *prompt, rl_vcpfunc_t *linefunc)
 {
        if (e == NULL) {
                rl_initialize();
Index: readline/readline.h
===================================================================
RCS file: /cvsroot/src/lib/libedit/readline/readline.h,v
retrieving revision 1.35
diff -u -r1.35 readline.h
--- readline/readline.h 26 May 2015 19:59:21 -0000      1.35
+++ readline/readline.h 2 Jun 2015 14:45:00 -0000
@@ -39,9 +39,9 @@
 /* typedefs */
 typedef int      Function(const char *, int);
 typedef void     VFunction(void);
-typedef void     VCPFunction(char *);
-typedef char    *CPFunction(const char *, int);
-typedef char   **CPPFunction(const char *, int, int);
+typedef void     rl_vcpfunc_t(char *);
+typedef char    *rl_compentry_func_t(const char *, int);
+typedef char   **rl_completion_func_t(const char *, int, int);
 typedef char     *rl_compentry_func_t(const char *, int);
 typedef int      rl_command_func_t(int, int);
 
@@ -108,9 +108,9 @@
 extern char            *rl_basic_word_break_characters;
 extern char            *rl_completer_word_break_characters;
 extern char            *rl_completer_quote_characters;
-extern CPFunction      *rl_completion_entry_function;
+extern rl_compentry_func_t *rl_completion_entry_function;
 extern char            *(*rl_completion_word_break_hook)(void);
-extern CPPFunction     *rl_attempted_completion_function;
+extern rl_completion_func_t *rl_attempted_completion_function;
 extern int              rl_attempted_completion_over;
 extern int             rl_completion_type;
 extern int             rl_completion_query_items;
@@ -175,7 +175,7 @@
 char           *username_completion_function(const char *, int);
 int             rl_complete(int, int);
 int             rl_read_key(void);
-char          **completion_matches(const char *, CPFunction *);
+char          **completion_matches(const char *, rl_compentry_func_t *);
 void            rl_display_match_list(char **, int, int);
 
 int             rl_insert(int, int);
@@ -184,7 +184,7 @@
 int             rl_bind_key(int, rl_command_func_t *);
 int             rl_newline(int, int);
 void            rl_callback_read_char(void);
-void            rl_callback_handler_install(const char *, VCPFunction *);
+void            rl_callback_handler_install(const char *, rl_vcpfunc_t *);
 void            rl_callback_handler_remove(void);
 void            rl_redisplay(void);
 int             rl_get_previous_history(int, int);

--
Ryo ONODERA // [email protected]
PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB  FD1B F404 27FA C7D1 15F3

Reply via email to