if (eid != 0)
{
- /* eid will be for EXCHANGE.MIT.EDU, but we need to convert it to
- * IMAP.EXCHANGE.MIT.EDU.
- */
- EXEC SQL SELECT mach_id INTO :eid FROM machine WHERE
- name = 'IMAP.EXCHANGE.MIT.EDU';
+ /* Check for IMAP. Can't use iid because it should be zero. */
+ EXEC SQL SELECT mach_id INTO :mid FROM filesys
+ WHERE label = :login || '.po' AND type = 'IMAP';
if (sqlca.sqlcode == 0)
- pid = eid;
+ pid = mid;
+ else
+ {
+ /* EXCHANGE user with no IMAP filesystem. Give them
+ * IMAP.EXCHANGE.MIT.EDU instead of EXCHANGE.MIT.EDU.
+ */
+ EXEC SQL SELECT mach_id INTO :eid FROM machine
+ WHERE name = 'IMAP.EXCHANGE.MIT.EDU';
+ if (sqlca.sqlcode == 0)
+ pid = eid;
+ }
}
if (iid != 0)