mirror of
https://github.com/boostorg/build.git
synced 2026-02-01 20:32:17 +00:00
* Increase version, long overdue.
* Build bjam only by default, instead of all the other misc binaries. * Implement disabling of splitting of imported variables. Not enable yet. * Fix 7zip archiver search to work with newest 7z version. [SVN r28541]
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
Name: boost-jam
|
||||
Version: 3.1.10
|
||||
Version: 3.1.11
|
||||
Summary: Build tool
|
||||
Release: 1
|
||||
Source: %{name}-%{version}.tgz
|
||||
@@ -32,7 +32,7 @@ Copyright:
|
||||
|
||||
Also:
|
||||
Copyright 2001-2004 David Abrahams.
|
||||
Copyright 2002-2004 Rene Rivera.
|
||||
Copyright 2002-2005 Rene Rivera.
|
||||
|
||||
Distributed under the Boost Software License, Version 1.0.
|
||||
(See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
|
||||
@@ -49,7 +49,6 @@ mkdir -p $RPM_BUILD_ROOT%{_bindir}
|
||||
mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
|
||||
install -m 755 bin/bjam $RPM_BUILD_ROOT%{_bindir}/bjam-%{version}
|
||||
ln -sf bjam-%{version} $RPM_BUILD_ROOT%{_bindir}/bjam
|
||||
ln -sf bjam-%{version} $RPM_BUILD_ROOT%{_bindir}/jam
|
||||
install -m 644 *.html *.txt Porting $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
|
||||
|
||||
find $RPM_BUILD_ROOT -name CVS -type d -depth -exec rm -r {} \;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
@ECHO OFF
|
||||
|
||||
REM ~ Copyright 2002-2004 Rene Rivera.
|
||||
REM ~ Copyright 2002-2005 Rene Rivera.
|
||||
REM ~ Distributed under the Boost Software License, Version 1.0.
|
||||
REM ~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
@@ -51,17 +51,6 @@ REM Sets BOOST_JAM_TOOLSET to the first found toolset.
|
||||
REM May also set BOOST_JAM_TOOLSET_ROOT to the
|
||||
REM location of the found toolset.
|
||||
setlocal & endlocal
|
||||
if NOT "_%CWFolder%_" == "__" (
|
||||
set BOOST_JAM_TOOLSET=metrowerks
|
||||
set BOOST_JAM_TOOLSET_ROOT=%CWFolder%\
|
||||
goto :eof )
|
||||
setlocal & endlocal
|
||||
call :Test_Path mwcc.exe
|
||||
if not errorlevel 1 (
|
||||
set BOOST_JAM_TOOLSET=metrowerks
|
||||
set BOOST_JAM_TOOLSET_ROOT=%FOUND_PATH%..\..\
|
||||
goto :eof)
|
||||
setlocal & endlocal
|
||||
if NOT "_%VS71COMNTOOLS%_" == "__" (
|
||||
set BOOST_JAM_TOOLSET=vc7
|
||||
set BOOST_JAM_TOOLSET_ROOT=%VS71COMNTOOLS%\..\..\VC7\
|
||||
@@ -152,6 +141,17 @@ if EXIST "C:\MinGW\bin\gcc.exe" (
|
||||
set BOOST_JAM_TOOLSET_ROOT=C:\MinGW\
|
||||
goto :eof)
|
||||
setlocal & endlocal
|
||||
if NOT "_%CWFolder%_" == "__" (
|
||||
set BOOST_JAM_TOOLSET=metrowerks
|
||||
set BOOST_JAM_TOOLSET_ROOT=%CWFolder%\
|
||||
goto :eof )
|
||||
setlocal & endlocal
|
||||
call :Test_Path mwcc.exe
|
||||
if not errorlevel 1 (
|
||||
set BOOST_JAM_TOOLSET=metrowerks
|
||||
set BOOST_JAM_TOOLSET_ROOT=%FOUND_PATH%..\..\
|
||||
goto :eof)
|
||||
setlocal & endlocal
|
||||
call :Error_Print "Could not find a suitable toolset."
|
||||
goto :eof
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#~ Copyright 2002-2004 Rene Rivera.
|
||||
#~ Copyright 2002-2005 Rene Rivera.
|
||||
#~ Distributed under the Boost Software License, Version 1.0.
|
||||
#~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
@@ -13,7 +13,7 @@ else { . = "." ; }
|
||||
|
||||
# Info about what we are building.
|
||||
NAME = boost-jam ;
|
||||
VERSION = 3$(.)1$(.)10 ;
|
||||
VERSION = 3$(.)1$(.)11 ;
|
||||
RELEASE = 1 ;
|
||||
LICENSE = 1_0 ;
|
||||
|
||||
@@ -317,6 +317,7 @@ if ! $(debug) || --noassert in $(ARGV)
|
||||
|
||||
# Bug fixes
|
||||
--defs += OPT_FIX_TARGET_VARIABLES_EXT ;
|
||||
#~ --defs += OPT_NO_EXTERNAL_VARIABLE_SPLIT ;
|
||||
|
||||
# Improvements
|
||||
--defs += OPT_IMPROVED_PATIENCE_EXT ;
|
||||
@@ -348,15 +349,15 @@ ALWAYS clean ;
|
||||
# Utility rules and actions...
|
||||
rule .clean
|
||||
{
|
||||
.rm. clean : $(<) ;
|
||||
[DELETE] clean : $(<) ;
|
||||
}
|
||||
if $(NT) { actions piecemeal together existing .rm. {
|
||||
if $(NT) { actions piecemeal together existing [DELETE] {
|
||||
del /F /Q $(>)
|
||||
} }
|
||||
if $(UNIX) { actions piecemeal together existing .rm. {
|
||||
if $(UNIX) { actions piecemeal together existing [DELETE] {
|
||||
rm -f $(>)
|
||||
} }
|
||||
if $(VMS) { actions piecemeal together existing .rm. {
|
||||
if $(VMS) { actions piecemeal together existing [DELETE] {
|
||||
DELETE $(>[--2]:J=";*, ") $(>[-1]);*
|
||||
} }
|
||||
if $(NT) {
|
||||
@@ -373,15 +374,15 @@ rule .mkdir
|
||||
{
|
||||
NOUPDATE $(<) ;
|
||||
if $(<:P) { DEPENDS $(<) : $(<:P) ; .mkdir $(<:P) ; }
|
||||
if ! $(md<$(<)>) { .mkdir. $(<) ; md<$(<)> = - ; }
|
||||
if ! $(md<$(<)>) { [MKDIR] $(<) ; md<$(<)> = - ; }
|
||||
}
|
||||
if $(NT) { actions .mkdir. {
|
||||
if $(NT) { actions [MKDIR] {
|
||||
md $(<)
|
||||
} }
|
||||
if $(UNIX) { actions .mkdir. {
|
||||
if $(UNIX) { actions [MKDIR] {
|
||||
mkdir $(<)
|
||||
} }
|
||||
if $(VMS) { actions .mkdir. {
|
||||
if $(VMS) { actions [MKDIR] {
|
||||
CREATE/DIR $(<J=", ")
|
||||
} }
|
||||
|
||||
@@ -401,33 +402,33 @@ rule .exe
|
||||
DEPENDS $(exe) : $(o) ;
|
||||
DEPENDS $(o) : $(s) ;
|
||||
DEPENDS $(o) : $(locate-target) ;
|
||||
.cc. $(o) : $(s) ;
|
||||
[COMPILE] $(o) : $(s) ;
|
||||
.clean $(o) ;
|
||||
}
|
||||
DEPENDS $(exe) : $(>:S=.o) ;
|
||||
DEPENDS $(exe) : $(locate-target) ;
|
||||
.ld. $(exe) : $(>:S=.o) ;
|
||||
[COMPILE.LINK] $(exe) : $(>:S=.o) ;
|
||||
.clean $(exe) ;
|
||||
}
|
||||
else
|
||||
{
|
||||
DEPENDS $(exe) : $(>) ;
|
||||
DEPENDS $(exe) : $(locate-target) ;
|
||||
.cc. $(exe) : $(>) ;
|
||||
[COMPILE] $(exe) : $(>) ;
|
||||
.clean $(exe) ;
|
||||
}
|
||||
return $(exe) ;
|
||||
}
|
||||
if ! $(--def[2]) { actions .cc. {
|
||||
if ! $(--def[2]) { actions [COMPILE] {
|
||||
"$(--cc)" $(--bin)$(<:D=) $(--dir)$(<:D) $(--out)$(<) $(--def)$(--defs) $(--flags) "$(--libs)" $(>)
|
||||
} }
|
||||
else { actions .cc. {
|
||||
else { actions [COMPILE] {
|
||||
"$(--cc)" $(--bin)$(<:D=) $(--dir)$(<:D) $(--out)$(<) $(--def[1])$(--defs:J=$(--def[2]))$(--def[3]) $(--flags) "$(--libs)" $(>)
|
||||
} }
|
||||
if $(VMS) { actions .ld. {
|
||||
if $(VMS) { actions [COMPILE.LINK] {
|
||||
"$(--link)" $(--link-bin)$(<:D=) $(--link-dir)$(<:D) $(--link-out)$(<) $(--link-def)$(--link-defs) $(--link-flags) "$(--link-libs)" $(>J=", ")
|
||||
} }
|
||||
else { actions .ld. {
|
||||
else { actions [COMPILE.LINK] {
|
||||
"$(--link)" $(--link-bin)$(<:D=) $(--link-dir)$(<:D) $(--link-out)$(<) $(--link-def)$(--link-defs) $(--link-flags) "$(--link-libs)" $(>)
|
||||
} }
|
||||
|
||||
@@ -435,32 +436,32 @@ rule .link
|
||||
{
|
||||
DEPENDS all : $(<) ;
|
||||
DEPENDS $(<) : $(>) ;
|
||||
.link. $(<) : $(>) ;
|
||||
[LINK] $(<) : $(>) ;
|
||||
.clean $(<) ;
|
||||
}
|
||||
if $(NT) { actions .link. {
|
||||
if $(NT) { actions [LINK] {
|
||||
copy $(>) $(<)
|
||||
} }
|
||||
if $(UNIX) { actions .link. {
|
||||
ln -f $(>) $(<)
|
||||
if $(UNIX) { actions [LINK] {
|
||||
ln -fs $(>) $(<)
|
||||
} }
|
||||
if $(VMS) { actions .link. {
|
||||
if $(VMS) { actions [LINK] {
|
||||
COPY/REPLACE $(>) $(<)
|
||||
} }
|
||||
|
||||
rule .move
|
||||
{
|
||||
DEPENDS $(<) : $(>) ;
|
||||
.move. $(<) : $(>) ;
|
||||
[MOVE] $(<) : $(>) ;
|
||||
}
|
||||
if $(NT) { actions .move. {
|
||||
if $(NT) { actions [MOVE] {
|
||||
del /f $(<)
|
||||
rename $(>) $(<)
|
||||
} }
|
||||
if $(UNIX) { actions .move. {
|
||||
if $(UNIX) { actions [MOVE] {
|
||||
mv -f $(>) $(<)
|
||||
} }
|
||||
if $(VMS) { actions .move. {
|
||||
if $(VMS) { actions [MOVE] {
|
||||
RENAME $(>) $(<)
|
||||
} }
|
||||
|
||||
@@ -472,9 +473,9 @@ rule .yyacc
|
||||
DEPENDS $(<) : $(exe) $(>) ;
|
||||
LEAVES $(<) ;
|
||||
yyacc.exe on $(<) = $(exe:R=$(locate-target)) ;
|
||||
.yyacc. $(<) : $(>) ;
|
||||
[YYACC] $(<) : $(>) ;
|
||||
}
|
||||
actions .yyacc. {
|
||||
actions [YYACC] {
|
||||
$(--chmod+w)$(<[1])
|
||||
$(--chmod+w)$(<[2])
|
||||
"$(yyacc.exe)" $(<) $(>)
|
||||
@@ -483,7 +484,7 @@ if $(grammar)
|
||||
{
|
||||
.yyacc jamgram.y jamgramtab.h : jamgram.yy ;
|
||||
}
|
||||
else
|
||||
else if $(debug)
|
||||
{
|
||||
.exe yyacc : yyacc.c ;
|
||||
}
|
||||
@@ -517,9 +518,9 @@ rule .yacc
|
||||
{
|
||||
DEPENDS $(<) : $(>) ;
|
||||
LEAVES $(<) ;
|
||||
.yacc. $(<) : $(>) ;
|
||||
[YACC] $(<) : $(>) ;
|
||||
}
|
||||
if $(NT) { actions .yacc. {
|
||||
if $(NT) { actions [YACC] {
|
||||
"$(yacc)" $(>)
|
||||
if not errorlevel 1 (
|
||||
del /f $(<[1])
|
||||
@@ -528,7 +529,7 @@ if $(NT) { actions .yacc. {
|
||||
rename y.tab$(<[2]:S) $(<[2])
|
||||
) else set _error_ =
|
||||
} }
|
||||
if $(UNIX) { actions .yacc. {
|
||||
if $(UNIX) { actions [YACC] {
|
||||
if ` "$(yacc)" $(>) ` ; then
|
||||
mv -f y.tab$(<[1]:S) $(<[1])
|
||||
mv -f y.tab$(<[2]:S) $(<[2])
|
||||
@@ -536,7 +537,7 @@ if $(UNIX) { actions .yacc. {
|
||||
exit 1
|
||||
fi
|
||||
} }
|
||||
if $(VMS) { actions .yacc. {
|
||||
if $(VMS) { actions [YACC] {
|
||||
IF "$(yacc)" $(>)
|
||||
THEN
|
||||
RENAME y_tab$(<[1]:S) $(<[1])
|
||||
@@ -559,38 +560,50 @@ rule .mkjambase
|
||||
DEPENDS $(<) : $(exe) $(>) ;
|
||||
LEAVES $(<) ;
|
||||
mkjambase.exe on $(<) = $(exe:R=$(locate-target)) ;
|
||||
.mkjambase. $(<) : $(>) ;
|
||||
[MKJAMBASE] $(<) : $(>) ;
|
||||
}
|
||||
actions .mkjambase. {
|
||||
actions [MKJAMBASE] {
|
||||
$(--chmod+w)$(<)
|
||||
$(mkjambase.exe) $(<) $(>)
|
||||
}
|
||||
.mkjambase jambase.c : Jambase ;
|
||||
if $(debug)
|
||||
{
|
||||
.mkjambase jambase.c : Jambase ;
|
||||
}
|
||||
|
||||
# How to build Jam.
|
||||
rule .jam
|
||||
{
|
||||
$(>).exe = [ .exe $(>) : $(jam.source) ] ;
|
||||
$(<).exe = $(<:S=$($(>).exe:S)) ;
|
||||
LOCATE on $($(<).exe) = $(locate-target) ;
|
||||
.link $($(<).exe) : $($(>).exe) ;
|
||||
DEPENDS all : $($(>).exe) ;
|
||||
|
||||
DEPENDS all : $($(>).exe) $($(<).exe) ;
|
||||
if $(debug)
|
||||
{
|
||||
$(<).exe = $(<:S=$($(>).exe:S)) ;
|
||||
LOCATE on $($(<).exe) = $(locate-target) ;
|
||||
.link $($(<).exe) : $($(>).exe) ;
|
||||
DEPENDS all : $($(<).exe) ;
|
||||
}
|
||||
}
|
||||
.jam bjam : jam ;
|
||||
.jam jam : bjam ;
|
||||
|
||||
# Scan sources for header dependencies.
|
||||
# WARNING: Yes those are *REAL TABS* below. DO NOT CHANGE,
|
||||
# under any circumstances, to spaces!! And the tabs
|
||||
# indenting this are so that if someone is in the mood to
|
||||
# replace tabs they hit this comment, and hopefully notice
|
||||
# their error.
|
||||
rule .scan
|
||||
{
|
||||
HDRRULE on $(<:D=) = .hdr.scan ;
|
||||
HDRSCAN on $(<:D=) = "^[ ]*#[ ]*include[ ]*[<\"]([^\">]*)[\">].*$" ;
|
||||
HDRSCAN on $(<:D=) = "^[ ]*#[ ]*include[ ]*([<\"][^\">]*[\">]).*$" ;
|
||||
}
|
||||
rule .hdr.scan
|
||||
{
|
||||
local hdrs = [ GLOB . : $(>:D=) ] ;
|
||||
INCLUDES $(<:D=) : $(hdrs:D=) ;
|
||||
HDRRULE on $(>:D=) = .hdr.scan ;
|
||||
HDRSCAN on $(>:D=) = "^[ ]*#[ ]*include[ ]*[<\"]([^\">]*)[\">].*$" ;
|
||||
HDRSCAN on $(>:D=) = "^[ ]*#[ ]*include[ ]*([<\"][^\">]*[\">]).*$" ;
|
||||
}
|
||||
.scan [ GLOB . : *.c ] ;
|
||||
|
||||
@@ -637,34 +650,34 @@ dist.bin =
|
||||
|
||||
if $(NT)
|
||||
{
|
||||
zip ?= [ GLOB "$(ProgramFiles:J= )\\7-ZIP" "C:\\Program Files\\7-ZIP" : "7zn.exe" ] ;
|
||||
zip ?= [ GLOB "$(ProgramFiles:J= )\\7-ZIP" "C:\\Program Files\\7-ZIP" : "7z.exe" "7zn.exe" ] ;
|
||||
zip ?= [ GLOB $(PATH) : zip.exe ] ;
|
||||
zip ?= zip ;
|
||||
zip = $(zip[1]) ;
|
||||
switch $(zip:D=:S=)
|
||||
{
|
||||
case 7zn : zip += a -r -tzip ;
|
||||
case 7z* : zip += a -r -tzip -mx=9 ;
|
||||
case zip : zip += -9r ;
|
||||
}
|
||||
actions piecemeal .pack. {
|
||||
actions piecemeal [PACK] {
|
||||
"$(zip)" "$(<)" "$(>)"
|
||||
}
|
||||
actions piecemeal .zip. {
|
||||
actions piecemeal [ZIP] {
|
||||
"$(zip)" "$(<)" "$(>)"
|
||||
}
|
||||
actions piecemeal .cp. {
|
||||
copy /Y "$(>)" "$(<)"
|
||||
actions piecemeal [COPY] {
|
||||
copy /Y "$(>)" "$(<)" >NUL:
|
||||
}
|
||||
}
|
||||
if $(UNIX)
|
||||
{
|
||||
actions .pack. {
|
||||
actions [PACK] {
|
||||
tar zcf "$(<)" "$(>)"
|
||||
}
|
||||
actions .zip. {
|
||||
actions [ZIP] {
|
||||
gzip -c9 "$(>)" > "$(<)"
|
||||
}
|
||||
actions .cp. {
|
||||
actions [COPY] {
|
||||
cp -Rpf "$(>)" "$(<)"
|
||||
}
|
||||
}
|
||||
@@ -679,8 +692,8 @@ rule .binary
|
||||
DEPENDS $(zip) : $($(<).exe) ;
|
||||
DEPENDS dist : $(zip) ;
|
||||
#~ LOCATE on $(zip) = $(locate-target) ;
|
||||
if $(NT) { .zip. $(zip) : $($(<).exe) ; }
|
||||
if $(UNIX) { .pack. $(zip) : $($(<).exe) ; }
|
||||
if $(NT) { [ZIP] $(zip) : $($(<).exe) ; }
|
||||
if $(UNIX) { [PACK] $(zip) : $($(<).exe) ; }
|
||||
.clean $(zip) ;
|
||||
}
|
||||
|
||||
@@ -715,11 +728,11 @@ rule .package ( dst-dir : src-files + )
|
||||
DEPENDS $(dst-file) : $(src-path) $(dst-file:D) ;
|
||||
.mkdir $(dst-file:D) ;
|
||||
|
||||
.cp. $(dst-file) : $(src-path) ;
|
||||
[COPY] $(dst-file) : $(src-path) ;
|
||||
.clean $(dst-file) ;
|
||||
}
|
||||
|
||||
.pack. $(pack) : $(dst-files) ;
|
||||
[PACK] $(pack) : $(dst-files) ;
|
||||
.clean $(pack) ;
|
||||
}
|
||||
|
||||
@@ -749,10 +762,10 @@ rule .rpm ( name : source )
|
||||
arch on $(target) = $(rpm-arch) ;
|
||||
if $(rpm-arch) = ppc { target-opt on $(target) = --target= ; }
|
||||
else { target-opt on $(target) = "--target " ; }
|
||||
.rpm. $(target) : $(source) ;
|
||||
[RPM] $(target) : $(source) ;
|
||||
.clean $(name).$(rpm-arch).rpm $(name).src.rpm ;
|
||||
}
|
||||
actions .rpm. {
|
||||
actions [RPM] {
|
||||
export BOOST_JAM_TOOLSET="$(toolset)"
|
||||
$(rpm-tool[1]) -ta $(target-opt)$(arch) $(>) | tee rpm.out
|
||||
cp `grep -e '^Wrote:' rpm.out | sed 's/^Wrote: //'` .
|
||||
|
||||
@@ -1,3 +1,15 @@
|
||||
bjam (3.1.11-1) unstable; urgency=low
|
||||
|
||||
* New upstream release.
|
||||
|
||||
-- Rene Rivera <grafik@redshift-software.com> Sat, 30 Apr 2005 00:00:00 +0000
|
||||
|
||||
bjam (3.1.10-1) unstable; urgency=low
|
||||
|
||||
* New upstream release.
|
||||
|
||||
-- Rene Rivera <grafik@redshift-software.com> Tue, 1 Jun 2004 05:42:35 +0000
|
||||
|
||||
bjam (3.1.9-2) unstable; urgency=low
|
||||
|
||||
* Use default value of BOOST_BUILD_PATH is not is set in environment.
|
||||
|
||||
@@ -18,7 +18,7 @@ Copyright:
|
||||
Some portions are also:
|
||||
|
||||
Copyright 2001-2004 David Abrahams.
|
||||
Copyright 2002-2004 Rene Rivera.
|
||||
Copyright 2002-2005 Rene Rivera.
|
||||
|
||||
Distributed under the Boost Software License, Version 1.0.
|
||||
(See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
@@ -269,7 +269,7 @@ int main( int argc, char **argv, char **arg_environ )
|
||||
printf( " Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc. \n" );
|
||||
printf( " Copyright 2001 David Turner.\n" );
|
||||
printf( " Copyright 2001-2004 David Abrahams.\n" );
|
||||
printf( " Copyright 2002-2004 Rene Rivera.\n" );
|
||||
printf( " Copyright 2002-2005 Rene Rivera.\n" );
|
||||
|
||||
return EXITOK;
|
||||
}
|
||||
@@ -347,7 +347,7 @@ int main( int argc, char **argv, char **arg_environ )
|
||||
{
|
||||
/* Pleace don't change the following line. The 'bump_version.py' script
|
||||
expect a specific format of it. */
|
||||
char *major_version = "03", *minor_version = "01", *changenum = "10";
|
||||
char *major_version = "03", *minor_version = "01", *changenum = "11";
|
||||
var_set( "JAM_VERSION",
|
||||
list_new( list_new( list_new( L0, newstr( major_version ) ),
|
||||
newstr( minor_version ) ),
|
||||
|
||||
@@ -7,5 +7,5 @@
|
||||
/* Keep JAMVERSYM in sync with VERSION. */
|
||||
/* It can be accessed as $(JAMVERSION) in the Jamfile. */
|
||||
|
||||
#define VERSION "3.1.10"
|
||||
#define VERSION "3.1.11"
|
||||
#define JAMVERSYM "JAMVERSION=3.1"
|
||||
|
||||
@@ -110,10 +110,14 @@ var_defines( char **e )
|
||||
{
|
||||
LIST *l = L0;
|
||||
char *pp, *p;
|
||||
# ifdef OPT_NO_EXTERNAL_VARIABLE_SPLIT
|
||||
char split = '\0';
|
||||
# else
|
||||
# ifdef OS_MAC
|
||||
char split = ',';
|
||||
# else
|
||||
char split = ' ';
|
||||
# endif
|
||||
# endif
|
||||
size_t len = strlen(val + 1);
|
||||
if ( val[1] == '"' && val[len] == '"')
|
||||
|
||||
Reference in New Issue
Block a user