diff --git a/src/kit/shell/inc/shell.h b/src/kit/shell/inc/shell.h index 499c93e0ec96ddf0b3b655286207cf23b1f5694d..0c8153e3ab615b2ecc33bbc815cc38552967c393 100644 --- a/src/kit/shell/inc/shell.h +++ b/src/kit/shell/inc/shell.h @@ -84,7 +84,6 @@ int shellDumpResult(TAOS* con, char* fname, int* error_no, bool printMode); void shellPrintNChar(char* str, int width, bool printMode); void shellGetGrantInfo(void *con); int isCommentLine(char *line); -#define max(a, b) ((int)(a) < (int)(b) ? (int)(b) : (int)(a)) /**************** Global variable declarations ****************/ extern char PROMPT_HEADER[]; diff --git a/src/kit/shell/src/shellEngine.c b/src/kit/shell/src/shellEngine.c index ac66ab15d90ddaf3ceada296e713b1a9b3a9f75b..ff45220d8901dfd361a69ced5ab3d80df993dd83 100644 --- a/src/kit/shell/src/shellEngine.c +++ b/src/kit/shell/src/shellEngine.c @@ -16,12 +16,12 @@ #define _XOPEN_SOURCE #define _DEFAULT_SOURCE -#include #include "os.h" #include "shell.h" #include "shellCommand.h" #include "ttime.h" #include "tutil.h" + #include /**************** Global variables ****************/ @@ -295,7 +295,6 @@ void shellRunCommandOnServer(TAOS *con, char command[]) { if (fname != NULL) { wordfree(&full_path); } - return; } /* Function to do regular expression check */ @@ -376,29 +375,29 @@ int shellDumpResult(TAOS *con, char *fname, int *error_no, bool printMode) { for (int col = 0; col < num_fields; col++) { switch (fields[col].type) { case TSDB_DATA_TYPE_BOOL: - l[col] = max(BOOL_OUTPUT_LENGTH, strlen(fields[col].name)); + l[col] = MAX(BOOL_OUTPUT_LENGTH, strlen(fields[col].name)); break; case TSDB_DATA_TYPE_TINYINT: - l[col] = max(TINYINT_OUTPUT_LENGTH, strlen(fields[col].name)); + l[col] = MAX(TINYINT_OUTPUT_LENGTH, strlen(fields[col].name)); break; case TSDB_DATA_TYPE_SMALLINT: - l[col] = max(SMALLINT_OUTPUT_LENGTH, strlen(fields[col].name)); + l[col] = MAX(SMALLINT_OUTPUT_LENGTH, strlen(fields[col].name)); break; case TSDB_DATA_TYPE_INT: - l[col] = max(INT_OUTPUT_LENGTH, strlen(fields[col].name)); + l[col] = MAX(INT_OUTPUT_LENGTH, strlen(fields[col].name)); break; case TSDB_DATA_TYPE_BIGINT: - l[col] = max(BIGINT_OUTPUT_LENGTH, strlen(fields[col].name)); + l[col] = MAX(BIGINT_OUTPUT_LENGTH, strlen(fields[col].name)); break; case TSDB_DATA_TYPE_FLOAT: - l[col] = max(FLOAT_OUTPUT_LENGTH, strlen(fields[col].name)); + l[col] = MAX(FLOAT_OUTPUT_LENGTH, strlen(fields[col].name)); break; case TSDB_DATA_TYPE_DOUBLE: - l[col] = max(DOUBLE_OUTPUT_LENGTH, strlen(fields[col].name)); + l[col] = MAX(DOUBLE_OUTPUT_LENGTH, strlen(fields[col].name)); break; case TSDB_DATA_TYPE_BINARY: case TSDB_DATA_TYPE_NCHAR: - l[col] = max(fields[col].bytes, strlen(fields[col].name)); + l[col] = MAX(fields[col].bytes, strlen(fields[col].name)); /* l[col] = max(BINARY_OUTPUT_LENGTH, strlen(fields[col].name)); */ break; case TSDB_DATA_TYPE_TIMESTAMP: { @@ -409,7 +408,7 @@ int shellDumpResult(TAOS *con, char *fname, int *error_no, bool printMode) { if (taos_result_precision(result) == TSDB_TIME_PRECISION_MICRO) { defaultWidth += 3; } - l[col] = max(defaultWidth, strlen(fields[col].name)); + l[col] = MAX(defaultWidth, strlen(fields[col].name)); break; } @@ -568,7 +567,7 @@ int shellDumpResult(TAOS *con, char *fname, int *error_no, bool printMode) { case TSDB_DATA_TYPE_NCHAR: memset(t_str, 0, TSDB_MAX_BYTES_PER_ROW); memcpy(t_str, row[i], fields[i].bytes); - l[i] = max(fields[i].bytes, strlen(fields[i].name)); + l[i] = MAX(fields[i].bytes, strlen(fields[i].name)); shellPrintNChar(t_str, l[i], printMode); break; case TSDB_DATA_TYPE_TIMESTAMP: @@ -795,8 +794,17 @@ void source_file(TAOS *con, char *fptr) { char *fname = full_path.we_wordv[0]; - if (access(fname, R_OK) == -1) { + if (access(fname, F_OK) != 0) { + fprintf(stderr, "ERROR: file %s is not exist\n", fptr); + + wordfree(&full_path); + free(cmd); + return; + } + + if (access(fname, R_OK) != 0) { fprintf(stderr, "ERROR: file %s is not readable\n", fptr); + wordfree(&full_path); free(cmd); return; diff --git a/src/kit/shell/src/shellImport.c b/src/kit/shell/src/shellImport.c index 3292aa8e04bba29b8e3636a3b4988ae2f4cd8362..10576348038ff898a9e4b9e2b672ad9814aa660d 100644 --- a/src/kit/shell/src/shellImport.c +++ b/src/kit/shell/src/shellImport.c @@ -153,10 +153,20 @@ static void shellSourceFile(TAOS *con, char *fptr) { } char *fname = full_path.we_wordv[0]; - - if (access(fname, R_OK) == -1) { + + if (access(fname, F_OK) != 0) { + fprintf(stderr, "ERROR: file %s is not exist\n", fptr); + + wordfree(&full_path); + free(cmd); + return; + } + + if (access(fname, R_OK) != 0) { fprintf(stderr, "ERROR: file %s is not readable\n", fptr); + wordfree(&full_path); + free(cmd); return; }