}
/*
- * Convert a struct quickroom to an IMAP-compatible mailbox name.
+ * Convert a struct room to an IMAP-compatible mailbox name.
*/
-void imap_mailboxname(char *buf, int bufsize, struct quickroom *qrbuf)
+void imap_mailboxname(char *buf, int bufsize, struct room *qrbuf)
{
struct floor *fl;
int i;
}
/*
- * Replace "/" characters with "|" for pseudo-folder-delimiting
+ * Replace delimiter characters with "|" for pseudo-folder-delimiting
*/
for (i=0; i<strlen(buf); ++i) {
- if (buf[i] == '/') buf[i] = '|';
+ if (buf[i] == FDELIM) buf[i] = '|';
}
}
}
}
- /* No subfolderificationalisticism on this one... */
- strcpy(rbuf, roomname);
- ret = 0;
+ if (ret < 0) {
+ /* No subfolderificationalisticism on this one... */
+ safestrncpy(rbuf, foldername, bufsize);
+ ret = (0 | IR_MAILBOX);
+ }
}
else {
ret = (0 | IR_MAILBOX);
}
- /* Undelimiterizationalize the room name (change '|' to '/') */
+ /* Undelimiterizationalize the room name (change '|') */
for (i=0; i<strlen(rbuf); ++i) {
- if (rbuf[i] == '|') rbuf[i] = '/';
+ if (rbuf[i] == '|') rbuf[i] = FDELIM;
+ }
+
+
+/*** This doesn't work.
+ char buf[SIZ];
+ if (ret & IR_MAILBOX) {
+ if (atol(rbuf) == 0L) {
+ strcpy(buf, rbuf);
+ sprintf(rbuf, "%010ld.%s", CC->user.usernum, buf);
+ }
}
+ ***/
+ lprintf(9, "(That translates to \"%s\")\n", rbuf);
return(ret);
}