A preference-line can be of "unlimited" length now
authorkink <kink@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Mon, 11 Nov 2002 22:02:55 +0000 (22:02 +0000)
committerkink <kink@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Mon, 11 Nov 2002 22:02:55 +0000 (22:02 +0000)
git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@4137 7612ce4b-ef26-0410-bec9-ea0150e637f0

functions/file_prefs.php

index eadf3fad7ef75c08d474d10b09cae653742da0fc..75b919c3fa72bc844a801d2d7568f4ebfd5ee6bb 100644 (file)
@@ -49,9 +49,15 @@ function cachePrefValues($data_dir, $username) {
     /* Read in the preferences. */
     $highlight_num = 0;
     while (! feof($file)) {
-        // Make sure that this fgets is larger than any of the pref strings
-        // could ever be.  1024 is too short
-        $pref = trim(fgets($file, 65536));
+        $pref = '';
+        /* keep reading a pref until we reach an eol (\n (or \r for macs)) */
+        while($read = fgets($file, 1024))
+        {
+                $pref .= $read;
+                if(strpos($read,"\n") || strpos($read,"\r"))
+                        break;
+        }
+        $pref = trim($pref);
         $equalsAt = strpos($pref, '=');
         if ($equalsAt > 0) {
             $key = substr($pref, 0, $equalsAt);