Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - ktemo

#1
Programación C/C++ / Re: ayuda, serializar c*
14 Marzo 2012, 16:08 PM
hacia una copia porque lo hiba manipular despues pero queria conservar el original para otros propositos, corregi lo que me comentas pero aun asi obtenia fallos de segmentacion, ya no con memcpy sino con swig, asi que al final cambie algunas cosas y puse un estructura con __attribute__((__packed__))

al final quedo asi:

struct dp_fmd_data {
   unsigned char* data;
   unsigned int size;
} __attribute__((__packed__));

size_t dp_fmd_get_data(char *data, int length, unsigned char **ret){
   struct dp_fmd_data *buf;
   size_t buflen;
   buflen = sizeof(*buf) + length;
   buf = malloc(buflen);
   if (!buf)
      return 0;

   *ret = (unsigned char *) buf;
   buf->size = length;
   buf->data = data;
   return buflen;
}

gracias por la ayuda de todas formas :), soy newbie en C y la verdad es que me cuesta trabajar con punteros y cosas de memoria n_n
#2
Programación C/C++ / ayuda, serializar c*
14 Marzo 2012, 03:02 AM
Hola

estoy trabajando con una libreria para lectores de huella y en una de las funciones me escribe la huella leida en un objeto de este tipo:

unsigned char* fprint;

como necesito utilizarlo en python estoy haciendo los wrappers y necesito serializar esa variable
para poder guardarla o manipularla mas adelante, sin embargo todo lo que intento me produce errores de segmentacion, tengo esta funcion:

void pydp_fmd_get_data(char **fmd_data, char* data, int length)
{
*fmd_data = (char *) malloc(length);
memcpy(fmd_data, data, length);
}

length es la dimension de la variable fprint, asi es como me lo devuelve el api.

Espero puedan ayudarme.