| 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: | Whole Thread | Raw Message | 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)
| 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 |