Hi all,
In follow-up to Klas' auto_create_mailbox patch for mysql, I've updated
said patch to apply to the current CVS version of dbpgsql.c
Works great.
--
________________________________________________________________
Paul Stevens mailto:[EMAIL PROTECTED]
NET FACILITIES GROUP PGP: finger [EMAIL PROTECTED]
The Netherlands________________________________http://www.nfg.nl
Index: pgsql/dbpgsql.c
===================================================================
RCS file: /cvsroot-dbmail/dbmail/pgsql/dbpgsql.c,v
retrieving revision 1.92
diff -c -r1.92 dbpgsql.c
*** pgsql/dbpgsql.c 2002/12/13 11:05:15 1.92
--- pgsql/dbpgsql.c 2002/12/24 09:29:42
***************
*** 470,476 ****
--- 470,499 ----
trace(TRACE_ERROR, "db_get_mailboxid(): query failed");
return 0;
}
+ #ifdef AUTO_CREATE_MAILBOX
+ if (PQntuples(res)<1)
+ {
+ trace (TRACE_DEBUG,"db_get_mailboxid(): user has no mailbox named
[%s]", mailbox);
+ PQclear(res);
+ db_createmailbox(mailbox,useridnr);
+ snprintf (query, DEF_QUERYSIZE,"SELECT mailbox_idnr FROM mailboxes
WHERE "
+ "lower(name) = lower('%s') AND owner_idnr=%llu::bigint",
+ mailbox, useridnr);
+ if (db_query(query)==-1)
+ {
+ trace(TRACE_ERROR, "db_get_mailboxid(): query failed");
+ return 0;
+ }
+
+ if (PQntuples(res)<1)
+ {
+ trace (TRACE_DEBUG,"db_get_mailboxid(): user has no mailbox named
[%s]. Couldn't create.", mailbox);
+ PQclear(res);
+ return 0;
+ }
+ }
+ #else
if (PQntuples(res)<1)
{
trace (TRACE_DEBUG,"db_get_mailboxid(): user has no mailbox named
[%s]", mailbox);
***************
*** 478,483 ****
--- 501,508 ----
return 0;
}
+
+ #endif
value = PQgetvalue(res, 0, 0);
inboxid = (value) ? strtoull(value, NULL, 10) : 0;