+/**
+ * Extract the mailbox name from an untagged LIST (7.2.2) or LSUB (7.2.3) answer
+ * (LIST|LSUB) (<Flags list>) (NIL|"<separator atom>") <mailbox name string>\r\n
+ * mailbox name in quoted string MUST be unquoted and stripslashed (sm API)
+ *
+ * Originally stored in functions/strings.php. Since 1.2.6 stored in
+ * functions/imap_mailbox.php
+ * @param string $line imap LIST/LSUB response line
+ * @return string mailbox name
+ */
+function find_mailbox_name($line) {
+ if (preg_match('/^\* (?:LIST|LSUB) \([^\)]*\) (?:NIL|\"[^\"]*\") ([^\r\n]*)[\r\n]*$/i', $line, $regs)) {
+ if (substr($regs[1], 0, 1) == '"')
+ return stripslashes(substr($regs[1], 1, -1));
+ return $regs[1];
+ }
+ return '';
+}
+
+/**
+ * Detects if mailbox has noselect flag (can't store messages)
+ * In versions older than 1.4.5 function checks only LSUB responses
+ * and can produce pcre warnings.
+ * @param string $lsub_line mailbox line from untagged LIST or LSUB response
+ * @return bool whether this is a Noselect mailbox.
+ * @since 1.3.2
+ */