KWSys 2014-04-02 (39f98b5d)
Extract upstream KWSys using the following shell commands. $ git archive --prefix=upstream-kwsys/ 39f98b5d | tar x $ git shortlog --no-merges --abbrev=8 --format='%h %s' a8aa1014..39f98b5d Brad King (1): 39f98b5d Encoding: Add self-assignment check to CommandLineArguments Jiri Malak (1): 36982798 SystemTools: add Watcom single Quote processing Change-Id: Ib8e67dc0c29ee62e6489c068987e4206fa4adaf3
This commit is contained in:
parent
12faf00d71
commit
eccc425af6
|
@ -110,6 +110,8 @@ Encoding::CommandLineArguments::
|
||||||
Encoding::CommandLineArguments&
|
Encoding::CommandLineArguments&
|
||||||
Encoding::CommandLineArguments::operator=(const CommandLineArguments& other)
|
Encoding::CommandLineArguments::operator=(const CommandLineArguments& other)
|
||||||
{
|
{
|
||||||
|
if(this != &other)
|
||||||
|
{
|
||||||
size_t i;
|
size_t i;
|
||||||
for(i=0; i<this->argv_.size(); i++)
|
for(i=0; i<this->argv_.size(); i++)
|
||||||
{
|
{
|
||||||
|
@ -121,6 +123,7 @@ Encoding::CommandLineArguments::operator=(const CommandLineArguments& other)
|
||||||
{
|
{
|
||||||
this->argv_[i] = other.argv_[i] ? strdup(other.argv_[i]) : 0;
|
this->argv_[i] = other.argv_[i] ? strdup(other.argv_[i]) : 0;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
26
System.c
26
System.c
|
@ -353,6 +353,10 @@ static int kwsysSystem_Shell__GetArgumentSize(const char* in,
|
||||||
if(kwsysSystem_Shell__ArgumentNeedsQuotes(in, isUnix, flags))
|
if(kwsysSystem_Shell__ArgumentNeedsQuotes(in, isUnix, flags))
|
||||||
{
|
{
|
||||||
/* Surrounding quotes are needed. Allocate space for them. */
|
/* Surrounding quotes are needed. Allocate space for them. */
|
||||||
|
if((flags & kwsysSystem_Shell_Flag_WatcomQuote) && (isUnix))
|
||||||
|
{
|
||||||
|
size += 2;
|
||||||
|
}
|
||||||
size += 2;
|
size += 2;
|
||||||
|
|
||||||
/* We must escape all ending backslashes when quoting on windows. */
|
/* We must escape all ending backslashes when quoting on windows. */
|
||||||
|
@ -377,8 +381,19 @@ static char* kwsysSystem_Shell__GetArgument(const char* in, char* out,
|
||||||
if(needQuotes)
|
if(needQuotes)
|
||||||
{
|
{
|
||||||
/* Add the opening quote for this argument. */
|
/* Add the opening quote for this argument. */
|
||||||
|
if(flags & kwsysSystem_Shell_Flag_WatcomQuote)
|
||||||
|
{
|
||||||
|
if(isUnix)
|
||||||
|
{
|
||||||
*out++ = '"';
|
*out++ = '"';
|
||||||
}
|
}
|
||||||
|
*out++ = '\'';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
*out++ = '"';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* Scan the string for characters that require escaping or quoting. */
|
/* Scan the string for characters that require escaping or quoting. */
|
||||||
for(c=in; *c; ++c)
|
for(c=in; *c; ++c)
|
||||||
|
@ -549,8 +564,19 @@ static char* kwsysSystem_Shell__GetArgument(const char* in, char* out,
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Add the closing quote for this argument. */
|
/* Add the closing quote for this argument. */
|
||||||
|
if(flags & kwsysSystem_Shell_Flag_WatcomQuote)
|
||||||
|
{
|
||||||
|
*out++ = '\'';
|
||||||
|
if(isUnix)
|
||||||
|
{
|
||||||
*out++ = '"';
|
*out++ = '"';
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
*out++ = '"';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* Store a terminating null without incrementing. */
|
/* Store a terminating null without incrementing. */
|
||||||
*out = 0;
|
*out = 0;
|
||||||
|
|
|
@ -36,6 +36,7 @@
|
||||||
# define kwsysSystem_Shell_Flag_MinGWMake kwsys_ns(System_Shell_Flag_MinGWMake)
|
# define kwsysSystem_Shell_Flag_MinGWMake kwsys_ns(System_Shell_Flag_MinGWMake)
|
||||||
# define kwsysSystem_Shell_Flag_NMake kwsys_ns(System_Shell_Flag_NMake)
|
# define kwsysSystem_Shell_Flag_NMake kwsys_ns(System_Shell_Flag_NMake)
|
||||||
# define kwsysSystem_Shell_Flag_AllowMakeVariables kwsys_ns(System_Shell_Flag_AllowMakeVariables)
|
# define kwsysSystem_Shell_Flag_AllowMakeVariables kwsys_ns(System_Shell_Flag_AllowMakeVariables)
|
||||||
|
# define kwsysSystem_Shell_Flag_WatcomQuote kwsys_ns(System_Shell_Flag_WatcomQuote)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __VMS
|
#ifdef __VMS
|
||||||
|
@ -102,14 +103,17 @@ enum kwsysSystem_Shell_Flag_e
|
||||||
kwsysSystem_Shell_Flag_MinGWMake = (1<<4),
|
kwsysSystem_Shell_Flag_MinGWMake = (1<<4),
|
||||||
|
|
||||||
/** The target shell is in a NMake makefile. */
|
/** The target shell is in a NMake makefile. */
|
||||||
kwsysSystem_Shell_Flag_NMake = (1<<6),
|
kwsysSystem_Shell_Flag_NMake = (1<<5),
|
||||||
|
|
||||||
/** Make variable reference syntax $(MAKEVAR) should not be escaped
|
/** Make variable reference syntax $(MAKEVAR) should not be escaped
|
||||||
to allow a build tool to replace it. Replacement values
|
to allow a build tool to replace it. Replacement values
|
||||||
containing spaces, quotes, backslashes, or other
|
containing spaces, quotes, backslashes, or other
|
||||||
non-alphanumeric characters that have significance to some makes
|
non-alphanumeric characters that have significance to some makes
|
||||||
or shells produce undefined behavior. */
|
or shells produce undefined behavior. */
|
||||||
kwsysSystem_Shell_Flag_AllowMakeVariables = (1<<5)
|
kwsysSystem_Shell_Flag_AllowMakeVariables = (1<<6),
|
||||||
|
|
||||||
|
/** The target shell quoting uses extra single Quotes for Watcom tools. */
|
||||||
|
kwsysSystem_Shell_Flag_WatcomQuote = (1<<7)
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -156,6 +160,7 @@ kwsysEXPORT char** kwsysSystem_Parse_CommandForUnix(const char* command,
|
||||||
# undef kwsysSystem_Shell_Flag_MinGWMake
|
# undef kwsysSystem_Shell_Flag_MinGWMake
|
||||||
# undef kwsysSystem_Shell_Flag_NMake
|
# undef kwsysSystem_Shell_Flag_NMake
|
||||||
# undef kwsysSystem_Shell_Flag_AllowMakeVariables
|
# undef kwsysSystem_Shell_Flag_AllowMakeVariables
|
||||||
|
# undef kwsysSystem_Shell_Flag_WatcomQuote
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue