@@ -588,22 +588,22 @@ static DWORD xsetenv(LPCWSTR s)
588
588
return r ;
589
589
}
590
590
591
- static LPWSTR xappendarg (int nq , LPWSTR s1 , LPCWSTR s2 , LPCWSTR s3 )
591
+ static LPWSTR xappendarg (int nq , LPWSTR s1 , LPCWSTR s2 )
592
592
{
593
593
LPCWSTR c ;
594
594
LPWSTR e ;
595
595
LPWSTR d ;
596
596
597
- int l1 , l2 , l3 , nn ;
597
+ int l1 , l2 , nn ;
598
598
599
- l3 = xwcslen (s3 );
600
- if (l3 == 0 )
599
+ l2 = xwcslen (s2 );
600
+ if (l2 == 0 )
601
601
return s1 ;
602
602
603
603
if (nq ) {
604
604
nq = 0 ;
605
- if (wcspbrk (s3 , L" \t\"" )) {
606
- for (c = s3 ; ; c ++ , nq ++ ) {
605
+ if (wcspbrk (s2 , L" \t\"" )) {
606
+ for (c = s2 ; ; c ++ , nq ++ ) {
607
607
int b = 0 ;
608
608
609
609
while (* c == L'\\' ) {
@@ -622,27 +622,21 @@ static LPWSTR xappendarg(int nq, LPWSTR s1, LPCWSTR s2, LPCWSTR s3)
622
622
nq += b ;
623
623
}
624
624
}
625
- l3 = nq + 2 ;
625
+ l2 = nq + 2 ;
626
626
}
627
627
}
628
628
l1 = xwcslen (s1 );
629
- l2 = xwcslen (s2 );
630
- nn = l1 + l2 + l3 + 3 ;
629
+ nn = l1 + l2 + 2 ;
631
630
e = (LPWSTR )xrealloc (s1 , nn * sizeof (WCHAR ));
632
631
d = e ;
633
632
634
633
if (l1 ) {
635
634
d += l1 ;
636
635
* (d ++ ) = L' ' ;
637
636
}
638
- if (l2 ) {
639
- wmemcpy (d , s2 , l2 );
640
- d += l2 ;
641
- * (d ++ ) = L' ' ;
642
- }
643
637
if (nq ) {
644
638
* (d ++ ) = L'"' ;
645
- for (c = s3 ; ; c ++ , d ++ ) {
639
+ for (c = s2 ; ; c ++ , d ++ ) {
646
640
int b = 0 ;
647
641
648
642
while (* c == '\\' ) {
@@ -674,8 +668,8 @@ static LPWSTR xappendarg(int nq, LPWSTR s1, LPCWSTR s2, LPCWSTR s3)
674
668
* (d ++ ) = L'"' ;
675
669
}
676
670
else {
677
- wmemcpy (d , s3 , l3 );
678
- d += l3 ;
671
+ wmemcpy (d , s2 , l2 );
672
+ d += l2 ;
679
673
}
680
674
* d = WNUL ;
681
675
return e ;
@@ -2259,8 +2253,8 @@ static DWORD runshutdown(void)
2259
2253
return rc ;
2260
2254
}
2261
2255
svcstop -> application = program -> application ;
2262
- svcstop -> commandLine = xappendarg (1 , NULL , NULL , svcstop -> application );
2263
- svcstop -> commandLine = xappendarg (0 , svcstop -> commandLine , NULL , rb );
2256
+ svcstop -> commandLine = xappendarg (1 , NULL , svcstop -> application );
2257
+ svcstop -> commandLine = xappendarg (0 , svcstop -> commandLine , rb );
2264
2258
DBG_PRINTF ("cmdline %S" , svcstop -> commandLine );
2265
2259
if (!CreateProcessW (svcstop -> application ,
2266
2260
svcstop -> commandLine ,
@@ -2597,12 +2591,12 @@ static DWORD WINAPI workerthread(void *unused)
2597
2591
cmdproc -> exitCode = rc ;
2598
2592
goto finished ;
2599
2593
}
2600
- cmdproc -> commandLine = xappendarg (1 , NULL , NULL , cmdproc -> application );
2594
+ cmdproc -> commandLine = xappendarg (1 , NULL , cmdproc -> application );
2601
2595
for (i = 0 ; i < cmdproc -> optc ; i ++ )
2602
- cmdproc -> commandLine = xappendarg (0 , cmdproc -> commandLine , NULL , cmdproc -> opts [i ]);
2603
- cmdproc -> commandLine = xappendarg (1 , cmdproc -> commandLine , NULL , cmdproc -> script );
2596
+ cmdproc -> commandLine = xappendarg (0 , cmdproc -> commandLine , cmdproc -> opts [i ]);
2597
+ cmdproc -> commandLine = xappendarg (1 , cmdproc -> commandLine , cmdproc -> script );
2604
2598
for (i = 0 ; i < cmdproc -> argc ; i ++ )
2605
- cmdproc -> commandLine = xappendarg (1 , cmdproc -> commandLine , NULL , cmdproc -> args [i ]);
2599
+ cmdproc -> commandLine = xappendarg (1 , cmdproc -> commandLine , cmdproc -> args [i ]);
2606
2600
if (outputlog ) {
2607
2601
op = (LPSVCBATCH_PIPE )xmcalloc (sizeof (SVCBATCH_PIPE ));
2608
2602
op -> pipe = rd ;
0 commit comments