Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
3dc669ff
Commit
3dc669ff
authored
Feb 19, 2011
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
cabinet: Fix the remaining todo_wine tests in fdi.c.
parent
b799765f
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
13 additions
and
44 deletions
+13
-44
fci.c
dlls/cabinet/fci.c
+1
-1
fdi.c
dlls/cabinet/fdi.c
+6
-29
fdi.c
dlls/cabinet/tests/fdi.c
+6
-14
No files found.
dlls/cabinet/fci.c
View file @
3dc669ff
...
...
@@ -672,7 +672,7 @@ static BOOL write_cabinet( FCI_Int *fci, PFNFCISTATUS status_callback )
cfheader
->
cFiles
=
fci_endian_uword
(
fci
->
cFiles
);
cfheader
->
flags
=
fci_endian_uword
(
flags
);
cfheader
->
setID
=
fci_endian_uword
(
fci
->
ccab
.
setID
);
cfheader
->
iCabinet
=
fci_endian_uword
(
fci
->
ccab
.
iCab
-
1
);
cfheader
->
iCabinet
=
fci_endian_uword
(
fci
->
ccab
.
iCab
);
ptr
=
(
char
*
)(
cfheader
+
1
);
if
(
flags
&
cfheadRESERVE_PRESENT
)
...
...
dlls/cabinet/fdi.c
View file @
3dc669ff
...
...
@@ -436,10 +436,8 @@ HFDI __cdecl FDICreate(
if
(
!
((
fdi
=
pfnalloc
(
sizeof
(
FDI_Int
)))))
{
perf
->
erfOper
=
FDIERROR_ALLOC_FAIL
;
perf
->
erfType
=
ERROR_NOT_ENOUGH_MEMORY
;
perf
->
erfType
=
0
;
perf
->
fError
=
TRUE
;
SetLastError
(
ERROR_NOT_ENOUGH_MEMORY
);
return
NULL
;
}
...
...
@@ -603,21 +601,9 @@ static BOOL FDI_read_entries(
/* get the number of folders */
num_folders
=
EndGetI16
(
buf
+
cfhead_NumFolders
);
if
(
num_folders
==
0
)
{
/* PONDERME: is this really invalid? */
WARN
(
"weird cabinet detect failure: no folders in cabinet
\n
"
);
if
(
pmii
)
set_error
(
fdi
,
FDIERROR_NOT_A_CABINET
,
0
);
return
FALSE
;
}
/* get the number of files */
num_files
=
EndGetI16
(
buf
+
cfhead_NumFiles
);
if
(
num_files
==
0
)
{
/* PONDERME: is this really invalid? */
WARN
(
"weird cabinet detect failure: no files in cabinet
\n
"
);
if
(
pmii
)
set_error
(
fdi
,
FDIERROR_NOT_A_CABINET
,
0
);
return
FALSE
;
}
/* setid */
setid
=
EndGetI16
(
buf
+
cfhead_SetID
);
...
...
@@ -2284,8 +2270,7 @@ static void free_decompression_temps(FDI_Int *fdi, const struct fdi_folder *fol,
}
}
static
void
free_decompression_mem
(
FDI_Int
*
fdi
,
fdi_decomp_state
*
decomp_state
,
struct
fdi_file
*
file
)
static
void
free_decompression_mem
(
FDI_Int
*
fdi
,
fdi_decomp_state
*
decomp_state
)
{
struct
fdi_folder
*
fol
;
while
(
decomp_state
)
{
...
...
@@ -2305,7 +2290,7 @@ static void free_decompression_mem(FDI_Int *fdi,
fdi
->
free
(
fol
);
}
while
(
CAB
(
firstfile
))
{
file
=
CAB
(
firstfile
);
struct
fdi_file
*
file
=
CAB
(
firstfile
);
if
(
file
->
filename
)
fdi
->
free
(
file
->
filename
);
CAB
(
firstfile
)
=
CAB
(
firstfile
)
->
next
;
fdi
->
free
(
file
);
...
...
@@ -2531,7 +2516,6 @@ BOOL __cdecl FDICopy(
idx
=
0
;
if
(
pathlen
)
{
for
(
i
=
0
;
i
<
pathlen
;
i
++
)
fullpath
[
idx
++
]
=
pszCabPath
[
i
];
if
(
fullpath
[
idx
-
1
]
!=
'\\'
)
fullpath
[
idx
++
]
=
'\\'
;
}
if
(
filenamelen
)
for
(
i
=
0
;
i
<
filenamelen
;
i
++
)
fullpath
[
idx
++
]
=
pszCabinet
[
i
];
fullpath
[
idx
]
=
'\0'
;
...
...
@@ -2547,13 +2531,6 @@ BOOL __cdecl FDICopy(
return
FALSE
;
}
if
(
cabhf
==
0
)
{
ERR
(
"PFDI_OPEN returned zero for %s.
\n
"
,
fullpath
);
fdi
->
free
(
decomp_state
);
set_error
(
fdi
,
FDIERROR_CABINET_NOT_FOUND
,
ERROR_FILE_NOT_FOUND
);
return
FALSE
;
}
/* check if it's really a cabfile. Note that this doesn't implement the bug */
if
(
!
FDI_read_entries
(
fdi
,
cabhf
,
&
fdici
,
&
(
CAB
(
mii
))))
{
ERR
(
"FDIIsCabinet failed.
\n
"
);
...
...
@@ -2859,8 +2836,8 @@ BOOL __cdecl FDICopy(
}
}
free_decompression_temps
(
fdi
,
fol
,
decomp_state
);
free_decompression_mem
(
fdi
,
decomp_state
,
file
);
if
(
fol
)
free_decompression_temps
(
fdi
,
fol
,
decomp_state
);
free_decompression_mem
(
fdi
,
decomp_state
);
return
TRUE
;
...
...
@@ -2870,7 +2847,7 @@ BOOL __cdecl FDICopy(
if
(
filehf
)
fdi
->
close
(
filehf
);
free_decompression_mem
(
fdi
,
decomp_state
,
file
);
free_decompression_mem
(
fdi
,
decomp_state
);
return
FALSE
;
}
...
...
dlls/cabinet/tests/fdi.c
View file @
3dc669ff
...
...
@@ -239,12 +239,9 @@ static void test_FDICreate(void)
ok
(
erf
.
erfOper
==
FDIERROR_ALLOC_FAIL
,
"Expected FDIERROR_ALLOC_FAIL, got %d
\n
"
,
erf
.
erfOper
);
ok
(
erf
.
fError
==
TRUE
,
"Expected TRUE, got %d
\n
"
,
erf
.
fError
);
todo_wine
{
ok
(
GetLastError
()
==
0xdeadbeef
,
"Expected 0xdeadbeef, got %d
\n
"
,
GetLastError
());
ok
(
erf
.
erfType
==
0
,
"Expected 0, got %d
\n
"
,
erf
.
erfType
);
}
ok
(
GetLastError
()
==
0xdeadbeef
,
"Expected 0xdeadbeef, got %d
\n
"
,
GetLastError
());
ok
(
erf
.
erfType
==
0
,
"Expected 0, got %d
\n
"
,
erf
.
erfType
);
}
static
void
test_FDIDestroy
(
void
)
...
...
@@ -582,8 +579,7 @@ static void test_FDIIsCabinet(void)
ok
(
cabinfo
.
cFolders
==
1
,
"Expected 1, got %d
\n
"
,
cabinfo
.
cFolders
);
ok
(
cabinfo
.
setID
==
0xbeef
,
"Expected 0xbeef, got %d
\n
"
,
cabinfo
.
setID
);
ok
(
cabinfo
.
cbCabinet
==
182
,
"Expected 182, got %d
\n
"
,
cabinfo
.
cbCabinet
);
todo_wine
ok
(
cabinfo
.
iCabinet
==
0
,
"Expected 0, got %d
\n
"
,
cabinfo
.
iCabinet
);
ok
(
cabinfo
.
iCabinet
==
0
,
"Expected 0, got %d
\n
"
,
cabinfo
.
iCabinet
);
fdi_close
(
fd
);
FDIDestroy
(
hfdi
);
...
...
@@ -629,11 +625,8 @@ static void test_FDICopy(void)
SetLastError
(
0xdeadbeef
);
ret
=
FDICopy
(
hfdi
,
name
,
path
,
0
,
CopyProgress
,
NULL
,
0
);
ok
(
ret
==
FALSE
,
"Expected FALSE, got %d
\n
"
,
ret
);
todo_wine
{
ok
(
GetLastError
()
==
ERROR_INVALID_HANDLE
,
"Expected ERROR_INVALID_HANDLE, got %d
\n
"
,
GetLastError
());
}
ok
(
GetLastError
()
==
ERROR_INVALID_HANDLE
,
"Expected ERROR_INVALID_HANDLE, got %d
\n
"
,
GetLastError
());
FDIDestroy
(
hfdi
);
}
...
...
@@ -649,7 +642,6 @@ static void test_FDICopy(void)
/* cabinet with no files or folders */
SetLastError
(
0xdeadbeef
);
ret
=
FDICopy
(
hfdi
,
name
,
path
,
0
,
CopyProgress
,
NULL
,
0
);
todo_wine
ok
(
ret
==
TRUE
,
"Expected TRUE, got %d
\n
"
,
ret
);
ok
(
GetLastError
()
==
0
,
"Expected 0f, got %d
\n
"
,
GetLastError
());
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment