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 !=
'-')
ACPI_SIZE strlen(const char *String)
char * strpbrk(const char *String, const char *Delimiters)
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
#define STRING_FILE_NOT_FOUND
static WCHAR * default_value_name_state(struct parser *parser, WCHAR *pos)
static WCHAR * hex_data_state(struct parser *parser, WCHAR *pos)
static WCHAR * dword_data_state(struct parser *parser, WCHAR *pos)
static WCHAR * string_data_state(struct parser *parser, WCHAR *pos)
int reg_import(int argc, WCHAR *argvW[])
static WCHAR * key_name_state(struct parser *parser, WCHAR *pos)
static void prepare_hex_string_data(struct parser *parser)
static WCHAR * delete_value_state(struct parser *parser, WCHAR *pos)
static WCHAR * eol_backslash_state(struct parser *parser, WCHAR *pos)
static WCHAR * data_type_state(struct parser *parser, WCHAR *pos)
static BOOL convert_hex_to_dword(WCHAR *str, DWORD *dw)
static WCHAR * GetWideString(const char *strA)
static enum reg_versions parse_file_header(const WCHAR *s)
static BOOL convert_hex_csv_to_hex(struct parser *parser, WCHAR **str)
static enum parser_state set_state(struct parser *parser, enum parser_state state)
static void free_parser_data(struct parser *parser)
static WCHAR * set_value_state(struct parser *parser, WCHAR *pos)
static WCHAR * data_start_state(struct parser *parser, WCHAR *pos)
WCHAR *(* parser_state_func)(struct parser *parser, WCHAR *pos)
static WCHAR * get_lineA(FILE *fp)
static WCHAR * unknown_data_state(struct parser *parser, WCHAR *pos)
static BOOL parse_data_type(struct parser *parser, WCHAR **line)
static WCHAR * get_lineW(FILE *fp)
static WCHAR * quoted_value_name_state(struct parser *parser, WCHAR *pos)
static HKEY parse_key_name(WCHAR *key_name, WCHAR **key_path)
static WCHAR *(* get_line)(FILE *)
static WCHAR * parse_win31_line_state(struct parser *parser, WCHAR *pos)
static WCHAR * delete_key_state(struct parser *parser, WCHAR *pos)
static WCHAR * GetWideStringN(const char *strA, int size, DWORD *len)
static WCHAR * hex_multiline_state(struct parser *parser, WCHAR *pos)
static BOOL unescape_string(WCHAR *str, WCHAR **unparsed)
static WCHAR * header_state(struct parser *parser, WCHAR *pos)
static WCHAR * line_start_state(struct parser *parser, WCHAR *pos)
static const parser_state_func parser_funcs[NB_PARSER_STATES]
HKEY path_get_rootkey(const WCHAR *path)
void WINAPIV output_message(unsigned int id,...)
#define STRING_INVALID_SYNTAX
#define STRING_KEY_IMPORT_FAILED
#define STRING_ESCAPE_SEQUENCE
#define RegCloseKey(hKey)
while(CdLookupNextInitialFileDirent(IrpContext, Fcb, FileContext))
static HRESULT set_value(struct d3dx_parameter *param, const void *data, unsigned int bytes, void *dst_data)
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)
LSTATUS WINAPI RegDeleteTreeW(HKEY hKey, LPCWSTR lpszSubKey)
LONG WINAPI RegSetValueExW(_In_ HKEY hKey, _In_ LPCWSTR lpValueName, _In_ DWORD Reserved, _In_ DWORD dwType, _In_ CONST BYTE *lpData, _In_ DWORD cbData)
LONG WINAPI RegDeleteValueW(HKEY hKey, LPCWSTR lpValueName)
#define ERROR_INVALID_PARAMETER
#define MultiByteToWideChar
static void cleanup(void)
GLuint GLuint GLsizei GLenum type
GLuint GLuint GLsizei count
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLenum GLuint GLenum GLsizei const GLchar * buf
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
_Check_return_ _CRTIMP FILE *__cdecl _wfopen(_In_z_ const wchar_t *_Filename, _In_z_ const wchar_t *_Mode)
_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)
_Check_return_opt_ _CRTIMP int __cdecl fclose(_Inout_ FILE *_File)
_Check_return_ unsigned long __cdecl wcstoul(_In_z_ const wchar_t *_Str, _Out_opt_ _Deref_post_z_ wchar_t **_EndPtr, _In_ int _Radix)
REFIID LPVOID DWORD_PTR dw
int WINAPI lstrcmpiW(LPCWSTR lpString1, LPCWSTR lpString2)
int WINAPI lstrcmpW(LPCWSTR lpString1, LPCWSTR lpString2)
#define memmove(s1, s2, n)
static const WCHAR invalid[]
#define REG_OPTION_NON_VOLATILE
static unsigned __int64 next
#define open_key(r, p, s, k)
_Check_return_ _CRTIMP _CONST_RETURN wchar_t *__cdecl wcspbrk(_In_z_ const wchar_t *_Str, _In_z_ const wchar_t *_Control)
_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)
_CRTIMP wchar_t *__cdecl _wcsupr(_Inout_z_ wchar_t *_String)
int parse_type(Type t, const vector< string > &tokens, int off, vector< string > &names, vector< string > &dependencies)