Fossil SCM
sha3sum command now exits with an error if it cannot open a requested file, per discussion at [forum:9cc4028627].
Commit
bda90774eea87f7cdc9bab59d3afa13fa1640dde30bcb68207bb16fa90796805
Parent
d07cbeda71c3efb…
1 file changed
+3
-4
+3
-4
| --- src/sha3.c | ||
| +++ src/sha3.c | ||
| @@ -643,11 +643,11 @@ | ||
| 643 | 643 | ** See also: [[md5sum]], [[sha1sum]] |
| 644 | 644 | */ |
| 645 | 645 | void sha3sum_test(void){ |
| 646 | 646 | int i; |
| 647 | 647 | Blob in; |
| 648 | - Blob cksum; | |
| 648 | + Blob cksum = empty_blob; | |
| 649 | 649 | int iSize = 256; |
| 650 | 650 | int eFType = SymFILE; |
| 651 | 651 | |
| 652 | 652 | if( find_option("dereference","h",0) ) eFType = ExtFILE; |
| 653 | 653 | if( find_option("224",0,0)!=0 ) iSize = 224; |
| @@ -665,16 +665,15 @@ | ||
| 665 | 665 | } |
| 666 | 666 | } |
| 667 | 667 | verify_all_options(); |
| 668 | 668 | |
| 669 | 669 | for(i=2; i<g.argc; i++){ |
| 670 | - blob_init(&cksum, "************** not found ***************", -1); | |
| 671 | 670 | if( g.argv[i][0]=='-' && g.argv[i][1]==0 ){ |
| 672 | 671 | blob_read_from_channel(&in, stdin, -1); |
| 673 | 672 | sha3sum_blob(&in, iSize, &cksum); |
| 674 | - }else{ | |
| 675 | - sha3sum_file(g.argv[i], eFType, iSize, &cksum); | |
| 673 | + }else if( sha3sum_file(g.argv[i], eFType, iSize, &cksum) > 0 ){ | |
| 674 | + fossil_fatal("Cannot read file: %s", g.argv[i]); | |
| 676 | 675 | } |
| 677 | 676 | fossil_print("%s %s\n", blob_str(&cksum), g.argv[i]); |
| 678 | 677 | blob_reset(&cksum); |
| 679 | 678 | } |
| 680 | 679 | } |
| 681 | 680 |
| --- src/sha3.c | |
| +++ src/sha3.c | |
| @@ -643,11 +643,11 @@ | |
| 643 | ** See also: [[md5sum]], [[sha1sum]] |
| 644 | */ |
| 645 | void sha3sum_test(void){ |
| 646 | int i; |
| 647 | Blob in; |
| 648 | Blob cksum; |
| 649 | int iSize = 256; |
| 650 | int eFType = SymFILE; |
| 651 | |
| 652 | if( find_option("dereference","h",0) ) eFType = ExtFILE; |
| 653 | if( find_option("224",0,0)!=0 ) iSize = 224; |
| @@ -665,16 +665,15 @@ | |
| 665 | } |
| 666 | } |
| 667 | verify_all_options(); |
| 668 | |
| 669 | for(i=2; i<g.argc; i++){ |
| 670 | blob_init(&cksum, "************** not found ***************", -1); |
| 671 | if( g.argv[i][0]=='-' && g.argv[i][1]==0 ){ |
| 672 | blob_read_from_channel(&in, stdin, -1); |
| 673 | sha3sum_blob(&in, iSize, &cksum); |
| 674 | }else{ |
| 675 | sha3sum_file(g.argv[i], eFType, iSize, &cksum); |
| 676 | } |
| 677 | fossil_print("%s %s\n", blob_str(&cksum), g.argv[i]); |
| 678 | blob_reset(&cksum); |
| 679 | } |
| 680 | } |
| 681 |
| --- src/sha3.c | |
| +++ src/sha3.c | |
| @@ -643,11 +643,11 @@ | |
| 643 | ** See also: [[md5sum]], [[sha1sum]] |
| 644 | */ |
| 645 | void sha3sum_test(void){ |
| 646 | int i; |
| 647 | Blob in; |
| 648 | Blob cksum = empty_blob; |
| 649 | int iSize = 256; |
| 650 | int eFType = SymFILE; |
| 651 | |
| 652 | if( find_option("dereference","h",0) ) eFType = ExtFILE; |
| 653 | if( find_option("224",0,0)!=0 ) iSize = 224; |
| @@ -665,16 +665,15 @@ | |
| 665 | } |
| 666 | } |
| 667 | verify_all_options(); |
| 668 | |
| 669 | for(i=2; i<g.argc; i++){ |
| 670 | if( g.argv[i][0]=='-' && g.argv[i][1]==0 ){ |
| 671 | blob_read_from_channel(&in, stdin, -1); |
| 672 | sha3sum_blob(&in, iSize, &cksum); |
| 673 | }else if( sha3sum_file(g.argv[i], eFType, iSize, &cksum) > 0 ){ |
| 674 | fossil_fatal("Cannot read file: %s", g.argv[i]); |
| 675 | } |
| 676 | fossil_print("%s %s\n", blob_str(&cksum), g.argv[i]); |
| 677 | blob_reset(&cksum); |
| 678 | } |
| 679 | } |
| 680 |