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;
309 for (str_idx = 0; str_idx <
len; str_idx++, val_idx++)
311 if (
str[str_idx] ==
'\\')
314 switch (
str[str_idx])
326 str[val_idx] =
str[str_idx];
331 str[val_idx] =
str[str_idx];
335 else if (
str[str_idx] ==
'"')
338 str[val_idx] =
str[str_idx];
341 ret = (
str[str_idx] ==
'"');
342 *unparsed =
str + str_idx + 1;
352 if (*key_path) (*key_path)++;
447 static const WCHAR *header_31 =
L"REGEDIT";
449 while (*
s ==
' ' || *
s ==
'\t')
s++;
457 if (!
lstrcmpW(
s,
L"Windows Registry Editor Version 5.00"))
511 unsigned int key_end = 0;
582 if (*
p ==
' ' || *
p ==
'\t' || !(key_end =
wcsrchr(
p,
']')))
607 if (*
p ==
'H' || *
p ==
'h')
661 while (*
p ==
' ' || *
p ==
'\t')
p++;
664 while (*
p ==
' ' || *
p ==
'\t')
p++;
668 while (
len > 0 && (
p[
len - 1] ==
' ' ||
p[
len - 1] ==
'\t'))
len--;
687 while (*
p ==
' ' || *
p ==
'\t')
p++;
688 if (*
p && *
p !=
';')
goto done;
805 while (*
p ==
' ' || *
p ==
'\t')
p++;
868#define REG_VAL_BUF_SIZE 4096
915 if (*
p ==
'\r' && *(
p + 1) ==
'\n')
next++;
969 if (*
p ==
'\r' && *(
p + 1) ==
'\n')
next++;
995 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))
LSTATUS WINAPI RegDeleteTreeW(_In_ HKEY, _In_opt_ LPCWSTR)
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)
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)
int WINAPI lstrcmpW(LPCWSTR str1, LPCWSTR str2)
int WINAPI lstrcmpiW(LPCWSTR str1, LPCWSTR str2)
GLuint GLuint GLsizei count
GLuint GLuint GLsizei GLenum type
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
#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)
int parse_type(Type t, const vector< string > &tokens, int off, vector< string > &names, vector< string > &dependencies)