(file) Return to cabinet_fdi.c CVS log (file) (dir) Up to [RizwankCVS] / group3 / wine / dlls / cabinet / tests

Diff for /group3/wine/dlls/cabinet/tests/cabinet_fdi.c between version 2.5 and 2.9

version 2.5, 2005/02/25 10:35:55 version 2.9, 2005/02/27 08:22:01
Line 44 
Line 44 
 #define todo_wine #define todo_wine
 #endif #endif
  
   #define TVFS
   
 #include <winerror.h> #include <winerror.h>
 #include <fdi.h> #include <fdi.h>
 #include <fcntl.h> #include <fcntl.h>
Line 112 
Line 114 
         {         {
                 case fdintCABINET_INFO:                 case fdintCABINET_INFO:
                 {                 {
                         printf("fdintCABINET_INFO\n");                          printf(
                                   "fdintCABINET_INFO:\n"
                                   "-next cab name: %s\n"
                                   "-next disk: %s\n"
                                   "-path name: %s\n"
                                   "-set ID: %d\n"
                                   "-number in set: %d\n",
                                   pfdin->psz1,
                                   pfdin->psz2,
                                   pfdin->psz3,
                                   pfdin->setID,
                                   pfdin->iCabinet
                                   );
                         return 0;                         return 0;
                 }                 }
                 case fdintPARTIAL_FILE:                 case fdintPARTIAL_FILE:
Line 124 
Line 138 
                 {                 {
                         int fih = 0;                         int fih = 0;
                         char target[256];                         char target[256];
                           printf(
                                   "fdintCOPY_FILE:\n"
                                   "-name: %s\n"
                                   "-uncompressed size: %d\n"
                                   "-date: %d\n"
                                   "-time: %d\n"
                                   "-attributes: %d\n"
                                   "-file's folder index: %d\n",
                                   pfdin->psz1,
                                   pfdin->cb,
                                   pfdin->date,
                                   pfdin->time,
                                   pfdin->attribs,
                                   pfdin->iFolder
  
                         printf("fdintCOPY_FILE\n");                                  );
                         printf("  file name: %s\n",     pfdin->psz1);  
                         sprintf(target, "./%s",pfdin->psz1);                         sprintf(target, "./%s",pfdin->psz1);
                         printf("%s\n",target);  #ifdef TVFS
                                   fih = tvfs_open (target,
                                           _O_BINARY | _O_CREAT | _O_WRONLY | _O_SEQUENTIAL,
                                           _S_IREAD | _S_IWRITE
                                                                   );
  
                                 fih = 0;  #else
                                 /*real_open(                                  fih = real_open (target,
                                         target,  
                                         _O_BINARY | _O_CREAT | _O_WRONLY | _O_SEQUENTIAL,                                         _O_BINARY | _O_CREAT | _O_WRONLY | _O_SEQUENTIAL,
                                         _S_IREAD | _S_IWRITE                                         _S_IREAD | _S_IWRITE
                                         );                                         );
 */  #endif
                         return fih;                         return fih;
   
                 }                 }
                 case fdintCLOSE_FILE_INFO:                 case fdintCLOSE_FILE_INFO:
                 {                 {
                           char filebuf[256];
                           int result;
  
                         printf("fdintCLOSE_FILE_INFO\n");                          printf(
                         return 0;                                  "fdintCLOSE_FILE:\n"
                                   "-name: %s\n"
                                   "-handle: %d\n"
                                   "-date: %d\n"
                                   "-time: %d\n"
                                   "-attributes: %d\n"
                                   "-file's folder index: %d\n"
                                   "-run: %d\n",
                                   pfdin->psz1,
                                   pfdin->hf,
                                   pfdin->date,
                                   pfdin->time,
                                   pfdin->attribs,
                                   pfdin->iFolder,
                                   pfdin->cb
                                   );
   
   /*
           printf("Testing direct file compare and lseek of %s\n", name_simple_txt);
           printf("Reading and comparing file\n");
           result = tvfs_read(7, filebuf, size_simple_txt);
           result = tvfs_compare( filebuf , file_simple_txt, size_simple_txt);
   
   */
   #ifdef  TVFS
                   tvfs_close(pfdin->hf);
   #else
                   real_close(pfdin->hf);
   #endif
   
                           return TRUE;
                 }                 }
                 case fdintNEXT_CABINET:                 case fdintNEXT_CABINET:
                 {                 {
Line 171 
Line 234 
                 cabinfo.hasprev ,                 cabinfo.hasprev ,
                 cabinfo.hasnext );                 cabinfo.hasnext );
 } }
   #ifndef TVFS
   FNREAD(real_read) {
           int szBuffer = _read(hf,pv,cb);
           printf("   FNREAD (read) just called with %d, %d, %d\n",hf, pv, cb);
           printf("   FNREAD (read) returning size (%d)\n",szBuffer);
           return szBuffer;
   }
   FNCLOSE(real_close) {
           int closevalue = _close(hf);
           printf("   FNCLOSE (real) just called with %d - returning %d\n",hf,closevalue);
           return closevalue;
   }
   
   FNWRITE(real_write) {
           int write_value = _write(hf, pv, cb);
           printf("   FNWRITE just called with %d, %d, %d - returning %d\n",hf, pv, cb, write_value);
           return write_value;
   }
   
   FNSEEK(real_seek) {
           long lseek_value = _lseek(hf, dist, seektype);
           printf("   FNSEEK just called with %d, %d, %d - returning %d\n",hf, dist, seektype,lseek_value);
           return lseek_value;
   }
   
   FNOPEN(real_open) {
           int handler = _open(pszFile,oflag,pmode);
           printf("   FNOPEN (real) just called with %s, %d, %d\n",pszFile, oflag, pmode);
           printf("   FNOPEN (real) returning handler (%d)\n",handler);
           return handler;
   }
   #endif
  
 static void CheckCabInfo(char *  cabname, static void CheckCabInfo(char *  cabname,
                                                  FDICABINETINFO cabinfo,                                                  FDICABINETINFO cabinfo,
Line 218 
Line 313 
         hfdi_unknown_tvfs = FDICreate(         hfdi_unknown_tvfs = FDICreate(
                 final_alloc,                 final_alloc,
                 final_free,                 final_free,
                 tvfs_open,  #ifdef TVFS
                 tvfs_read,                  tvfs_open, tvfs_read, tvfs_write, tvfs_close, tvfs_lseek,
                 tvfs_write,  #else
                 tvfs_close,                  real_open, real_read, real_write, real_close,real_seek,
                 tvfs_lseek,  #endif
                 cpuUNKNOWN,                 cpuUNKNOWN,
                 &error_structure                 &error_structure
         );         );
Line 232 
Line 327 
 } }
  
 static void TestInfo(void) { static void TestInfo(void) {
   #ifdef TVFS
         int fd;         int fd;
  
         FDICABINETINFO  fdi_cabinfo_dummy, fdi_cabinfo_simple, fdi_cabinfo_complex;         FDICABINETINFO  fdi_cabinfo_dummy, fdi_cabinfo_simple, fdi_cabinfo_complex;
Line 266 
Line 361 
                 CheckCabInfo("complex.cab",fdi_cabinfo_complex,12918,1,2,0,0,0,0,0);                 CheckCabInfo("complex.cab",fdi_cabinfo_complex,12918,1,2,0,0,0,0,0);
  
         tvfs_close(fd);         tvfs_close(fd);
           tvfs_free();
  
         printf("Ending TestInfo()\n");         printf("Ending TestInfo()\n");
         printf(" SEEK_CUR %d \n",SEEK_CUR);  #endif
 } }
  
 static void TestCopy(void){ static void TestCopy(void){
   
           char name_file_path[256];
           int result;
   
         printf("Starting TestCopy()\n");         printf("Starting TestCopy()\n");
         printf("---simple.cab\n");         printf("---simple.cab\n");
   #ifdef TVFS
           tvfs_create( name_simple_cab, file_simple_cab, size_simple_cab);
   #endif
         FDICopy(hfdi_unknown_tvfs,         FDICopy(hfdi_unknown_tvfs,
                         "simple.cab",                         "simple.cab",
                         "",                         "",
Line 282 
Line 385 
                         NULL,                         NULL,
                         NULL);                         NULL);
  
   #ifdef TVFS
           /* Filename when extracted is ./<filename> */
           sprintf(name_file_path, "./%s", name_simple_txt);
           result = tvfs_compare(name_file_path, file_simple_txt, size_simple_txt);
           if (result)
                   printf ("File compare failed!\n");
           tvfs_free();
   #endif
   
   
           printf("---complex.cab\n");
   #ifdef TVFS
           tvfs_create( name_complex_cab, file_complex_cab, size_complex_cab);
   #endif
           FDICopy(hfdi_unknown_tvfs,
                           "complex.cab",
                           "",
                           0,
                           notification_function,
                           NULL,
                           NULL);
   
   #ifdef TVFS
           /* Filename when extracted is ./<filename> */
           sprintf(name_file_path, "./%s", name_README);
           result = tvfs_compare(name_file_path, file_README, size_README);
           if (result)
                   printf ("File compare failed!\n");
           tvfs_free();
   #endif
   
   
   
         printf("Ending TestCopy()\n");         printf("Ending TestCopy()\n");
 } }
  


Legend:
Removed from v.2.5  
changed lines
  Added in v.2.9

Rizwan Kassim
Powered by
ViewCVS 0.9.2