<pre style='margin:0'>
Joshua Root (jmroot) pushed a commit to branch master
in repository macports-base.

</pre>
<p><a href="https://github.com/macports/macports-base/commit/0977038f70c5298da00974a23a0b69692ce41a60">https://github.com/macports/macports-base/commit/0977038f70c5298da00974a23a0b69692ce41a60</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 0977038f70c5298da00974a23a0b69692ce41a60
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Sun Jun 9 23:18:00 2024 +1000

<span style='display:block; white-space:pre;color:#404040;'>    snapshot_get_last: don't crash with no snapshots
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Return the empty string instead.
</span>---
 src/macports1.0/restore.tcl | 4 ++++
 src/registry2.0/snapshot.c  | 5 ++++-
 2 files changed, 8 insertions(+), 1 deletion(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/macports1.0/restore.tcl b/src/macports1.0/restore.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index a2605aef6..25dd26159 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/macports1.0/restore.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/macports1.0/restore.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -73,6 +73,10 @@ namespace eval restore {
</span>         } elseif {[dict exists $opts ports_restore_last]} {
             # use the last snapshot
             set snapshot [fetch_snapshot_last]
<span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {$snapshot eq ""} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ui_error "There are no snapshots to restore. You must run 'sudo port snapshot' first."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                return 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span>         } else {
             # ask the user to select a snapshot
             set snapshots [list_snapshots]
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/registry2.0/snapshot.c b/src/registry2.0/snapshot.c
</span><span style='display:block; white-space:pre;color:#808080;'>index c9109a8cf..e69675d84 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/registry2.0/snapshot.c
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/registry2.0/snapshot.c
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -123,7 +123,7 @@ static int snapshot_get_last(Tcl_Interp* interp, int objc, Tcl_Obj* CONST objv[]
</span>         int limit = 1;
         // 1 passed in reg_snapshot_list is to get the last '1' snapshot.
         int snapshot_count = reg_snapshot_list(reg, &snapshots, limit, &error);
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if (snapshot_count >= 0) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if (snapshot_count >= 1) {
</span>             int retval;
             Tcl_Obj* result;
             if (snapshot_to_obj(interp, &result, snapshots[0], NULL, &error)) {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -134,6 +134,9 @@ static int snapshot_get_last(Tcl_Interp* interp, int objc, Tcl_Obj* CONST objv[]
</span>             }
             free(snapshots);
             return retval;
<span style='display:block; white-space:pre;background:#e0ffe0;'>+        } else if (snapshot_count == 0) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            Tcl_ResetResult(interp);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            return TCL_OK;
</span>         }
         return registry_failed(interp, &error);
     }
</pre><pre style='margin:0'>

</pre>