37 #include "winemsi_s.h" 43 #define FORMAT_NULL 0x0001 44 #define FORMAT_LITERAL 0x0002 45 #define FORMAT_NUMBER 0x0004 46 #define FORMAT_LBRACK 0x0010 47 #define FORMAT_LBRACE 0x0020 48 #define FORMAT_RBRACK 0x0011 49 #define FORMAT_RBRACE 0x0021 50 #define FORMAT_ESCAPE 0x0040 51 #define FORMAT_PROPNULL 0x0080 52 #define FORMAT_ERROR 0x1000 53 #define FORMAT_FAIL 0x2000 55 #define left_type(x) (x & 0xF0) 309 else if (ch ==
'%' || ch ==
'#' || ch ==
'!' || ch ==
'$')
367 return ((
x >=
'0') && (
x <=
'9'));
384 x !=
'[' &&
x !=
']' &&
x !=
'{' &&
x !=
'}');
465 ERR(
"Got unknown character %c(%x)\n", ch, ch);
543 ret->propfound = propfound;
544 ret->nonprop = nonprop;
551 int *oldsize,
int *
type,
int *
len )
562 *oldsize =
node->len;
567 *oldsize +=
node->len;
583 if (!
format->groupfailed && (*oldsize == 2 ||
584 (
format->propfailed && !*nonprop)))
595 else if (*propfound && !*nonprop &&
621 int *oldsize,
int *
type,
int *
len )
632 *oldsize =
node->len;
638 *oldsize +=
node->len;
692 &nonprop, &oldsize, &
type, &
len );
696 &nonprop, &oldsize, &
type, &
len );
742 if (*
data ==
'[' && *(
data - 1) !=
'\\')
744 else if (*
data ==
']')
855 if (!record_deformated)
861 for (
i = 1;
i <= field_count;
i++)
906 TRACE(
"%lu, %lu, %p, %p\n", hInstall, hRecord, szResult, sz );
912 package = msihandle2msiinfo( hInstall, MSIHANDLETYPE_PACKAGE );
969 package = msihandle2msiinfo(hinst, MSIHANDLETYPE_PACKAGE);
#define ERROR_INVALID_PARAMETER
UINT msi_get_property(MSIDATABASE *, LPCWSTR, LPWSTR, LPDWORD) DECLSPEC_HIDDEN
MSIHANDLE msi_get_remote(MSIHANDLE handle)
MSIRECORD * MSI_CloneRecord(MSIRECORD *) DECLSPEC_HIDDEN
UINT MSI_RecordSetStringW(MSIRECORD *, UINT, LPCWSTR) DECLSPEC_HIDDEN
static WCHAR * strdupW(const WCHAR *src)
GLdouble GLdouble GLdouble r
GLuint GLuint GLsizei count
#define ERROR_INVALID_HANDLE
UINT MSI_RecordGetStringW(MSIRECORD *, UINT, LPWSTR, LPDWORD) DECLSPEC_HIDDEN
GLboolean GLenum GLenum GLvoid * values
__WINE_SERVER_LIST_INLINE void list_add_head(struct list *list, struct list *elem)
GLint GLint GLint GLint GLint x
static void msi_free(void *mem)
static stack_node_t * stack
_Check_return_ long __cdecl wcstol(_In_z_ const wchar_t *_Str, _Out_opt_ _Deref_post_z_ wchar_t **_EndPtr, _In_ int _Radix)
WCHAR * msi_resolve_source_folder(MSIPACKAGE *package, const WCHAR *name, MSIFOLDER **folder)
static void * msi_realloc(void *mem, size_t len) __WINE_ALLOC_SIZE(2)
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
static void * msi_alloc_zero(size_t len) __WINE_ALLOC_SIZE(1)
UINT msi_strncpyW(const WCHAR *str, int len, WCHAR *buf, DWORD *sz)
UINT msi_strncpyWtoA(const WCHAR *str, int lenW, char *buf, DWORD *sz, BOOL remote)
__WINE_SERVER_LIST_INLINE struct list * list_head(const struct list *list)
GLenum GLuint GLenum GLsizei const GLchar * buf
#define LIST_FOR_EACH_ENTRY(elem, list, type, field)
BOOL MSI_RecordIsNull(MSIRECORD *, UINT) DECLSPEC_HIDDEN
LONG WINAPI rpc_filter(EXCEPTION_POINTERS *eptr)
#define MSIHANDLETYPE_RECORD
const WCHAR * MSI_RecordGetString(const MSIRECORD *, UINT) DECLSPEC_HIDDEN
INT replace(TCHAR source[MAX_PATH], TCHAR dest[MAX_PATH], DWORD dwFlags, BOOL *doMore)
MSIFILE * msi_get_loaded_file(MSIPACKAGE *package, const WCHAR *key)
__WINE_SERVER_LIST_INLINE void list_remove(struct list *elem)
void dump_record(MSIRECORD *) DECLSPEC_HIDDEN
DWORD WINAPI GetShortPathNameW(IN LPCWSTR lpszLongPath, OUT LPWSTR lpszShortPath, IN DWORD cchBuffer)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
static JOBOBJECTINFOCLASS LPVOID DWORD LPDWORD ret_len
int msiobj_release(MSIOBJECTHDR *info)
MSICOMPONENT * msi_get_loaded_component(MSIPACKAGE *package, const WCHAR *Component)
MSIRECORD * MSI_CreateRecord(UINT) DECLSPEC_HIDDEN
#define memcpy(s1, s2, n)
GLsizei const GLfloat * value
int _cdecl swprintf(const WCHAR *,...)
const WCHAR * msi_get_target_folder(MSIPACKAGE *package, const WCHAR *name)
__WINE_SERVER_LIST_INLINE int list_empty(const struct list *list)
WCHAR * msi_dup_record_field(MSIRECORD *row, INT index) DECLSPEC_HIDDEN
__WINE_SERVER_LIST_INLINE void list_init(struct list *list)
static void * msi_alloc(size_t len) __WINE_ALLOC_SIZE(1)
LPWSTR WINAPI lstrcatW(LPWSTR lpString1, LPCWSTR lpString2)
GLdouble GLdouble GLdouble GLdouble top
GLuint GLuint GLsizei GLenum type
#define GetExceptionCode()
void * msihandle2msiinfo(MSIHANDLE handle, UINT type)
#define GetEnvironmentVariableW(x, y, z)
UINT MSI_RecordGetFieldCount(const MSIRECORD *rec) DECLSPEC_HIDDEN