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
PG_FUNCTION_INFO_V1(pg_serverid);
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 ((fp = fopen(arch,"r"))==NULL) {PG_RETURN_BOOL(false);}
if ((ptr = popen(cmd, "r")) != NULL)
while (fgets(buf, BUFSIZ, ptr) != NULL);
(void) pclose(ptr);
memcpy(VARDATA(new_t),buf,strlen(buf)); // <==esta es lo que copia a la
variable
PG_RETURN_TEXT_P(new_t);
}
*-------------------------------------------------------*
*-Edwin Quijada
*-Developer DataBase
*-JQ Microsistemas
*-Soporte PostgreSQL
*-www.jqmicrosistemas.com
*-809-849-8087
*-------------------------------------------------------*
_________________________________________________________________