dll/shell32/shlfileop.c cleanup questions
Joris Huizer
jorishuizer at planet.nl
Fri Feb 18 07:14:21 CST 2005
Hello,
I'm looking at the dll/shell32/shlfileop.c file; the function
SHFileOperationW is still huge but in order to split off sections (some
are clear to see but difficult to seperate from the rest)
I'd either have to use huge parameter lists, or put parts together in
structs (some vars are used everywhere in combination) What is your
opinion about this?
Also, I found something weird, the line at the top of the while loop:
nFileOp.wFunc = ((level + 1) << 4) + FuncSwitch;
seems to be equivalent to
nFileOp.wFunc = (((lpFileOp->wFunc >> 4) + 1) << 4) +
(lpFileOp->wFunc & FO_MASK);
and
nFileOp.wFunc = (((lpFileOp->wFunc >> 4) + 1) << 4) +
(lpFileOp->wFunc & 0xF);
and
nFileOp.wFunc = (lpFileOp->wFunc & (~(0xF))) + (1 << 4) +
(lpFileOp->wFunc & 0xF);
and
nFileOp.wFunc = (lpFileOp->wFunc & (~(0xF))) + (0x10) +
(lpFileOp->wFunc & 0xF);
and
nFileOp.wFunc = lpFileOp->wFunc + 0x10; /* what's this 0x10? */
and in turn, no tests go off when changing that to:
nFileOp.wFunc = lpFileOp->wFunc;
Am I missing something here?
regards,
Joris
More information about the wine-devel
mailing list