Tengo la sigte funcion y estoy tratando de que me devuelva un texto hacia
postgres
#define LENMAX 40
Compila bien pero al tratar de correr la funcion obtengo este error:
db_lotonet=# select pg_serverid(4);
ERROR: invalid memory alloc request size 4294967293
Edwin Quijada wrote:
ERROR: invalid memory alloc request size 4294967293
[..]
text *new_t = (text *) palloc(LENMAX);
[..]
memcpy(VARDATA(new_t),buf,strlen(buf));
Hola
Asignas/reservas el espacio a usar por new_t con palloc(40) y despues
intentas copiar los datos en
Rafael Martinez wrote:
Edwin Quijada wrote:
ERROR: invalid memory alloc request size 4294967293
[..]
text *new_t = (text *) palloc(LENMAX);
[..]
memcpy(VARDATA(new_t),buf,strlen(buf));
Hola
Asignas/reservas el espacio a usar por new_t con palloc(40) y despues
Date: Fri, 28 Aug 2009 18:28:48 +0200
From: r.m.guerr...@usit.uio.no
To: listas_quij...@hotmail.com
CC: pgsql-es-ayuda@postgresql.org
Subject: Re: [pgsql-es-ayuda] Ayuda con funcion en C
Edwin Quijada wrote:
ERROR: invalid memory alloc request size 4294967293
¿Que valor tiene BUFSIZ?, probablemente mayor que 40, con lo que no
tienes suficiente memoria asignada/reservada para copiar buf en new_t.
Pensandolo mejor, creo que tambien deberias de hacer esto:
SET_VARSIZE(new_t, strlen(buf) + VARHDRSZ);
antes de ejecutar el memcpy(). Por
Edwin Quijada escribió:
Datum
pg_serverid(PG_FUNCTION_ARGS)
{
int32 arg = PG_GETARG_INT32(0);
char *cmd = php /proc/lotod/movil/serverkey.php;
char *arch = /proc/lotod/movil/serverkey.php;
char buf[BUFSIZ];
FILE *fp,*ptr;
text *new_t = (text *) palloc(LENMAX);
if
Edwin Quijada wrote:
Rafael, estuvo perfecto. Tenias razon eso era lo que faltaba. Realamente
seria interesante que alguien diera al menos una charla de como trabajar
en C con Postgres ,particularmente yo se lo agradeceria.
Completamente de acuerdo, yo he encontrado muy poca informacion
*---*
Date: Fri, 28 Aug 2009 19:10:27 +0200
From: r.m.guerr...@usit.uio.no
To: listas_quij...@hotmail.com
CC: pgsql-es-ayuda@postgresql.org
Subject: Re: [pgsql-es-ayuda] Ayuda con funcion en C
Edwin Quijada wrote:
Rafael, estuvo