Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Fix the file_perm() utility routine so that it actually uses the eFType parameter. |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
388b5e59822efeb7b5168676f7f74fd8 |
| User & Date: | drh 2020-04-30 15:00:24.477 |
Context
|
2020-04-30
| ||
| 15:29 | Add the "forbid-delta-manifests" setting. check-in: 44ac944a98 user: drh tags: trunk | |
| 15:00 | Fix the file_perm() utility routine so that it actually uses the eFType parameter. check-in: 388b5e5982 user: drh tags: trunk | |
| 12:51 | When drawing graphs with step-children, do not allow a leaf node to have step-children. check-in: 90cb547814 user: drh tags: trunk | |
Changes
Changes to src/file.c.
| ︙ | ︙ | |||
292 293 294 295 296 297 298 |
** If eFType is ExtFile then symbolic links are followed and so this
** routine can only return PERM_EXE and PERM_REG.
**
** On windows, this routine returns only PERM_REG.
*/
int file_perm(const char *zFilename, int eFType){
#if !defined(_WIN32)
| | | 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 |
** If eFType is ExtFile then symbolic links are followed and so this
** routine can only return PERM_EXE and PERM_REG.
**
** On windows, this routine returns only PERM_REG.
*/
int file_perm(const char *zFilename, int eFType){
#if !defined(_WIN32)
if( !getStat(zFilename, eFType) ){
if( S_ISREG(fx.fileStat.st_mode) && ((S_IXUSR)&fx.fileStat.st_mode)!=0 )
return PERM_EXE;
else if( db_allow_symlinks() && S_ISLNK(fx.fileStat.st_mode) )
return PERM_LNK;
}
#endif
return PERM_REG;
|
| ︙ | ︙ |
Changes to src/tar.c.
| ︙ | ︙ | |||
441 442 443 444 445 446 447 |
}
sqlite3_open(":memory:", &g.db);
tar_begin(-1);
for(i=3; i<g.argc; i++){
Blob file;
blob_zero(&file);
blob_read_from_file(&file, g.argv[i], eFType);
| | | 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 |
}
sqlite3_open(":memory:", &g.db);
tar_begin(-1);
for(i=3; i<g.argc; i++){
Blob file;
blob_zero(&file);
blob_read_from_file(&file, g.argv[i], eFType);
tar_add_file(g.argv[i], &file, file_perm(0,eFType), file_mtime(0,eFType));
blob_reset(&file);
}
tar_finish(&zip);
blob_write_to_file(&zip, g.argv[2]);
}
/*
|
| ︙ | ︙ |
Changes to src/zip.c.
| ︙ | ︙ | |||
590 591 592 593 594 595 596 |
if( find_option("dereference","h",0)!=0 ){
eFType = ExtFILE;
}
zip_open();
for(i=3; i<g.argc; i++){
blob_zero(&file);
blob_read_from_file(&file, g.argv[i], eFType);
| | | 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 |
if( find_option("dereference","h",0)!=0 ){
eFType = ExtFILE;
}
zip_open();
for(i=3; i<g.argc; i++){
blob_zero(&file);
blob_read_from_file(&file, g.argv[i], eFType);
zip_add_file(&sArchive, g.argv[i], &file, file_perm(0,eFType));
blob_reset(&file);
}
zip_close(&sArchive);
blob_write_to_file(&zip, g.argv[2]);
}
/*
|
| ︙ | ︙ |