void BStream_free(BStream *self) { if (self->ownsByteArray) ByteArray_free(self->ba); ByteArray_free(self->tmp); ByteArray_free(self->errorBa); free(self->typeBuf); free(self); }
//Method exposed to ActionScript //Takes a String and echos it static AS3_Val echo(void* self, AS3_Val args) { AS3_Val byteArray; AS3_ArrayValue( args, "AS3ValType", &byteArray); AS3_Val length = AS3_GetS(byteArray, "length"); sztrace("length getted!"); int len = AS3_IntValue(length); //if(len>0) return length; char *data=NULL; data=malloc(len); memset(data,0,len); int fileLen = AS3_ByteArray_readBytes(data,byteArray, len); char *out= NULL; out = malloc(fileLen); memset(out,0,fileLen); ByteArray * bytearray = ByteArray_new(fileLen); bytearray->data = data; PdfFile_free(PdfFile_parse(bytearray,out)); ByteArray_free(bytearray); return AS3_String(out); }
void BStream_setByteArray_(BStream *self, ByteArray *ba) { if (self->ownsByteArray) { ByteArray_free(ba); self->ownsByteArray = 0; } self->ba = ba; self->index = 0; }