diff options
author | unknown <monty@donna.mysql.com> | 2000-11-22 03:45:50 +0200 |
---|---|---|
committer | unknown <monty@donna.mysql.com> | 2000-11-22 03:45:50 +0200 |
commit | b7aecfe7d23a2fdb2609f7cbad5943552b6cf143 (patch) | |
tree | 333fe127b206d60d771ea242b6883d23657c2c4f /client | |
parent | 62c3b53667b31f99c7cbcd64ec8434ff3960cbe8 (diff) | |
parent | b17e202d3c9de45c0424de8ebcb5e3001b1bf625 (diff) | |
download | mariadb-git-b7aecfe7d23a2fdb2609f7cbad5943552b6cf143.tar.gz |
Merge work:/home/bk/mysql into donna.mysql.com:/home/my/bk/mysql
Diffstat (limited to 'client')
-rw-r--r-- | client/mysql.cc | 61 |
1 files changed, 35 insertions, 26 deletions
diff --git a/client/mysql.cc b/client/mysql.cc index e5246aac6c5..b7a41a122eb 100644 --- a/client/mysql.cc +++ b/client/mysql.cc @@ -145,14 +145,18 @@ void tee_putc(int c, FILE *file); static int get_options(int argc,char **argv); static int com_quit(String *str,char*), com_go(String *str,char*), com_ego(String *str,char*), - com_edit(String *str,char*), com_print(String *str,char*), + com_print(String *str,char*), com_help(String *str,char*), com_clear(String *str,char*), com_connect(String *str,char*), com_status(String *str,char*), com_use(String *str,char*), com_source(String *str, char*), - com_rehash(String *str, char*), com_pager(String *str, char*), - com_nopager(String *str, char*), com_tee(String *str, char*), + com_rehash(String *str, char*), com_tee(String *str, char*), com_notee(String *str, char*); +#ifndef __WIN__ +static int com_nopager(String *str, char*), com_pager(String *str, char*), + com_edit(String *str,char*); +#endif + static int read_lines(bool execute_commands); static int sql_connect(char *host,char *database,char *user,char *password, uint silent); @@ -180,7 +184,9 @@ static COMMANDS commands[] = { { "clear", 'c', com_clear, 0, "Clear command."}, { "connect",'r', com_connect,1, "Reconnect to the server. Optional arguments are db and host." }, +#ifndef __WIN__ { "edit", 'e', com_edit, 0, "Edit command with $EDITOR."}, +#endif { "ego", 'G', com_ego, 0, "Send command to mysql server, display result vertically."}, { "exit", 'q', com_quit, 0, "Exit mysql. Same as quit."}, @@ -764,6 +770,16 @@ static int read_lines(bool execute_commands) } else { +#ifdef __WIN__ + if (opt_outfile && glob_buffer.is_empty()) + fflush(OUTFILE); + tee_fputs(glob_buffer.is_empty() ? "mysql> " : + !in_string ? " -> " : + in_string == '\'' ? + " '> " : " \"> ",stdout); + linebuffer[0]=(char) sizeof(linebuffer); + line=_cgets(linebuffer); +#else if (opt_outfile) { if (glob_buffer.is_empty()) @@ -773,14 +789,6 @@ static int read_lines(bool execute_commands) in_string == '\'' ? " '> " : " \"> ", OUTFILE); } -#ifdef __WIN__ - tee_fprintf(stdout, glob_buffer.is_empty() ? "mysql> " : - !in_string ? " -> " : - in_string == '\'' ? - " '> " : " \"> "); - linebuffer[0]=(char) sizeof(linebuffer); - line=_cgets(linebuffer); -#else line=readline((char*) (glob_buffer.is_empty() ? "mysql> " : !in_string ? " -> " : in_string == '\'' ? @@ -1476,7 +1484,7 @@ static void end_pager() static void init_tee() { - if (!(OUTFILE= my_fopen(outfile,O_APPEND | O_WRONLY | O_BINARY,MYF(MY_WME)))) + if (!(OUTFILE= my_fopen(outfile, O_APPEND | O_WRONLY, MYF(MY_WME)))) { opt_outfile=0; init_pager(); @@ -1727,7 +1735,7 @@ com_tee(String *buffer, char *line __attribute__((unused))) init_tee(); opt_outfile=1; } - tee_fprintf(stdout, "Outfile '%s' is in use now.\n", outfile); + tee_fprintf(stdout, "Logging to file '%s'\n", outfile); return 0; } @@ -1742,6 +1750,11 @@ com_notee(String *buffer __attribute__((unused)), return 0; } +/* +** Sorry, this command is not available in Windows. +*/ + +#ifndef __WIN__ static int com_pager(String *buffer, char *line __attribute__((unused))) { @@ -1749,10 +1762,6 @@ com_pager(String *buffer, char *line __attribute__((unused))) if (status.batch) return 0; -#ifdef __WIN__ - tee_fprintf(stdout, "Sorry, this command is not available in Windows.\n"); - return 0; -#endif /* Skip space from file name */ while (isspace(*line)) line++; @@ -1783,28 +1792,27 @@ com_pager(String *buffer, char *line __attribute__((unused))) return 0; } + static int com_nopager(String *buffer __attribute__((unused)), char *line __attribute__((unused))) { -#ifdef __WIN__ - tee_fprintf(stdout, "This command has no function in Windows.\n"); - return 0; -#endif strmov(pager, "stdout"); opt_nopager=1; tee_fprintf(stdout, "PAGER set to stdout\n"); return 0; } +#endif +/* +** Sorry, you can't send the result to an editor in Win32 +*/ + +#ifndef __WIN__ static int com_edit(String *buffer,char *line __attribute__((unused))) { -#ifdef __WIN__ - put_info("Sorry, you can't send the result to an editor in Win32", - INFO_ERROR); -#else char filename[FN_REFLEN],buff[160]; int fd,tmp; const char *editor; @@ -1838,9 +1846,10 @@ com_edit(String *buffer,char *line __attribute__((unused))) (void) my_close(fd,MYF(0)); (void) my_delete(filename,MYF(MY_WME)); err: -#endif return 0; } +#endif + /* If arg is given, exit without errors. This happens on command 'quit' */ |