Re: Problema ejecutando funcion en C

From: Rafael Martinez <r(dot)m(dot)guerrero(at)usit(dot)uio(dot)no>
To: Edwin Quijada <listas_quijada(at)hotmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Problema ejecutando funcion en C
Date: 2009-08-26 10:43:00
Message-ID: 4A9511B4.90409@usit.uio.no
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Edwin Quijada wrote:
> Hola!
> Estoy tratando de hacer un par de funciones en C. Las compile bien e incluso las cargue pero al momento de ejecutarlas Postgres me saca del server y me da un error extrano
>
> Este es mi codigo en c y el error que me da al tratar de ejecutar las funciones. Solo son dos
>

Hola Edwin

Yo veo algunos posibles fallos:

* ¿Donde esta BUFSIZ definido?
* Con:
- ---------------------------------
while (fgets(buf, BUFSIZ, ptr) != NULL)
(void) pclose(ptr);
- ---------------------------------
Cierras la conexion que tienes con el fichero despues de ejecutar el
primer fgets(). ¿Quien te garantiza que has recibido todo el resultado?.

En este caso te salvas porque el numero de caracteres que lees no es
menor que el maximo que puedes tener en buf[] y teoricamente solo sera
un caracter (1|0). En 'tu ejemplo/caso' no necesitarias el while.
Podrias utilizar un if con fgets() para comprobar que has podido leer.

En general pclose() se deberia de ejecutar una vez que estas seguro que
tienes todo el resultado en buf

* ¿Que intentas hacer con buf[0]!= '0' dentro de PG_RETURN_BOOL()?
* ¿Que intentas devolver con PG_RETURN_BOOL()?

Un saludo
- --
Rafael Martinez, <r(dot)m(dot)guerrero(at)usit(dot)uio(dot)no>
Center for Information Technology Services
University of Oslo, Norway

PGP Public Key: http://folk.uio.no/rafael/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.7 (GNU/Linux)

iD8DBQFKlRGwBhuKQurGihQRAn3EAKCK+8k3sOjRVYD5pPRDxIgRiSjxJACfUXlH
mb6B9dX4O9qyq0q0irAG69E=
=v9lX
-----END PGP SIGNATURE-----

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Edwin Quijada 2009-08-26 14:56:06 RE: Problema ejecutando funcion en C
Previous Message Kernel 2009-08-26 07:27:11 Re: Procesos de parados ?