http://www.perlmonks.org?node_id=400942


in reply to Weird error with Cryprt::Blowfish and Crypt::DES

Try adding a debug print in c, closer to where the croak happens?

CODE: { input = (char *) SvPV(ST(0), input_len); printf("handling %d bytes\n", input_len); if (input_len != 8) croak("input must be 8 bytes long");

Replies are listed 'Best First'.
Re^2: Weird error with Cryprt::Blowfish and Crypt::DES
by Beechbone (Friar) on Oct 21, 2004 at 10:40 UTC
    Ok, got a result. input_len is 12. At least it was 12 in the single test run we managed to complete before lunch. Next thing I'll try is:
    if (input_len != 8) { printf("blowfish_crypt(): handling %d bytes\n", input_len) +; printf("Bytes: "); for (i = 0; i < input_len; i++) { unsigned char a = (unsigned char) *(input + i); printf("%d ", a); } printf("\n"); croak("input must be 8 bytes long"); }
    But again I have to wait. Seems I'm the only person around who's not at lunch right now...

    PS: I know that my C code is ugly, but at least it works. ;-)


    Search, Ask, Know
Re^2: Weird error with Cryprt::Blowfish and Crypt::DES
by Beechbone (Friar) on Oct 20, 2004 at 18:33 UTC
    Not yet, (thanks for the syntax, my C is very weak ;)), we need someone with access to the compiler machine first...

    Hopefully tomorrow we can try it.


    Update:

    We already know that input_len is not 8 bytes, so the exact value is not that important. Does anyone have C code to dump the complete SV? That would be much more useful, I'd say...


    Search, Ask, Know