Hello. I found this in structure:
enum fp_print_data_type { PRINT_DATA_RAW = 0, /* memset-imposed default */ PRINT_DATA_NBIS_MINUTIAE, }; struct fp_print_data { uint16_t driver_id; uint32_t devtype; enum fp_print_data_type type; size_t length; unsigned char data[0]; // OK, it's array from one element }; But when I enroll my finger, the data has the length 2404 elements. How it change it's size? I'm porting libfprint to qt4 and I need transform this struct to QByteArray and back. I successfully write data to byteArray, but I have difficult with backward procedure. See the function: struct fp_print_data CFingerprintScanner::byteArrayToFpdata(QByteArray byteArray) { quint16 driver_id; quint32 devtype; quint32 type; quint64 length; char * data; struct fp_print_data fpdata; QBuffer buffer(&byteArray); buffer.open(QIODevice::ReadOnly); QDataStream in(&buffer); in >> driver_id; in >> devtype; in >> type; in >> length; data = (char *) malloc(length); in.readRawData(data, length); fpdata.driver_id = (uint16_t) driver_id; fpdata.devtype = (uint32_t) devtype; fpdata.type = (enum fp_print_data_type) type; fpdata.length = (size_t) length; // in this I must write data to fpdata.data, but how can I do it? // it's not possible to convert char * (or unsigned char*) to unsigned char[0] free(data); return fpdata; } I'm disappointed. Somebody can tell me how can I change size of this array? -- За використання революційного клієнта електронної пошти Opera: http://www.opera.com/mail/ _______________________________________________ fprint mailing list fprint@reactivated.net http://lists.reactivated.net/mailman/listinfo/fprint