156 while (*
str ==
' ' || *
str ==
'\t')
str++;
168 while (*
p ==
' ' || *
p ==
'\t')
p++;
169 if (*
p && *
p !=
';')
goto error;
206 if (wc > 0xff)
return FALSE;
208 if (
s ==
end && wc == 0)
210 while (*
end ==
' ' || *
end ==
'\t')
end++;
217 else if (*
end ==
';')
227 while (*
end ==
' ' || *
end ==
'\t')
end++;
249 static const struct data_type data_types[] = {
258 const struct data_type *
ptr;
304 for (str_idx = 0; str_idx <
len; str_idx++, val_idx++)
306 if (
str[str_idx] ==
'\\')
309 switch (
str[str_idx])
321 str[val_idx] =
str[str_idx];
326 str[val_idx] =
str[str_idx];
330 else if (
str[str_idx] ==
'"')
333 str[val_idx] =
str[str_idx];
336 ret = (
str[str_idx] ==
'"');
337 *unparsed =
str + str_idx + 1;
347 if (*key_path) (*key_path)++;
442 static const WCHAR *header_31 =
L"REGEDIT";
444 while (*
s ==
' ' || *
s ==
'\t')
s++;
452 if (!
lstrcmpW(
s,
L"Windows Registry Editor Version 5.00"))
506 unsigned int key_end = 0;
577 if (*
p ==
' ' || *
p ==
'\t' || !(key_end =
wcsrchr(
p,
']')))
602 if (*
p ==
'H' || *
p ==
'h')
656 while (*
p ==
' ' || *
p ==
'\t')
p++;
659 while (*
p ==
' ' || *
p ==
'\t')
p++;
663 while (
len > 0 && (
p[
len - 1] ==
' ' ||
p[
len - 1] ==
'\t'))
len--;
682 while (*
p ==
' ' || *
p ==
'\t')
p++;
683 if (*
p && *
p !=
';')
goto done;
800 while (*
p ==
' ' || *
p ==
'\t')
p++;
863 #define REG_VAL_BUF_SIZE 4096 910 if (*
p ==
'\r' && *(
p + 1) ==
'\n')
next++;
964 if (*
p ==
'\r' && *(
p + 1) ==
'\n')
next++;
990 if (*
str !=
'/' && *
str !=
'-')
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble * u
static const parser_state_func parser_funcs[NB_PARSER_STATES]
#define ERROR_INVALID_PARAMETER
while(CdLookupNextInitialFileDirent(IrpContext, Fcb, FileContext))
static WCHAR * quoted_value_name_state(struct parser *parser, WCHAR *pos)
static const WCHAR invalid[]
#define memmove(s1, s2, n)
static WCHAR * data_start_state(struct parser *parser, WCHAR *pos)
static WCHAR * hex_data_state(struct parser *parser, WCHAR *pos)
ACPI_SIZE strlen(const char *String)
char * strpbrk(const char *String, const char *Delimiters)
_Check_return_ _CRTIMP FILE *__cdecl _wfopen(_In_z_ const wchar_t *_Filename, _In_z_ const wchar_t *_Mode)
GLsizei const GLchar ** path
int WINAPI lstrcmpW(LPCWSTR lpString1, LPCWSTR lpString2)
GLuint GLuint GLsizei count
static WCHAR * get_lineA(FILE *fp)
static WCHAR * string_data_state(struct parser *parser, WCHAR *pos)
static WCHAR * get_lineW(FILE *fp)
static void prepare_hex_string_data(struct parser *parser)
static WCHAR * set_value_state(struct parser *parser, WCHAR *pos)
void WINAPIV output_message(unsigned int id,...)
_Check_return_ unsigned long __cdecl wcstoul(_In_z_ const wchar_t *_Str, _Out_opt_ _Deref_post_z_ wchar_t **_EndPtr, _In_ int _Radix)
static WCHAR * header_state(struct parser *parser, WCHAR *pos)
static HKEY parse_key_name(WCHAR *key_name, WCHAR **key_path)
static WCHAR * unknown_data_state(struct parser *parser, WCHAR *pos)
LONG WINAPI RegCreateKeyExW(_In_ HKEY hKey, _In_ LPCWSTR lpSubKey, _In_ DWORD Reserved, _In_opt_ LPWSTR lpClass, _In_ DWORD dwOptions, _In_ REGSAM samDesired, _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes, _Out_ PHKEY phkResult, _Out_opt_ LPDWORD lpdwDisposition)
static WCHAR * eol_backslash_state(struct parser *parser, WCHAR *pos)
int WINAPI lstrcmpiW(LPCWSTR lpString1, LPCWSTR lpString2)
GLenum GLuint GLenum GLsizei const GLchar * buf
_Check_return_opt_ _CRTIMP size_t __cdecl fread(_Out_writes_bytes_(_ElementSize *_Count) void *_DstBuf, _In_ size_t _ElementSize, _In_ size_t _Count, _Inout_ FILE *_File)
static void close_key(struct parser *parser)
WCHAR *(* parser_state_func)(struct parser *parser, WCHAR *pos)
static BOOL convert_hex_csv_to_hex(struct parser *parser, WCHAR **str)
REFIID LPVOID DWORD_PTR dw
_CRTIMP wchar_t *__cdecl _wcsupr(_Inout_z_ wchar_t *_String)
static WCHAR *(* get_line)(FILE *)
static HRESULT set_value(struct d3dx_parameter *param, const void *data, unsigned int bytes, void *dst_data)
int reg_import(int argc, WCHAR *argvW[])
#define REG_OPTION_NON_VOLATILE
LONG WINAPI RegSetValueExW(_In_ HKEY hKey, _In_ LPCWSTR lpValueName, _In_ DWORD Reserved, _In_ DWORD dwType, _In_ CONST BYTE *lpData, _In_ DWORD cbData)
static WCHAR * GetWideString(const char *strA)
static enum parser_state set_state(struct parser *parser, enum parser_state state)
static WCHAR * dword_data_state(struct parser *parser, WCHAR *pos)
_CONST_RETURN wchar_t *__cdecl wcschr(_In_z_ const wchar_t *_Str, wchar_t _Ch)
#define STRING_KEY_IMPORT_FAILED
#define STRING_INVALID_SYNTAX
static void free_parser_data(struct parser *parser)
static WCHAR * delete_value_state(struct parser *parser, WCHAR *pos)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
static WCHAR * default_value_name_state(struct parser *parser, WCHAR *pos)
_Check_return_ _CRTIMP int __cdecl wcsncmp(_In_reads_or_z_(_MaxCount) const wchar_t *_Str1, _In_reads_or_z_(_MaxCount) const wchar_t *_Str2, _In_ size_t _MaxCount)
static BOOL convert_hex_to_dword(WCHAR *str, DWORD *dw)
static LONG open_key(struct parser *parser, WCHAR *path)
#define STRING_FILE_NOT_FOUND
static WCHAR * key_name_state(struct parser *parser, WCHAR *pos)
int parse_type(Type t, const vector< string > &tokens, int off, vector< string > &names, vector< string > &dependencies)
static enum reg_versions parse_file_header(const WCHAR *s)
static WCHAR * delete_key_state(struct parser *parser, WCHAR *pos)
GLsizei const GLfloat * value
_Check_return_opt_ _CRTIMP int __cdecl fclose(_Inout_ FILE *_File)
#define STRING_ESCAPE_SEQUENCE
LSTATUS WINAPI RegDeleteTreeW(HKEY hKey, LPCWSTR lpszSubKey)
static unsigned __int64 next
LONG WINAPI RegDeleteValueW(HKEY hKey, LPCWSTR lpValueName)
static WCHAR * hex_multiline_state(struct parser *parser, WCHAR *pos)
_Check_return_ _CRTIMP _CONST_RETURN wchar_t *__cdecl wcspbrk(_In_z_ const wchar_t *_Str, _In_z_ const wchar_t *_Control)
#define MultiByteToWideChar
HKEY path_get_rootkey(const WCHAR *path)
static WCHAR * data_type_state(struct parser *parser, WCHAR *pos)
char * cleanup(char *str)
static BOOL parse_data_type(struct parser *parser, WCHAR **line)
GLuint GLuint GLsizei GLenum type
WINE_DEFAULT_DEBUG_CHANNEL(reg)
static WCHAR * parse_win31_line_state(struct parser *parser, WCHAR *pos)
static BOOL unescape_string(WCHAR *str, WCHAR **unparsed)
#define RegCloseKey(hKey)
static WCHAR * GetWideStringN(const char *strA, int size, DWORD *len)
static WCHAR * line_start_state(struct parser *parser, WCHAR *pos)