Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
bfb0474e
Commit
bfb0474e
authored
May 31, 2018
by
Dmitry Timoshkov
Committed by
Alexandre Julliard
May 31, 2018
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
schedsvc: Read parameters and current directory from the job file.
Signed-off-by:
Dmitry Timoshkov
<
dmitry@baikal.ru
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
5f895673
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
23 additions
and
4 deletions
+23
-4
atsvc.c
dlls/schedsvc/atsvc.c
+23
-4
No files found.
dlls/schedsvc/atsvc.c
View file @
bfb0474e
...
...
@@ -59,6 +59,8 @@ struct job_t
{
struct
list
entry
;
WCHAR
*
name
;
WCHAR
*
params
;
WCHAR
*
curdir
;
AT_ENUM
info
;
FIXDLEN_DATA
data
;
USHORT
instance_count
;
...
...
@@ -76,7 +78,7 @@ static CRITICAL_SECTION_DEBUG cs_debug =
};
static
CRITICAL_SECTION
at_job_list_section
=
{
&
cs_debug
,
-
1
,
0
,
0
,
0
,
0
};
static
DWORD
load_unicode_strings
(
const
char
*
data
,
DWORD
limit
,
AT_ENUM
*
info
)
static
DWORD
load_unicode_strings
(
const
char
*
data
,
DWORD
limit
,
struct
job_t
*
job
)
{
DWORD
i
,
data_size
=
0
;
USHORT
len
;
...
...
@@ -101,8 +103,23 @@ static DWORD load_unicode_strings(const char *data, DWORD limit, AT_ENUM *info)
TRACE
(
"string %u: %s
\n
"
,
i
,
wine_dbgstr_wn
((
const
WCHAR
*
)
data
,
len
));
if
(
i
==
0
)
info
->
Command
=
heap_strdupW
((
const
WCHAR
*
)
data
);
switch
(
i
)
{
case
0
:
job
->
info
.
Command
=
heap_strdupW
((
const
WCHAR
*
)
data
);
break
;
case
1
:
job
->
params
=
heap_strdupW
((
const
WCHAR
*
)
data
);
break
;
case
2
:
job
->
curdir
=
heap_strdupW
((
const
WCHAR
*
)
data
);
break
;
default:
break
;
}
data
+=
len
*
sizeof
(
WCHAR
);
data_size
+=
len
*
sizeof
(
WCHAR
);
...
...
@@ -162,7 +179,7 @@ static BOOL load_job_data(const char *data, DWORD size, struct job_t *info)
TRACE
(
"instance count %u
\n
"
,
info
->
instance_count
);
if
(
fixed
->
name_size_offset
+
sizeof
(
USHORT
)
<
size
)
unicode_strings_size
=
load_unicode_strings
(
data
+
fixed
->
name_size_offset
,
size
-
fixed
->
name_size_offset
,
&
info
->
info
);
unicode_strings_size
=
load_unicode_strings
(
data
+
fixed
->
name_size_offset
,
size
-
fixed
->
name_size_offset
,
info
);
else
{
TRACE
(
"invalid name_size_offset
\n
"
);
...
...
@@ -324,6 +341,8 @@ static void free_job(struct job_t *job)
{
free_job_info
(
&
job
->
info
);
heap_free
(
job
->
name
);
heap_free
(
job
->
params
);
heap_free
(
job
->
curdir
);
heap_free
(
job
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment