Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {
- int fd=sceIoOpen(save,PSP_O_RDONLY,0777);
- if(fd>=0){
- //MD5_CTX md5ctx;
- SceKernelUtilsMd5Context md5ctx;
- unsigned char digest[16];
- char md5[33];md5[32]=0;
- //MD5Init(&md5ctx);
- sceKernelUtilsMd5BlockInit(&md5ctx);
- int size=0;
- int readlen;
- while((readlen=sceIoRead(fd,buf,sizeof buf))>0){
- //MD5Update(&md5ctx,(unsigned char*)buf,readlen);
- sceKernelUtilsMd5BlockUpdate(&md5ctx, buf , readlen);
- size+=readlen;
- }
- DBG_LOG( "size %d\n", size );
- //MD5Final(digest,&md5ctx);
- sceKernelUtilsMd5BlockResult(&md5ctx, digest);
- int i=0;
- for(;i<16;i++){
- int x=digest[i]>>4,y=digest[i]&0xf;
- md5[2*i+0]=x>9?(x-10+'a'):(x+'0');
- md5[2*i+1]=y>9?(y-10+'a'):(y+'0');
- }
- sceIoClose(fd);
- if(!strcmp(remote_md5,md5)){
- printf( "No need to update %s.\n", save );
- DBG_LOG( "No need to update %s.\n", save );
- return 1;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement