about summary refs log tree commit homepage
path: root/lib/PublicInbox/LeiAddWatch.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/PublicInbox/LeiAddWatch.pm')
-rw-r--r--lib/PublicInbox/LeiAddWatch.pm11
1 files changed, 5 insertions, 6 deletions
diff --git a/lib/PublicInbox/LeiAddWatch.pm b/lib/PublicInbox/LeiAddWatch.pm
index 97e7a342..e2be5cee 100644
--- a/lib/PublicInbox/LeiAddWatch.pm
+++ b/lib/PublicInbox/LeiAddWatch.pm
@@ -15,24 +15,23 @@ sub lei_add_watch {
         my $state = $lei->{opt}->{'state'} // 'import-rw';
         $lei->watch_state_ok($state) or
                 return $lei->fail("invalid state: $state");
-        my $vmd_mod = $self->vmd_mod_extract(\@argv);
-        return $lei->fail(join("\n", @{$vmd_mod->{err}})) if $vmd_mod->{err};
         $self->prepare_inputs($lei, \@argv) or return;
         my @vmd;
-        while (my ($type, $vals) = each %$vmd_mod) {
+        while (my ($type, $vals) = each %{$lei->{vmd_mod}}) {
                 push @vmd, "$type:$_" for @$vals;
         }
         my $vmd0 = shift @vmd;
         for my $w (@{$self->{inputs}}) {
                 # clobber existing, allow multiple
                 if (defined($vmd0)) {
-                        $lei->_config("watch.$w.vmd", '--replace-all', $vmd0);
+                        $lei->_config("watch.$w.vmd", '--replace-all', $vmd0)
+                                or return;
                         for my $v (@vmd) {
-                                $lei->_config("watch.$w.vmd", $v);
+                                $lei->_config("watch.$w.vmd", $v) or return;
                         }
                 }
                 next if defined $cfg->{"watch.$w.state"};
-                $lei->_config("watch.$w.state", $state);
+                $lei->_config("watch.$w.state", $state) or return;
         }
         $lei->_lei_store(1); # create
         $lei->lms(1)->lms_write_prepare->add_folders(@{$self->{inputs}});