MODERATOR WARNING I noticed that this guy Rahul seems to be reinjecting old list emails somehow. Please don't approve anything coming from him. Observe this example:
http://postgresql.1045698.n5.nabble.com/Re-GENERAL-MS-Access-and-Stored-procedures-td1843848.html http://postgresql.1045698.n5.nabble.com/Re-GENERAL-MS-Access-and-Stored-procedures-td5734652.html The original message was posted in 2005! The message here is this one (also in 2005): http://postgresql.1045698.n5.nabble.com/GENERAL-Exception-Handling-in-C-Language-Functions-td1843896.html I have no idea what's going on. Maybe it's something to do with Nabble. There are others pending moderation in pgsql-admin and pgsql-hackers too. rahul143 wrote: > I have the created a C-Language function (code is below). Now, I > wonder: How do I handle exceptions, for example if malloc cannot assign > the necessary memory? Do "palloc" and "pfree" handle such a case > cleanly? Should I simply use an "assert"? > > #include "postgres.h" > #include <string.h> > #include <stdlib.h> > #include "fmgr.h" > #include "libinn.h" > > PG_FUNCTION_INFO_V1(ffiinews_uwildmat); > > /* Wrapper for INN's function uwildmat. Needs parameters in UTF-8. */ > Datum ffiinews_uwildmat(PG_FUNCTION_ARGS) { > VarChar *text = PG_GETARG_VARCHAR_P(0); > VarChar *pattern = PG_GETARG_VARCHAR_P(1); > int text_len = VARSIZE(text)-VARHDRSZ; > int pattern_len = VARSIZE(pattern)-VARHDRSZ; > char *tmp_text = (char *)malloc(text_len+1); > if (tmp_text == NULL) > ; /* What now? */ > char *tmp_pattern = (char *)malloc(pattern_len+1); > if (tmp_pattern == NULL) > ; /* What now? */ > strncpy(tmp_text, VARDATA(text), text_len); > tmp_text[text_len] = '\0'; > strncpy(tmp_pattern, VARDATA(pattern), pattern_len); > tmp_pattern[pattern_len] = '\0'; > bool matches = uwildmat(tmp_text, tmp_pattern); > > > > ----- > > > > > -- > View this message in context: > http://postgresql.1045698.n5.nabble.com/GENERAL-Exception-Handling-in-C-Language-Functions-tp5734656.html > Sent from the PostgreSQL - general mailing list archive at Nabble.com. > > > -- > Sent via pgsql-general mailing list (pgsql-general@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-general -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general