Commit b43ac9a04afc5e72141bf8466a81fa66d9a38b5f
1 parent
b26fda29
[-] fix the delete out of state. Don't try to delete file "." and ".." which are…
… undeletable directories
Showing
1 changed file
with
25 additions
and
20 deletions
Show diff stats
web/making_a_web_site.anubis
| ... | ... | @@ -2638,26 +2638,31 @@ define (String state_name) -> PreviousState($State) |
| 2638 | 2638 | per states life time period). |
| 2639 | 2639 | |
| 2640 | 2640 | define (List(String) file_names) -> One |
| 2641 | - make_delete_out_of_date_states_function | |
| 2642 | - ( | |
| 2643 | - Maybe($State) dummy, | |
| 2644 | - String state_directory | |
| 2645 | - ) = | |
| 2646 | - (List(String) file_names) |-df-> | |
| 2647 | - if file_names is | |
| 2648 | - { | |
| 2649 | - [ ] then unique, | |
| 2650 | - [h . t] then | |
| 2651 | - with file_path = state_directory+"/"+h, | |
| 2652 | - if (RetrieveResult((Int,$State)))retrieve(file_path) is ok(d) | |
| 2653 | - then ( | |
| 2654 | - if d is (time_stamp,data) then | |
| 2655 | - if time_stamp < now | |
| 2656 | - then (forget(remove(file_path)); df(t)) | |
| 2657 | - else df(t) | |
| 2658 | - ) | |
| 2659 | - else (forget(remove(file_path)); df(t)) | |
| 2660 | - }. | |
| 2641 | + make_delete_out_of_date_states_function | |
| 2642 | + ( | |
| 2643 | + Maybe($State) dummy, | |
| 2644 | + String state_directory | |
| 2645 | + )= | |
| 2646 | + (List(String) file_names) |-df-> | |
| 2647 | + if file_names is | |
| 2648 | + { | |
| 2649 | + [ ] then unique, | |
| 2650 | + [h . t] then | |
| 2651 | + //we can't delete the "." and ".." file. So go to next file in the list | |
| 2652 | + if h = "." | h = ".." then | |
| 2653 | + df(t) | |
| 2654 | + else | |
| 2655 | + with file_path = state_directory+"/"+h, | |
| 2656 | + if (RetrieveResult((Int,$State)))retrieve(file_path) is ok(d) | |
| 2657 | + then ( | |
| 2658 | + if d is (time_stamp,data) then | |
| 2659 | + if time_stamp < now | |
| 2660 | + then (forget(remove(file_path)); df(t)) | |
| 2661 | + else df(t) | |
| 2662 | + ) | |
| 2663 | + else (forget(remove(file_path)); df(t)) | |
| 2664 | + } | |
| 2665 | +. | |
| 2661 | 2666 | |
| 2662 | 2667 | |
| 2663 | 2668 | The 'labelled arrow' |-df-> is documented in 'documentation/en/anubis_doc.txt'. | ... | ... |