]> git.g-eek.se Git - interimap.git/commitdiff
libinterimap: quote() the empty string as "" instead of a 0-length literal.
authorGuilhem Moulin <guilhem@fripost.org>
Wed, 15 May 2019 22:06:17 +0000 (00:06 +0200)
committerGuilhem Moulin <guilhem@fripost.org>
Sun, 26 May 2019 22:07:29 +0000 (00:07 +0200)
Compression asside, this saves 3 bytes and one round-trip on servers not
supporting non-synchronizing literals, and 4 bytes otherwise.

Changelog
lib/Net/IMAP/InterIMAP.pm

index 17f4661cd7f0aade22d10923533a670593559c53..9cce06249fb54e8d50d45219c2d1273ae86a1fe5 100644 (file)
--- a/Changelog
+++ b/Changelog
@@ -3,6 +3,9 @@ interimap (0.5) upstream;
  - libinterimap: bugfix: hierarchy delimiters in LIST responses were
    returned as an escaped quoted special, like "\\", not as a single
    character (backslash in this case).
+ - libinterimap: quote() the empty string as "" instead of a 0-length
+   literal.  (This saves 3 bytes + one round-trip on servers not
+   supporting non-synchronizing literals, and 4 bytes otherwise.)
 
  -- Guilhem Moulin <guilhem@fripost.org>  Fri, 10 May 2019 00:58:14 +0200
 
index 37616f489bdc6139f4b3b0c4069ab3bb72caf641..26c37128277855893a69db9f40ab2785380d7767 100644 (file)
@@ -239,7 +239,7 @@ sub quote($) {
     if ($str =~ qr/\A$RE_ASTRING_CHAR+\z/) {
         return $str;
     }
-    elsif ($str =~ qr/\A$RE_TEXT_CHAR+\z/) {
+    elsif ($str =~ qr/\A$RE_TEXT_CHAR*\z/) {
         $str =~ s/([\x22\x5C])/\\$1/g;
         return "\"$str\"";
     }