Re: Problemas al imprimir cadenas de caracteres

From: Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl>
To: Manuel Sugawara <masm(at)fciencias(dot)unam(dot)mx>
Cc: Juan Pablo Espino <jp(dot)espino(at)gmail(dot)com>, "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Problemas al imprimir cadenas de caracteres
Date: 2005-04-18 22:45:22
Message-ID: 20050418224522.GA28733@dcc.uchile.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On Mon, Apr 18, 2005 at 04:31:52PM -0500, Manuel Sugawara wrote:

Un comentario mas,

> > new = t->vl_dat;
>
> Necesitas copiar char a char la cadena (aqui ya perdiste la referencia
> a la memoria previamente allocada, therefore, memory leak!). Revisa
> memcpy(3) o strcpy(3).

No puedes usar t->vl_dat como si fuera un string C; en particular no
puedes usar strcpy(), porque los tipos varlena no son terminados en \0.
Tienes que usar memcpy(new, t->vl_dat, VARSIZE(t)) y despues poner el \0
al final.

--
Alvaro Herrera (<alvherre[(at)]dcc(dot)uchile(dot)cl>)
"Cuando mañana llegue pelearemos segun lo que mañana exija" (Mowgli)

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2005-04-18 22:52:22 Re: Cache de funciones
Previous Message Manuel Sugawara 2005-04-18 22:44:58 Re: Problemas al imprimir cadenas de caracteres