regedit: Return success or failure from import functions.

Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Hugh McMaster 2017-03-22 11:54:16 +00:00 committed by Alexandre Julliard
parent f56d919ffe
commit 5052a759b3
1 changed files with 15 additions and 20 deletions

View File

@ -745,7 +745,7 @@ static char *get_lineA(FILE *fp)
return NULL;
}
static void processRegLinesA(FILE *fp, char *two_chars)
static BOOL processRegLinesA(FILE *fp, char *two_chars)
{
char *line, *header;
WCHAR *lineW;
@ -766,7 +766,7 @@ static void processRegLinesA(FILE *fp, char *two_chars)
if (reg_version == REG_VERSION_INVALID)
{
get_lineA(NULL); /* Reset static variables */
return;
return FALSE;
}
while ((line = get_lineA(fp)))
@ -782,6 +782,7 @@ static void processRegLinesA(FILE *fp, char *two_chars)
}
closeKey();
return TRUE;
}
static WCHAR *get_lineW(FILE *fp)
@ -855,7 +856,7 @@ static WCHAR *get_lineW(FILE *fp)
return NULL;
}
static void processRegLinesW(FILE *fp)
static BOOL processRegLinesW(FILE *fp)
{
WCHAR *line;
int reg_version;
@ -865,13 +866,14 @@ static void processRegLinesW(FILE *fp)
if (reg_version == REG_VERSION_INVALID)
{
get_lineW(NULL); /* Reset static variables */
return;
return FALSE;
}
while ((line = get_lineW(fp)))
processRegEntry(line, TRUE);
closeKey();
return TRUE;
}
/******************************************************************************
@ -1347,22 +1349,15 @@ BOOL export_registry_key(WCHAR *file_name, WCHAR *reg_key_name, DWORD format)
*/
BOOL import_registry_file(FILE* reg_file)
{
if (reg_file)
{
BYTE s[2];
if (fread( s, 2, 1, reg_file) == 1)
{
if (s[0] == 0xff && s[1] == 0xfe)
{
processRegLinesW(reg_file);
} else
{
processRegLinesA(reg_file, (char*)s);
}
}
return TRUE;
}
if (!reg_file || (fread(s, 2, 1, reg_file) != 1))
return FALSE;
if (s[0] == 0xff && s[1] == 0xfe)
return processRegLinesW(reg_file);
else
return processRegLinesA(reg_file, (char *)s);
}
/******************************************************************************