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

From: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
To: david(at)fetter(dot)org, rk204885(at)gmail(dot)com
Cc: pgsql-general(at)postgresql(dot)org, w^3 <pgsql-www(at)postgresql(dot)org>
Subject: MODERATOR WARNING Re: [GENERAL] Exception Handling in C-Language Functions?
Date: 2012-12-03 06:14:54
Message-ID: 20121203061454.GB4601@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-www

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(at)postgresql(dot)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

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Karsten Hilbert 2012-12-03 07:07:04 Re: Database schema
Previous Message John R Pierce 2012-12-03 05:45:54 Re: excluding terms from stemming in full text search?

Browse pgsql-www by date

  From Date Subject
Next Message David Fetter 2012-12-03 13:38:50 Re: MODERATOR WARNING Re: [GENERAL] Exception Handling in C-Language Functions?
Previous Message rahul143 2012-12-03 05:18:57 Exception Handling in C-Language Functions?