Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Path handling portability enhancements for mptester. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | winTest |
Files: | files | file ages | folders |
SHA1: |
da49634b331812fa4d6e33d72c9661ae |
User & Date: | mistachkin 2015-03-31 17:58:13.315 |
Context
2015-03-31
| ||
18:18 | Path portability enhancements for mptester.exe. (check-in: c8694657bd user: drh tags: winTest) | |
17:58 | Path handling portability enhancements for mptester. (check-in: da49634b33 user: mistachkin tags: winTest) | |
17:45 | Testing enhancements on Windows. (check-in: 9cc70eee2e user: mistachkin tags: winTest) | |
Changes
Changes to mptest/mptest.c.
︙ | ︙ | |||
48 49 50 51 52 53 54 55 56 57 58 59 60 61 | /* The suffix to append to the child command lines, if any */ #if defined(_WIN32) # define GETPID (int)GetCurrentProcessId #else # define GETPID getpid #endif /* Mark a parameter as unused to suppress compiler warnings */ #define UNUSED_PARAMETER(x) (void)x /* Global data */ static struct Global { | > > > > > > > | 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | /* The suffix to append to the child command lines, if any */ #if defined(_WIN32) # define GETPID (int)GetCurrentProcessId #else # define GETPID getpid #endif /* The directory separator character(s) */ #if defined(_WIN32) # define isDirSep(c) (((c) == '/') || ((c) == '\\')) #else # define isDirSep(c) ((c) == '/') #endif /* Mark a parameter as unused to suppress compiler warnings */ #define UNUSED_PARAMETER(x) (void)x /* Global data */ static struct Global { |
︙ | ︙ | |||
820 821 822 823 824 825 826 | } } /* Return a pointer to the tail of a filename */ static char *filenameTail(char *z){ int i, j; | | | 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 | } } /* Return a pointer to the tail of a filename */ static char *filenameTail(char *z){ int i, j; for(i=j=0; z[i]; i++) if( isDirSep(z[i]) ) j = i+1; return z+j; } /* ** Interpret zArg as a boolean value. Return either 0 or 1. */ static int booleanValue(char *zArg){ |
︙ | ︙ | |||
1017 1018 1019 1020 1021 1022 1023 | ** ** Run a subscript from a separate file. */ if( strcmp(zCmd, "source")==0 ){ char *zNewFile, *zNewScript; char *zToDel = 0; zNewFile = azArg[0]; | | | | 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 | ** ** Run a subscript from a separate file. */ if( strcmp(zCmd, "source")==0 ){ char *zNewFile, *zNewScript; char *zToDel = 0; zNewFile = azArg[0]; if( !isDirSep(zNewFile[0]) ){ int k; for(k=(int)strlen(zFilename)-1; k>=0 && !isDirSep(zFilename[k]); k--){} if( k>0 ){ zNewFile = zToDel = sqlite3_mprintf("%.*s/%s", k,zFilename,zNewFile); } } zNewScript = readFile(zNewFile); if( g.iTrace ) logMessage("begin script [%s]\n", zNewFile); runScript(0, 0, zNewScript, zNewFile); |
︙ | ︙ | |||
1227 1228 1229 1230 1231 1232 1233 | } /* Print a usage message for the program and exit */ static void usage(const char *argv0){ int i; const char *zTail = argv0; for(i=0; argv0[i]; i++){ | | | 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 | } /* Print a usage message for the program and exit */ static void usage(const char *argv0){ int i; const char *zTail = argv0; for(i=0; argv0[i]; i++){ if( isDirSep(argv0[i]) ) zTail = argv0+i+1; } fprintf(stderr,"Usage: %s DATABASE ?OPTIONS? ?SCRIPT?\n", zTail); exit(1); } /* Report on unrecognized arguments */ static void unrecognizedArguments( |
︙ | ︙ |