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
*-------------------------------------------------------*




_________________________________________________________________

Responder a