diff program/lib/Roundcube/rcube_imap_generic.php @ 12:5039cc34571f

some old, mostly new 7.3->8.4 changes needed
author Charlie Root
date Thu, 28 Aug 2025 10:37:42 -0400
parents aff04b06b685
children abddb304201f
line wrap: on
line diff
--- a/program/lib/Roundcube/rcube_imap_generic.php	Sun Jan 26 13:09:03 2025 -0500
+++ b/program/lib/Roundcube/rcube_imap_generic.php	Thu Aug 28 10:37:42 2025 -0400
@@ -394,8 +394,10 @@
      */
     protected function closeSocket()
     {
-        @fclose($this->fp);
-        $this->fp = null;
+            if ($this->fp) {
+	      fclose($this->fp);
+	      $this->fp = null;
+	    }
     }
 
     /**
@@ -3899,14 +3901,19 @@
 
         $result = array();
         $start  = $prev = $messages[0];
-	$needStrip = (strpos($start,'_') !== false);	  
+	$needStrip = (! is_numeric($start)) || (! is_numeric($prev));	  
 
         foreach ($messages as $id) {
-	    #rcube::write_log('mail',"non-num? id: |$id|, prev: |$prev|");
             #Advanced search calls with pseudo-message-ids?  Non-numeric, anyway, e.g.
 	    # 420__MB__97ce7451bd364b47894f71ba7eb8ceb1
 	    if ($needStrip) {
+	      set_error_handler(function($e1, $e2) {
+		                 #rcube::write_log('mail',
+				     "non-num? id: |$id|, prev: |$prev|");
+		                 },
+		E_WARNING);
 	      $incr = substr($id,0,strpos($id,'_')) - substr($prev,0,strpos($prev,'_'));
+	      restore_error_handler();
 	    }
 	    else {
 	      $incr = $id - $prev;