diff options
Diffstat (limited to 'perl/lib')
| -rw-r--r-- | perl/lib/Wallet/Object/File.pm | 10 | ||||
| -rw-r--r-- | perl/lib/Wallet/Server.pm | 4 | 
2 files changed, 9 insertions, 5 deletions
| diff --git a/perl/lib/Wallet/Object/File.pm b/perl/lib/Wallet/Object/File.pm index 65fe40e..226e32c 100644 --- a/perl/lib/Wallet/Object/File.pm +++ b/perl/lib/Wallet/Object/File.pm @@ -81,9 +81,13 @@ sub rename {          $object->ob_name ($new_name);          # Update the file to the path for the new name, and die if we can't. -        $self->{name} = $new_name; -        my $new_path = $self->file_path; -        move($old_path, $new_path) or die $!; +        # If the old path isn't there, then assume we haven't yet stored and +        # keep going. +        if ($old_path) { +            $self->{name} = $new_name; +            my $new_path = $self->file_path; +            move($old_path, $new_path) or die $!; +        }          $object->update;          $guard->commit; diff --git a/perl/lib/Wallet/Server.pm b/perl/lib/Wallet/Server.pm index 34075ed..f6ea342 100644 --- a/perl/lib/Wallet/Server.pm +++ b/perl/lib/Wallet/Server.pm @@ -255,7 +255,7 @@ sub rename {      my $host = $self->{host};      # Currently we only can rename file objects. -    if (type ne 'file') { +    if ($type ne 'file') {          $self->error ('rename is only supported for file objects');          return;      } @@ -282,7 +282,7 @@ sub rename {      }      # Rename the object. -    $object = eval { $class->rename ($type, $name, $schema, $user, $host) }; +    eval { $object->rename ($new_name, $schema, $user, $host) };      if ($@) {          $self->error ($@);          return; | 
