33Fermer35
bidooLe 06/06/2004 à 22:19
bon ! là n'est pas le probleme ,
le probleme est :
quelle type de pointeur faut il founir à ZIPLiB ???
selon la doc de ziplib:
zipfile()
;
; Function: Compress or Extract a file
;
; Input: A0 = Pointer to file in the VAT
; D0.B = 0 disable commentary
; 1 semi-commentary (error displayed)
; else enable commentary (Windows, Confirmations,...)
;
; Output: D0.B = 0 no error
; 1 can't manipulate because file is archived
; 2 compressed file bigger than original
; 3 not enough memory
; 4 Program running
; NO OTHER REGISTERS DESTROYED // mister matthieu avait donc raison!
;---------------------------------------------------------------------------- ziplib::zipfile equ ziplib@0006

pointeur sur la fichier ds la vat, c bien vague non ?
, j'ai essayé tous les types qui suivent :
hsym avec SymFind (SYMSTR (nom))
unsigned char* avec SYMSTR(nom)
SYM_ENTRY *avec SymFindPtr(SYMSTR(nom),0)
void * avec HeapDeref(SymFindPtr(SYMSTR(nom),0)->handle)
ESI avec HToESI (SymFindPtr(SYMSTR(nom),0)->handle)

à chaque fois, on vois dans la status line : Extracting...
Extracting...
et puis soit preos intercepte un crash soit la ti plante , desfois l'erreur est : protected memory violation d'autre fois rien du tou

pour mon progr
j'ai fait comme a dit kevin. la structure generale du programme est correct : j'ai testé sans faire appel à ziplib pour modifier a0 et d0
mais ca coince au niveeau du ziplib !!!
#define USE_KERNEL
#include <tigcclib.h>
#define ret(arg) {ST_helpMsg (mess[arg]);ngetchx();return;}
short zipdo(/*qu'est ce qu'il fô mettre ici ?? */ a asm("a0"), short d asm("d0") )
{
asm("jsr ziplib__0006");
short *d2=malloc(sizeof(short))
d2=d;
return d2;
}
void zipcall(char *nom)
{	
char mess[5][35]={"fichier compressé!","fichier archivé","le fichier compressé est plus gros","pas assez de memoire","fichier introuvable"};
if(strlen(nom)>18)ret(4);  
ret(zipdo(/*que faut 'il mettre ici???*/,1));
}
void _main(void)
{
char *nom=NULL;
MoveTo(3,50);
scanf("%s",nom);
zipcall(nom);	
}


ca commence vraiment à me souler cette librairie gol jcrois que je vais elaborer mon propre algorithme de compression ca sera plus simple gol