Module: wine Branch: master Commit: 1b8ba2537111f0d691d2592bb4ffb6bc4fe4f20e URL: http://source.winehq.org/git/wine.git/?a=commit;h=1b8ba2537111f0d691d2592bb4...
Author: Hans Leidekker hans@codeweavers.com Date: Wed Mar 3 14:37:17 2010 +0100
setupapi: Destination directory defaults to system directory.
---
dlls/setupapi/queue.c | 13 ++++++++++--- 1 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/dlls/setupapi/queue.c b/dlls/setupapi/queue.c index 6a2b8d6..d302924 100644 --- a/dlls/setupapi/queue.c +++ b/dlls/setupapi/queue.c @@ -338,10 +338,17 @@ static WCHAR *get_destination_dir( HINF hinf, const WCHAR *section ) static const WCHAR Dest[] = {'D','e','s','t','i','n','a','t','i','o','n','D','i','r','s',0}; static const WCHAR Def[] = {'D','e','f','a','u','l','t','D','e','s','t','D','i','r',0}; INFCONTEXT context; + WCHAR systemdir[MAX_PATH], *dir; + BOOL ret;
- if (!SetupFindFirstLineW( hinf, Dest, section, &context ) && - !SetupFindFirstLineW( hinf, Dest, Def, &context )) return NULL; - return PARSER_get_dest_dir( &context ); + if (!(ret = SetupFindFirstLineW( hinf, Dest, section, &context ))) + ret = SetupFindFirstLineW( hinf, Dest, Def, &context ); + + if (ret && (dir = PARSER_get_dest_dir( &context ))) + return dir; + + GetSystemDirectoryW( systemdir, MAX_PATH ); + return strdupW( systemdir ); }