Fossil SCM

Still more improvements to the test-file-environment command.

drh 2017-11-30 05:09 trunk
Commit 84347382046a649d8262bef65e91ee02302d3501d0007f04ad6653b17d2d63c9
1 file changed +52 -45
+52 -45
--- src/file.c
+++ src/file.c
@@ -959,63 +959,71 @@
959959
** file or directory, optionally preserving the trailing slash and
960960
** resetting the cached stat() information.
961961
*/
962962
static void emitFileStat(
963963
const char *zPath,
964
- int raw,
965964
int slash,
966965
int reset
967966
){
968967
char zBuf[200];
969968
char *z;
970969
Blob x;
970
+ int rc;
971
+ sqlite3_int64 iMtime;
972
+ struct fossilStat testFileStat;
971973
memset(zBuf, 0, sizeof(zBuf));
972974
blob_zero(&x);
973975
file_canonical_name(zPath, &x, slash);
974
- fossil_print("%s[%s] -> [%s]\n", raw ? "RAW " : "", zPath, blob_buffer(&x));
976
+ fossil_print("[%s] -> [%s]\n", zPath, blob_buffer(&x));
975977
blob_reset(&x);
976
- if( raw ){
977
- int rc;
978
- struct fossilStat testFileStat;
979
- memset(&testFileStat, 0, sizeof(struct fossilStat));
980
- rc = fossil_stat(zPath, &testFileStat, 0);
981
- fossil_print(" stat_rc = %d\n", rc);
982
- sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld", testFileStat.st_size);
983
- fossil_print(" stat_size = %s\n", zBuf);
984
- z = db_text(0, "SELECT datetime(%lld, 'unixepoch')", testFileStat.st_mtime);
985
- sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld (%s)", testFileStat.st_mtime, z);
986
- fossil_free(z);
987
- fossil_print(" stat_mtime = %s\n", zBuf);
988
- fossil_print(" stat_mode = 0%o\n", testFileStat.st_mode);
989
- memset(&testFileStat, 0, sizeof(struct fossilStat));
990
- rc = fossil_stat(zPath, &testFileStat, 1);
991
- fossil_print(" l_stat_rc = %d\n", rc);
992
- sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld", testFileStat.st_size);
993
- fossil_print(" l_stat_size = %s\n", zBuf);
994
- z = db_text(0, "SELECT datetime(%lld, 'unixepoch')", testFileStat.st_mtime);
995
- sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld (%s)", testFileStat.st_mtime, z);
996
- fossil_free(z);
997
- fossil_print(" l_stat_mtime = %s\n", zBuf);
998
- fossil_print(" l_stat_mode = 0%o\n", testFileStat.st_mode);
999
- }else{
1000
- sqlite3_int64 iMtime;
1001
- if( reset ) resetStat();
1002
- sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld", file_wd_size(zPath));
1003
- fossil_print(" file_size = %s\n", zBuf);
1004
- iMtime = file_wd_mtime(zPath);
1005
- z = db_text(0, "SELECT datetime(%lld, 'unixepoch')", iMtime);
1006
- sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld (%s)", iMtime, z);
1007
- fossil_free(z);
1008
- fossil_print(" file_mtime = %s\n", zBuf);
1009
- fossil_print(" file_mode = 0%o\n", file_wd_mode(zPath));
1010
- fossil_print(" file_isfile = %d\n", file_wd_isfile(zPath));
1011
- fossil_print(" file_isfile_or_link = %d\n", file_wd_isfile_or_link(zPath));
1012
- fossil_print(" file_islink = %d\n", file_wd_islink(zPath));
1013
- fossil_print(" file_isexe = %d\n", file_wd_isexe(zPath));
1014
- fossil_print(" file_isdir = %d\n", file_wd_isdir(zPath));
1015
- if( reset ) resetStat();
1016
- }
978
+ memset(&testFileStat, 0, sizeof(struct fossilStat));
979
+ rc = fossil_stat(zPath, &testFileStat, 0);
980
+ fossil_print(" stat_rc = %d\n", rc);
981
+ sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld", testFileStat.st_size);
982
+ fossil_print(" stat_size = %s\n", zBuf);
983
+ z = db_text(0, "SELECT datetime(%lld, 'unixepoch')", testFileStat.st_mtime);
984
+ sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld (%s)", testFileStat.st_mtime, z);
985
+ fossil_free(z);
986
+ fossil_print(" stat_mtime = %s\n", zBuf);
987
+ fossil_print(" stat_mode = 0%o\n", testFileStat.st_mode);
988
+ memset(&testFileStat, 0, sizeof(struct fossilStat));
989
+ rc = fossil_stat(zPath, &testFileStat, 1);
990
+ fossil_print(" l_stat_rc = %d\n", rc);
991
+ sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld", testFileStat.st_size);
992
+ fossil_print(" l_stat_size = %s\n", zBuf);
993
+ z = db_text(0, "SELECT datetime(%lld, 'unixepoch')", testFileStat.st_mtime);
994
+ sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld (%s)", testFileStat.st_mtime, z);
995
+ fossil_free(z);
996
+ fossil_print(" l_stat_mtime = %s\n", zBuf);
997
+ fossil_print(" l_stat_mode = 0%o\n", testFileStat.st_mode);
998
+ if( reset ) resetStat();
999
+ sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld", file_size(zPath));
1000
+ fossil_print(" file_size = %s\n", zBuf);
1001
+ iMtime = file_mtime(zPath);
1002
+ z = db_text(0, "SELECT datetime(%lld, 'unixepoch')", iMtime);
1003
+ sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld (%s)", iMtime, z);
1004
+ fossil_free(z);
1005
+ fossil_print(" file_mtime = %s\n", zBuf);
1006
+ fossil_print(" file_mode = 0%o\n", file_mode(zPath));
1007
+ fossil_print(" file_isfile = %d\n", file_isfile(zPath));
1008
+ fossil_print(" file_isdir = %d\n", file_isdir(zPath));
1009
+ if( reset ) resetStat();
1010
+ sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld", file_wd_size(zPath));
1011
+ fossil_print(" file_wd_size = %s\n", zBuf);
1012
+ iMtime = file_wd_mtime(zPath);
1013
+ z = db_text(0, "SELECT datetime(%lld, 'unixepoch')", iMtime);
1014
+ sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld (%s)", iMtime, z);
1015
+ fossil_free(z);
1016
+ fossil_print(" file_wd_mtime = %s\n", zBuf);
1017
+ fossil_print(" file_wd_mode = 0%o\n", file_wd_mode(zPath));
1018
+ fossil_print(" file_wd_isfile = %d\n", file_wd_isfile(zPath));
1019
+ fossil_print(" file_wd_isfile_or_link = %d\n",
1020
+ file_wd_isfile_or_link(zPath));
1021
+ fossil_print(" file_wd_islink = %d\n", file_wd_islink(zPath));
1022
+ fossil_print(" file_wd_isexe = %d\n", file_wd_isexe(zPath));
1023
+ fossil_print(" file_wd_isdir = %d\n", file_wd_isdir(zPath));
1024
+ if( reset ) resetStat();
10171025
}
10181026
10191027
/*
10201028
** COMMAND: test-file-environment
10211029
**
@@ -1042,12 +1050,11 @@
10421050
filenames_are_case_sensitive());
10431051
fossil_print("db_allow_symlinks_by_default() = %d\n",
10441052
db_allow_symlinks_by_default());
10451053
fossil_print("db_allow_symlinks() = %d\n", db_allow_symlinks());
10461054
for(i=2; i<g.argc; i++){
1047
- emitFileStat(g.argv[i], 1, slashFlag, resetFlag);
1048
- emitFileStat(g.argv[i], 0, slashFlag, resetFlag);
1055
+ emitFileStat(g.argv[i], slashFlag, resetFlag);
10491056
}
10501057
}
10511058
10521059
/*
10531060
** COMMAND: test-canonical-name
10541061
--- src/file.c
+++ src/file.c
@@ -959,63 +959,71 @@
959 ** file or directory, optionally preserving the trailing slash and
960 ** resetting the cached stat() information.
961 */
962 static void emitFileStat(
963 const char *zPath,
964 int raw,
965 int slash,
966 int reset
967 ){
968 char zBuf[200];
969 char *z;
970 Blob x;
 
 
 
971 memset(zBuf, 0, sizeof(zBuf));
972 blob_zero(&x);
973 file_canonical_name(zPath, &x, slash);
974 fossil_print("%s[%s] -> [%s]\n", raw ? "RAW " : "", zPath, blob_buffer(&x));
975 blob_reset(&x);
976 if( raw ){
977 int rc;
978 struct fossilStat testFileStat;
979 memset(&testFileStat, 0, sizeof(struct fossilStat));
980 rc = fossil_stat(zPath, &testFileStat, 0);
981 fossil_print(" stat_rc = %d\n", rc);
982 sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld", testFileStat.st_size);
983 fossil_print(" stat_size = %s\n", zBuf);
984 z = db_text(0, "SELECT datetime(%lld, 'unixepoch')", testFileStat.st_mtime);
985 sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld (%s)", testFileStat.st_mtime, z);
986 fossil_free(z);
987 fossil_print(" stat_mtime = %s\n", zBuf);
988 fossil_print(" stat_mode = 0%o\n", testFileStat.st_mode);
989 memset(&testFileStat, 0, sizeof(struct fossilStat));
990 rc = fossil_stat(zPath, &testFileStat, 1);
991 fossil_print(" l_stat_rc = %d\n", rc);
992 sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld", testFileStat.st_size);
993 fossil_print(" l_stat_size = %s\n", zBuf);
994 z = db_text(0, "SELECT datetime(%lld, 'unixepoch')", testFileStat.st_mtime);
995 sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld (%s)", testFileStat.st_mtime, z);
996 fossil_free(z);
997 fossil_print(" l_stat_mtime = %s\n", zBuf);
998 fossil_print(" l_stat_mode = 0%o\n", testFileStat.st_mode);
999 }else{
1000 sqlite3_int64 iMtime;
1001 if( reset ) resetStat();
1002 sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld", file_wd_size(zPath));
1003 fossil_print(" file_size = %s\n", zBuf);
1004 iMtime = file_wd_mtime(zPath);
1005 z = db_text(0, "SELECT datetime(%lld, 'unixepoch')", iMtime);
1006 sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld (%s)", iMtime, z);
1007 fossil_free(z);
1008 fossil_print(" file_mtime = %s\n", zBuf);
1009 fossil_print(" file_mode = 0%o\n", file_wd_mode(zPath));
1010 fossil_print(" file_isfile = %d\n", file_wd_isfile(zPath));
1011 fossil_print(" file_isfile_or_link = %d\n", file_wd_isfile_or_link(zPath));
1012 fossil_print(" file_islink = %d\n", file_wd_islink(zPath));
1013 fossil_print(" file_isexe = %d\n", file_wd_isexe(zPath));
1014 fossil_print(" file_isdir = %d\n", file_wd_isdir(zPath));
1015 if( reset ) resetStat();
1016 }
 
 
 
 
 
 
1017 }
1018
1019 /*
1020 ** COMMAND: test-file-environment
1021 **
@@ -1042,12 +1050,11 @@
1042 filenames_are_case_sensitive());
1043 fossil_print("db_allow_symlinks_by_default() = %d\n",
1044 db_allow_symlinks_by_default());
1045 fossil_print("db_allow_symlinks() = %d\n", db_allow_symlinks());
1046 for(i=2; i<g.argc; i++){
1047 emitFileStat(g.argv[i], 1, slashFlag, resetFlag);
1048 emitFileStat(g.argv[i], 0, slashFlag, resetFlag);
1049 }
1050 }
1051
1052 /*
1053 ** COMMAND: test-canonical-name
1054
--- src/file.c
+++ src/file.c
@@ -959,63 +959,71 @@
959 ** file or directory, optionally preserving the trailing slash and
960 ** resetting the cached stat() information.
961 */
962 static void emitFileStat(
963 const char *zPath,
 
964 int slash,
965 int reset
966 ){
967 char zBuf[200];
968 char *z;
969 Blob x;
970 int rc;
971 sqlite3_int64 iMtime;
972 struct fossilStat testFileStat;
973 memset(zBuf, 0, sizeof(zBuf));
974 blob_zero(&x);
975 file_canonical_name(zPath, &x, slash);
976 fossil_print("[%s] -> [%s]\n", zPath, blob_buffer(&x));
977 blob_reset(&x);
978 memset(&testFileStat, 0, sizeof(struct fossilStat));
979 rc = fossil_stat(zPath, &testFileStat, 0);
980 fossil_print(" stat_rc = %d\n", rc);
981 sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld", testFileStat.st_size);
982 fossil_print(" stat_size = %s\n", zBuf);
983 z = db_text(0, "SELECT datetime(%lld, 'unixepoch')", testFileStat.st_mtime);
984 sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld (%s)", testFileStat.st_mtime, z);
985 fossil_free(z);
986 fossil_print(" stat_mtime = %s\n", zBuf);
987 fossil_print(" stat_mode = 0%o\n", testFileStat.st_mode);
988 memset(&testFileStat, 0, sizeof(struct fossilStat));
989 rc = fossil_stat(zPath, &testFileStat, 1);
990 fossil_print(" l_stat_rc = %d\n", rc);
991 sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld", testFileStat.st_size);
992 fossil_print(" l_stat_size = %s\n", zBuf);
993 z = db_text(0, "SELECT datetime(%lld, 'unixepoch')", testFileStat.st_mtime);
994 sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld (%s)", testFileStat.st_mtime, z);
995 fossil_free(z);
996 fossil_print(" l_stat_mtime = %s\n", zBuf);
997 fossil_print(" l_stat_mode = 0%o\n", testFileStat.st_mode);
998 if( reset ) resetStat();
999 sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld", file_size(zPath));
1000 fossil_print(" file_size = %s\n", zBuf);
1001 iMtime = file_mtime(zPath);
1002 z = db_text(0, "SELECT datetime(%lld, 'unixepoch')", iMtime);
1003 sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld (%s)", iMtime, z);
1004 fossil_free(z);
1005 fossil_print(" file_mtime = %s\n", zBuf);
1006 fossil_print(" file_mode = 0%o\n", file_mode(zPath));
1007 fossil_print(" file_isfile = %d\n", file_isfile(zPath));
1008 fossil_print(" file_isdir = %d\n", file_isdir(zPath));
1009 if( reset ) resetStat();
1010 sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld", file_wd_size(zPath));
1011 fossil_print(" file_wd_size = %s\n", zBuf);
1012 iMtime = file_wd_mtime(zPath);
1013 z = db_text(0, "SELECT datetime(%lld, 'unixepoch')", iMtime);
1014 sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld (%s)", iMtime, z);
1015 fossil_free(z);
1016 fossil_print(" file_wd_mtime = %s\n", zBuf);
1017 fossil_print(" file_wd_mode = 0%o\n", file_wd_mode(zPath));
1018 fossil_print(" file_wd_isfile = %d\n", file_wd_isfile(zPath));
1019 fossil_print(" file_wd_isfile_or_link = %d\n",
1020 file_wd_isfile_or_link(zPath));
1021 fossil_print(" file_wd_islink = %d\n", file_wd_islink(zPath));
1022 fossil_print(" file_wd_isexe = %d\n", file_wd_isexe(zPath));
1023 fossil_print(" file_wd_isdir = %d\n", file_wd_isdir(zPath));
1024 if( reset ) resetStat();
1025 }
1026
1027 /*
1028 ** COMMAND: test-file-environment
1029 **
@@ -1042,12 +1050,11 @@
1050 filenames_are_case_sensitive());
1051 fossil_print("db_allow_symlinks_by_default() = %d\n",
1052 db_allow_symlinks_by_default());
1053 fossil_print("db_allow_symlinks() = %d\n", db_allow_symlinks());
1054 for(i=2; i<g.argc; i++){
1055 emitFileStat(g.argv[i], slashFlag, resetFlag);
 
1056 }
1057 }
1058
1059 /*
1060 ** COMMAND: test-canonical-name
1061

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button