summaryrefslogtreecommitdiff
path: root/setup/devcon/devcon.cpp
diff options
context:
space:
mode:
authorkarlf <[email protected]>2016-08-11 13:28:13 -0700
committerkarlf <[email protected]>2016-08-11 13:28:13 -0700
commit96eb96dfb613e4c745db6bd1f53a92fe7e2290fc (patch)
treead5f3ede5cbcd6b598677ce41bcf8318471bdd92 /setup/devcon/devcon.cpp
parent687b274aa38fd05c8c26e3068932121876d7f745 (diff)
Updated for "Windows 10 Anniversary Update" (Version 1607)
Diffstat (limited to 'setup/devcon/devcon.cpp')
-rw-r--r--setup/devcon/devcon.cpp31
1 files changed, 16 insertions, 15 deletions
diff --git a/setup/devcon/devcon.cpp b/setup/devcon/devcon.cpp
index d501dc1e..24ec7b31 100644
--- a/setup/devcon/devcon.cpp
+++ b/setup/devcon/devcon.cpp
@@ -383,7 +383,7 @@ Return Value:
int elements;
for(scan = MultiSz, elements = 0; scan[0] ;elements++) {
- scan += lstrlen(scan)+1;
+ scan += _tcslen(scan)+1;
}
array = new LPTSTR[elements+2];
if(!array) {
@@ -394,7 +394,7 @@ Return Value:
if(elements) {
for(scan = MultiSz, elements = 0; scan[0]; elements++) {
array[elements] = scan;
- scan += lstrlen(scan)+1;
+ scan += _tcslen(scan)+1;
}
}
array[elements] = NULL;
@@ -426,7 +426,7 @@ Return Value:
int c;
if(Array) {
for(c=0;Array[c];c++) {
- cchMultiSz+=lstrlen(Array[c])+1;
+ cchMultiSz+=(int)_tcslen(Array[c])+1;
}
}
cchMultiSz+=1; // final Null
@@ -445,17 +445,17 @@ Return Value:
}
#pragma prefast(suppress:__WARNING_BUFFER_OVERFLOW, "ESP:732")
- len+=lstrlen(multiSz+len)+1;
+ len+=(int)_tcslen(multiSz+len)+1;
}
}
-
+
if( len < cchMultiSz ){
multiSz[len] = TEXT('\0');
} else {
// This should never happen!
multiSz[cchMultiSz-1] = TEXT('\0');
}
-
+
LPTSTR * pRes = GetMultiSzIndexArray(multiSz);
if(pRes) {
return pRes;
@@ -690,8 +690,8 @@ Return Value:
//
// last portion of match
//
- size_t scanlen = lstrlen(scanItem);
- matchlen = lstrlen(wildMark);
+ size_t scanlen = _tcslen(scanItem);
+ matchlen = _tcslen(wildMark);
if(scanlen < matchlen) {
return FALSE;
}
@@ -710,9 +710,9 @@ Return Value:
// to indicate that the return value of the function should be looked
// at and/or assigned to a variable. The check return annotation means
// the return value should always be checked in all code paths.
- // We assign the return values to variables but the while loop does not
- // examine both values in all code paths (e.g. when scanItem[0] == 0,
- // neither u nor l will be examined) and it doesn't need to examine
+ // We assign the return values to variables but the while loop does not
+ // examine both values in all code paths (e.g. when scanItem[0] == 0,
+ // neither u nor l will be examined) and it doesn't need to examine
// the values in all code paths.
//
#pragma warning( suppress: 28193)
@@ -790,9 +790,9 @@ Return Value:
}
bool SplitCommandLine(
- _In_ int & argc,
- _In_reads_(argc) LPTSTR * & argv,
- _Out_ int & argc_right,
+ _In_ int & argc,
+ _In_reads_(argc) LPTSTR * & argv,
+ _Out_ int & argc_right,
_Outref_result_buffer_(argc_right) LPTSTR * & argv_right)
/*++
@@ -1135,7 +1135,8 @@ Return Value:
}
firstArg++;
for(dispIndex = 0;DispatchTable[dispIndex].cmd;dispIndex++) {
- if(_tcsicmp(cmd,DispatchTable[dispIndex].cmd)==0) {
+ if ((_tcsicmp(cmd,DispatchTable[dispIndex].cmd) == 0) &&
+ (argc >= firstArg)) {
retval = DispatchTable[dispIndex].func(baseName,machine,flags,argc-firstArg,argv+firstArg);
switch(retval) {
case EXIT_USAGE: