]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/URIimap.pm
imap+nntp: share COMPRESS implementation
[public-inbox.git] / lib / PublicInbox / URIimap.pm
index a309fde062846cd9c89ccb17bde181645577dd89..816449143e75bc10e0fe4e99fc1ab19aa01663f5 100644 (file)
@@ -63,7 +63,7 @@ sub path {
        my ($self) = @_;
        my (undef, undef, $path) = uri_split($$self);
        $path =~ s!\A/+!!;
-       $path =~ s![/;].*\z!!; # [;UIDVALIDITY=nz-number]/;UID=nz-number
+       $path =~ s!/?;.*\z!!; # [;UIDVALIDITY=nz-number]/;UID=nz-number
        $path eq '' ? undef : $path;
 }
 
@@ -86,7 +86,8 @@ sub uidvalidity { # read/write
                $$self = uri_join($scheme, $auth, $path, $query, $frag);
        }
        $path =~ s!\A/+!!;
-       $path =~ m!\A[^;/]+;UIDVALIDITY=([1-9][0-9]*)\b!i ? ($1 + 0) : undef;
+       $path =~ m!\A[^;]+;UIDVALIDITY=([1-9][0-9]*)\b!i ?
+               ($1 + 0) : undef;
 }
 
 sub uid {
@@ -97,11 +98,11 @@ sub uid {
                        $path =~ s!/;UID=[^;/]*\b!!i;
                } else {
                        $path =~ s!/;UID=[^;/]*\b!/;UID=$val!i or
-                               $path .= ";UID=$val";
+                               $path .= "/;UID=$val";
                }
                $$self = uri_join($scheme, $auth, $path, $query);
        }
-       $path =~ m!\A/[^/;]+(?:;UIDVALIDITY=[^;/]+)?/;UID=([1-9][0-9]*)\b!i ?
+       $path =~ m!\A/[^;]+(?:;UIDVALIDITY=[^;/]+)?/;UID=([1-9][0-9]*)\b!i ?
                ($1 + 0) : undef;
 }