Re: MODERATOR WARNING Re: [GENERAL] Exception Handling in C-Language Functions?

2012-12-03 Thread David Fetter
OK :)

Is there a way to do this automatically?

Cheers,
David.
On Mon, Dec 03, 2012 at 03:14:54AM -0300, Alvaro Herrera wrote:
> 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  
> > #include  
> > #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 Herrerahttp://www.2ndQuadrant.com/
> PostgreSQL Development, 24x7 Support, Training & Services

-- 
David Fetter  http://fetter.org/
Phone: +1 415 235 3778  AIM: dfetter666  Yahoo!: dfetter
Skype: davidfetter  XMPP: david.fet...@gmail.com
iCal: webcal://www.tripit.com/feed/ical/people/david74/tripit.ics

Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate


-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


MODERATOR WARNING Re: [GENERAL] Exception Handling in C-Language Functions?

2012-12-02 Thread Alvaro Herrera
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  
> #include  
> #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 Herrerahttp://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