summaryrefslogtreecommitdiffstats
path: root/kexi/3rdparty/kexisql/src/patches/shell.c.patch
diff options
context:
space:
mode:
Diffstat (limited to 'kexi/3rdparty/kexisql/src/patches/shell.c.patch')
-rw-r--r--kexi/3rdparty/kexisql/src/patches/shell.c.patch217
1 files changed, 0 insertions, 217 deletions
diff --git a/kexi/3rdparty/kexisql/src/patches/shell.c.patch b/kexi/3rdparty/kexisql/src/patches/shell.c.patch
deleted file mode 100644
index 0d7d2dae..00000000
--- a/kexi/3rdparty/kexisql/src/patches/shell.c.patch
+++ /dev/null
@@ -1,217 +0,0 @@
---- shell.c.orig/shell.c 2004-07-22 22:08:28.000000000 +0200
-+++ shell.c 2005-05-04 18:47:40.000000000 +0200
-@@ -12,7 +12,7 @@
- ** This file contains code to implement the "sqlite" command line
- ** utility for accessing SQLite databases.
- **
--** $Id: shell.c,v 1.93 2004/03/17 23:42:13 drh Exp $
-+** $Id: shell.c 409279 2005-05-04 15:23:02Z staniek $
- */
- #include <stdlib.h>
- #include <string.h>
-@@ -20,11 +20,19 @@
- #include "sqlite.h"
- #include <ctype.h>
-
-+#if defined(_WIN32)
-+# include <io.h>
-+#endif
-+
- #if !defined(_WIN32) && !defined(WIN32) && !defined(__MACOS__)
- # include <signal.h>
- # include <pwd.h>
- # include <unistd.h>
- # include <sys/types.h>
-+
-+#define strnicmp strncasecmp
-+#define stricmp strcasecmp
-+
- #endif
-
- #ifdef __MACOS__
-@@ -47,6 +55,12 @@
- # define stifle_history(X)
- #endif
-
-+/* js */
-+char verboseDump = 0;
-+int nObjects = 0; /* used to count progress */
-+int curObjects = 0;
-+/* \js */
-+
- /* Make sure isatty() has a prototype.
- */
- extern int isatty();
-@@ -80,7 +94,28 @@
- /*
- ** Determines if a string is a number of not.
- */
--extern int sqliteIsNumber(const char*);
-+/* extern int sqliteIsNumber(const char*); */
-+static int isNumber(const unsigned char *z){
-+ if( *z=='-' || *z=='+' ) z++;
-+ if( !isdigit(*z) ){
-+ return 0;
-+ }
-+ z++;
-+ while( isdigit(*z) ){ z++; }
-+ if( *z=='.' ){
-+ z++;
-+ if( !isdigit(*z) ) return 0;
-+ while( isdigit(*z) ){ z++; }
-+ }
-+ if( *z=='e' || *z=='E' ){
-+ z++;
-+ if( *z=='+' || *z=='-' ) z++;
-+ if( !isdigit(*z) ) return 0;
-+ while( isdigit(*z) ){ z++; }
-+ }
-+ return *z==0;
-+}
-+
-
- /*
- ** This routine reads a line of text from standard input, stores
-@@ -392,7 +427,7 @@
- char *zSep = i>0 ? ",": "";
- if( azArg[i]==0 ){
- fprintf(p->out,"%sNULL",zSep);
-- }else if( sqliteIsNumber(azArg[i]) ){
-+ }else if( isNumber(azArg[i]) ){
- fprintf(p->out,"%s%s",zSep, azArg[i]);
- }else{
- if( zSep[0] ) fprintf(p->out,"%s",zSep);
-@@ -452,10 +487,14 @@
- */
- static int dump_callback(void *pArg, int nArg, char **azArg, char **azCol){
- struct callback_data *p = (struct callback_data *)pArg;
-+ struct callback_data d2;
- if( nArg!=3 ) return 1;
- fprintf(p->out, "%s;\n", azArg[2]);
- if( strcmp(azArg[1],"table")==0 ){
-- struct callback_data d2;
-+/* js */
-+ if (verboseDump)
-+ fprintf(stderr, "%%%d\n", (++curObjects * 100 / nObjects));
-+/* \js */
- d2 = *p;
- d2.mode = MODE_Insert;
- d2.zDestTable = 0;
-@@ -542,6 +581,14 @@
- int rc = 0;
- char *azArg[50];
-
-+/* js */
-+ sqlite_vm *pVm;
-+ char *errMsg;
-+ int ncolumns; /* OUT: Number of columns in result */
-+ const char **pazValue; /* OUT: Column data */
-+ const char **pazColName; /* OUT: Column names and datatypes */
-+/* \js */
-+
- /* Parse the input line into tokens.
- */
- while( zLine[i] && nArg<ArraySize(azArg) ){
-@@ -586,6 +633,24 @@
- if( c=='d' && strncmp(azArg[0], "dump", n)==0 ){
- char *zErrMsg = 0;
- open_db(p);
-+
-+/* js */
-+if (SQLITE_OK!=sqlite_compile(p->db, "SELECT COUNT(1) FROM sqlite_master",
-+0, &pVm, &errMsg)) {
-+ fprintf(stderr, "%s\n", errMsg);
-+ exit(1);
-+}
-+if (SQLITE_ROW!=sqlite_step( pVm, &ncolumns, &pazValue, &pazColName )) {
-+ exit(1);
-+}
-+nObjects = atoi(pazValue[0]);
-+
-+if (SQLITE_OK!=sqlite_finalize( pVm, &errMsg)) {
-+ fprintf(stderr, "%s\n", errMsg);
-+ exit(1);
-+}
-+/* \js */
-+
- fprintf(p->out, "BEGIN TRANSACTION;\n");
- if( nArg==1 ){
- sqlite_exec(p->db,
-@@ -812,8 +877,9 @@
- data.showHeader = 0;
- data.mode = MODE_Semi;
- if( nArg>1 ){
-- extern int sqliteStrICmp(const char*,const char*);
-- if( sqliteStrICmp(azArg[1],"sqlite_master")==0 ){
-+/* extern int sqliteStrICmp(const char*,const char*);
-+ if( sqliteStrICmp(azArg[1],"sqlite_master")==0 ){*/
-+ if( stricmp(azArg[1],"sqlite_master")==0 ){
- char *new_argv[2], *new_colv[2];
- new_argv[0] = "CREATE TABLE sqlite_master (\n"
- " type text,\n"
-@@ -826,7 +892,8 @@
- new_colv[0] = "sql";
- new_colv[1] = 0;
- callback(&data, 1, new_argv, new_colv);
-- }else if( sqliteStrICmp(azArg[1],"sqlite_temp_master")==0 ){
-+/* }else if( sqliteStrICmp(azArg[1],"sqlite_temp_master")==0 ){*/
-+ }else if( stricmp(azArg[1],"sqlite_temp_master")==0 ){
- char *new_argv[2], *new_colv[2];
- new_argv[0] = "CREATE TEMP TABLE sqlite_temp_master (\n"
- " type text,\n"
-@@ -997,10 +1064,11 @@
- ** as is the Oracle "/".
- */
- static int _is_command_terminator(const char *zLine){
-- extern int sqliteStrNICmp(const char*,const char*,int);
-+/* extern int sqliteStrNICmp(const char*,const char*,int); */
- while( isspace(*zLine) ){ zLine++; };
- if( zLine[0]=='/' && _all_whitespace(&zLine[1]) ) return 1; /* Oracle */
-- if( sqliteStrNICmp(zLine,"go",2)==0 && _all_whitespace(&zLine[2]) ){
-+/* if( sqliteStrNICmp(zLine,"go",2)==0 && _all_whitespace(&zLine[2]) ){ */
-+ if( strnicmp(zLine,"go",2)==0 && _all_whitespace(&zLine[2]) ){
- return 1; /* SQL Server */
- }
- return 0;
-@@ -1210,7 +1278,7 @@
- const char *zInitFile = 0;
- char *zFirstCmd = 0;
- int i;
-- extern int sqliteOsFileExists(const char*);
-+/* extern int sqliteOsFileExists(const char*); */
-
- #ifdef __MACOS__
- argc = ccommand(&argv);
-@@ -1257,7 +1325,7 @@
- ** files from being created if a user mistypes the database name argument
- ** to the sqlite command-line tool.
- */
-- if( sqliteOsFileExists(data.zDbFilename) ){
-+ if( access(data.zDbFilename, 0)==0 ){
- open_db(&data);
- }
-
-@@ -1297,8 +1365,10 @@
- }else if( strcmp(z,"-echo")==0 ){
- data.echoOn = 1;
- }else if( strcmp(z,"-version")==0 ){
-- printf("%s\n", sqlite_version);
-+ printf("%s\n", sqlite_libversion());
- return 1;
-+ }else if( strcmp(z,"-verbose-dump")==0 ){
-+ verboseDump = 1;
- }else if( strcmp(z,"-help")==0 ){
- usage(1);
- }else{
-@@ -1330,9 +1400,9 @@
- char *zHome;
- char *zHistory = 0;
- printf(
-- "SQLite version %s\n"
-+ "SQLite version %s (bundled with Kexi)\n"
- "Enter \".help\" for instructions\n",
-- sqlite_version
-+ sqlite_libversion()
- );
- zHome = find_home_dir();
- if( zHome && (zHistory = malloc(strlen(zHome)+20))!=0 ){