Merge branch 'master' of ssh://git.dcc.fc.up.pt/yap-6.3

Conflicts:
	.gitmodules
	configure
	packages/real
This commit is contained in:
Vítor Santos Costa 2012-02-01 20:57:42 +00:00
commit c4ee7ee0c3
12 changed files with 4499 additions and 14486 deletions

7
.gitmodules vendored
View File

@ -31,12 +31,13 @@
[submodule "packages/R"]
path = packages/R
url = git://yap.git.sourceforge.net/gitroot/yap/R
[submodule "packages/YapR"]
path = packages/YapR
url = git://yap.git.sourceforge.net/gitroot/yap/YapR
[submodule "packages/pldoc"]
path = packages/pldoc
url = git://yap.git.sourceforge.net/gitroot/yap/pldoc
[submodule "packages/real"]
path = packages/real
<<<<<<< HEAD
url = vsc@www.swi-prolog.org:/home/pl/git/packages/real.git
=======
url = git://www.swi-prolog.org/home/pl/git/packages/real.git
>>>>>>> 7e73c781b06cb917d5a065ead5f872c28da619f1

View File

@ -555,6 +555,8 @@ X_API Term STD_PROTO(YAP_NewOpaqueObject,(int, size_t));
X_API void *STD_PROTO(YAP_OpaqueObjectFromTerm,(Term));
X_API int STD_PROTO(YAP_Argv,(char *** argvp));
X_API YAP_tag_t STD_PROTO(YAP_TagOfTerm,(Term));
X_API int STD_PROTO(YAP_ExportTerm,(Term, char *, size_t));
X_API Term STD_PROTO(YAP_ImportTerm,(char *));
static int
dogc( USES_REGS1 )
@ -3987,3 +3989,13 @@ YAP_IsNumberedVariable(Term t) {
IsIntegerTerm(ArgOfTerm(1,t));
}
X_API int
YAP_ExportTerm(Term inp, char * buf, size_t len) {
return Yap_ExportTerm(inp, buf, len);
}
X_API Term
YAP_ImportTerm(char * buf) {
return Yap_ImportTerm(buf);
}

View File

@ -702,7 +702,7 @@ all: startup.yss
@ENABLE_RDF@ @INSTALL_DLLS@ (cd packages/RDF; $(MAKE))
@ENABLE_SEMWEB@ @INSTALL_DLLS@ (cd packages/semweb; $(MAKE))
@ENABLE_SGML@ @INSTALL_DLLS@ (cd packages/sgml; $(MAKE))
@ENABLE_YAPR@ (cd packages/YapR; $(MAKE))
@ENABLE_REAL@ (cd packages/real; $(MAKE))
@ENABLE_CLPBN_BP@ (cd packages/CLPBN/clpbn/bp ; $(MAKE))
@ENABLE_MINISAT@ (cd packages/swi-minisat2/C; $(MAKE))
@ENABLE_ZLIB@ @INSTALL_DLLS@ (cd packages/zlib; $(MAKE))
@ -774,7 +774,7 @@ install_unix: startup.yss libYap.a
@ENABLE_CLPBN_BP@ @INSTALL_DLLS@ (cd packages/CLPBN/clpbn/bp ; $(MAKE) install)
@ENABLE_MINISAT@ (cd packages/swi-minisat2/C; $(MAKE) install)
@INSTALL_MATLAB@ (cd library/matlab; $(MAKE) install)
@ENABLE_YAPR@ (cd packages/YapR; $(MAKE) install)
@ENABLE_REAL@ (cd packages/real; $(MAKE) install)
@ENABLE_JPL@ @INSTALL_DLLS@ (cd packages/jpl; $(MAKE) install)
#@ENABLE_JPL@ @INSTALL_DLLS@ (cd packages/pyswip; $(MAKE) install)
mkdir -p $(DESTDIR)$(INCLUDEDIR)
@ -822,7 +822,7 @@ install_win32: startup.yss @ENABLE_WINCONSOLE@ pl-yap@EXEC_SUFFIX@
(cd library/system; $(MAKE) install)
@ENABLE_WINCONSOLE@ (cd LGPL/swi_console; $(MAKE) install)
@INSTALL_MATLAB@ (cd library/matlab; $(MAKE) install)
@ENABLE_YAPR@ (cd packages/YapR; $(MAKE) install)
@ENABLE_REAL@ (cd packages/real; $(MAKE) install)
(cd library/tries; $(MAKE) install)
@ENABLE_CLIB@ (cd packages/clib; $(MAKE) install)
@ENABLE_PLDOC@ (cd packages/pldoc; $(MAKE) install)
@ -895,7 +895,7 @@ clean: clean_docs
@ENABLE_RDF@ @INSTALL_DLLS@ (cd packages/RDF; $(MAKE) clean)
@ENABLE_SEMWEB@ @INSTALL_DLLS@ (cd packages/semweb; $(MAKE) clean)
@ENABLE_SGML@ @INSTALL_DLLS@ (cd packages/sgml; $(MAKE) clean)
@ENABLE_YAPR@ (cd packages/YapR; $(MAKE) clean)
@ENABLE_REAL@ (cd packages/real; $(MAKE) clean)
@ENABLE_MINISAT@ (cd packages/swi-minisat2; $(MAKE) clean)
@ENABLE_CLPBN_BP@ (cd packages/CLPBN/clpbn/bp; $(MAKE) clean)
@ENABLE_ZLIB@ @INSTALL_DLLS@ (cd packages/zlib; $(MAKE) clean)

View File

@ -22,25 +22,11 @@
/* What MPI libraries are there? */
#define HAVE_LIBMPI 0
#define HAVE_LIBMPICH 0
/* Should we use MPI ? */
#if HAVE_LIBMPI || HAVE_LIBMPICH
#define HAVE_MPI 1
#else
#define HAVE_MPI 0
#endif
#define HAVE_LIBMPICH
/* Is there an MPE library? */
#define HAVE_LIBMPE 0
/* Should we use MPE ? */
#if HAVE_LIBMPE && HAVE_MPI
#define HAVE_MPE 1
#else
#define HAVE_MPE 0
#endif
/* does the compiler support inline ? */
#undef inline
@ -325,7 +311,7 @@
#endif
/* Should we use MPI ? */
#if defined(HAVE_MPI_H) && (HAVE_LIBMPI || HAVE_LIBMPICH)
#if defined(HAVE_MPI_H) && (defined(HAVE_LIBMPI) || defined(HAVE_LIBMPICH))
#define HAVE_MPI 1
#else
#define HAVE_MPI 0

18678
configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -232,16 +232,16 @@ AC_ARG_WITH(gmp,
fi,
[yap_cv_gmp=yes])
AC_ARG_WITH(yapr,
[ --with-yapr[=DIR] interface to R language, R installed in DIR],
AC_ARG_WITH(real,
[ --with-real[=DIR] interface to R language],
if test "$withval" = yes; then
yap_cv_yapr=yes
yap_cv_real=yes
elif test "$withval" = no; then
yap_cv_yapr=no
yap_cv_real=no
else
yap_cv_yapr=$with_yapr
yap_cv_real=$with_real
fi,
[yap_cv_yapr=no])
[yap_cv_real=yes])
dnl best test we could do.
AC_ARG_WITH(minisat,
@ -356,6 +356,7 @@ AC_ARG_WITH(matlab,
AC_ARG_WITH(mpi,
[ --with-mpi[=DIR] use MPI library in DIR],
if test "$withval" = yes; then
dnl handle UBUNTU systems
yap_cv_mpi=yes
elif test "$withval" = no; then
yap_cv_mpi=no
@ -383,7 +384,7 @@ AC_ARG_WITH(mpe,
AC_ARG_WITH(lam,
[ --with-lam[=DIR] use LAM MPI library in DIR],
if test "$withval" = yes; then
yap_cv_lam=yes
yap_cv_lam=yes
elif test "$withval" = no; then
yap_cv_lam=no
else
@ -391,7 +392,7 @@ AC_ARG_WITH(lam,
LDFLAGS="$LDFLAGS -L${yap_cv_lam}/lib/lam"
CPPFLAGS="$CPPFLAGS -I${yap_cv_lam}/include"
fi,
[yap_cv_lam=no])
[yap_cv_lam=yes])
AC_ARG_WITH(heap-space,
[ --with-heap-space[=space] default heap size in Kbytes],
@ -519,16 +520,6 @@ else
INSTALL_MATLAB=""
fi
if test "$yap_cv_yapr" = no
then
ENABLE_YAPR="@# "
elif test -e "$srcdir"/packages/YapR/Makefile.in
then
ENABLE_YAPR=""
else
ENABLE_YAPR="@# "
fi
if test "$yap_cv_clpbn_bp" = no
then
ENABLE_CLPBN_BP="@# "
@ -745,54 +736,68 @@ then
AC_CHECK_LIB(gmp,main)
fi
if test "$yap_cv_yapr" != "no"
then
if test "$yap_cv_yapr" = "yes"
if test "$yap_cv_real" = "no"; then
REAL_TARGET="dummy"
ENABLE_REAL="@# "
elif test -e "$srcdir"/packages/real/Makefile.in ; then
REAL_TARGET="ritf"
ENABLE_REAL=""
AC_CHECK_PROGS(REXE, R, "none")
if test "$yap_cv_yapr" != "yes"
then
case "$target_os" in
case "$target_os" in
*darwin*)
YAPR_INCLUDES="-I/Library/Frameworks/R.framework/Headers"
EXTRA_LIBS_FOR_R="-framework R -L /Library/Frameworks/R.framework/Libraries -lR"
REAL_INCLUDES="-I/Library/Frameworks/R.framework/Headers"
REAL_LIBS="-framework R -L /Library/Frameworks/R.framework/Libraries -lR"
;;
*cygwin*|*mingw*)
REAL_INCLUDES="$($REXE CMD config --cppflags | grep -v ^WARNING)"
REAL_LIBS="$($REXE CMD config --ldflags | grep -v ^WARNING)"
;;
**)
dnl R is spread all over the place
dnl one of the two may work (Fedora/Ubuntu)
if test -n "$R_HOME" ; then
YAPR_INCLUDES="-I$R_HOME/include"
REAL_INCLUDES="-I$R_HOME/include"
elif test "$YAP_TARGET" = amd64 -a -d /usr/lib64/R/include ; then
YAPR_INCLUDES="-I/usr/lib64/R/include"
REAL_INCLUDES="-I/usr/lib64/R/include"
elif test -d /usr/include/R; then
YAPR_INCLUDES="-I/usr/include/R"
REAL_INCLUDES="-I/usr/include/R"
elif test -d /usr/share/R/include; then
YAPR_INCLUDES="-I/usr/share/R/include"
REAL_INCLUDES="-I/usr/share/R/include"
else
REAL_INCLUDES="$($REXE CMD config --cppflags | grep -v ^WARNING)"
fi
echo $YAP_TARGET
if test -n "$R_HOME" ; then
EXTRA_LIBS_FOR_R="-I$R_HOME/lib -lR"
REAL_LIBS="-L $R_HOME/lib -lR"
elif test "$YAP_TARGET" = amd64 -a -d /usr/lib64/R/lib; then
EXTRA_LIBS_FOR_R="-L /usr/lib64/R/lib -lR"
REAL_LIBS="-L /usr/lib64/R/lib -lR"
elif test -d /usr/lib/R; then
EXTRA_LIBS_FOR_R="-L /usr/lib/R/lib -lR"
REAL_LIBS="-L /usr/lib/R/lib -lR"
else
REAL_LIBS="$($REXE CMD config --ldflags | grep -v ^WARNING)"
fi
;;
esac
else
case "$target_os" in
*cygwin*|*mingw*)
YAPR_INCLUDES="-I\"$yap_cv_yapr/include\""
REAL_INCLUDES="-I\"$yap_cv_real/include\""
if test "$YAP_TARGET" = i386; then
EXTRA_LIBS_FOR_R="\"$yap_cv_yapr/bin/i386/R.dll\""
REAL_LIBS="\"$yap_cv_real/bin/i386/R.dll\""
else
EXTRA_LIBS_FOR_R="\"$yap_cv_yapr/bin/x64/R.dll\""
REAL_LIBS="\"$yap_cv_real/bin/x64/R.dll\""
fi
;;
*)
YAPR_INCLUDES="-I$yap_cv_yapr/include"
EXTRA_LIBS_FOR_R="-L $yap_cv_yapr/lib -lR"
REAL_INCLUDES="-I$yap_cv_real/include"
REAL_LIBS="-L $yap_cv_real/lib -lR"
;;
esac
fi
AC_CHECK_LIB(R,main)
fi
else
REAL_TARGET="dummy"
ENABLE_REAL="@# "
fi
dnl if test "$yap_cv_cudd" != "no"
@ -1014,55 +1019,6 @@ else
ENABLE_JPL="@#"
fi
LAM_MPI_CC=${MPI_CC}
MPI_OBJS=
if test "$yap_cv_mpi" != "no"
then
OLD_CC=${CC}
CC=${MPI_CC}
AC_CHECK_LIB(mpi,MPI_Init,
[AC_DEFINE(HAVE_LIBMPI, 1)],
[AC_DEFINE(HAVE_LIBMPI, 0)])
if test "$ac_cv_lib_mpi_MPI_Init" = yes
then
#YAPMPILIB=YapMPI.a
MPI_OBJS=mpi.o
else
AC_CHECK_LIB(mpich,MPI_Init,
[AC_DEFINE(HAVE_LIBMPICH, 1)],
[AC_DEFINE(HAVE_LIBMPICH, 0)])
if test "$ac_cv_lib_mpich_MPI_Init" = yes
then
#YAPMPILIB=YapMPI.a
MPI_OBJS=mpi.o
else
#YAPMPILIB=
MPI_CC=${CC}
fi
fi
CC=${OLD_CC}
else
# MPI_CC=${MPI_CC}
MPI_CC=${CC}
fi
MPI_LIBS=
if test "$yap_cv_mpi" != "no" -a "$yap_cv_mpe" != "no"
then
OLD_CC=${CC}
CC=${MPI_CC}
AC_CHECK_LIB(mpe,MPE_Init_log,
[AC_DEFINE(HAVE_LIBMPE, 1)],
[AC_DEFINE(HAVE_LIBMPE, 0)])
if test "$ac_cv_lib_mpe_MPE_Init_log" = yes
then
MPI_LIBS="-lmpe"
MPI_OBJS="$MPI_OBJS mpe.o"
fi
CC=${OLD_CC}
fi
AC_PROG_CPP
if test "$cross_compiling" = "yes"
@ -1499,6 +1455,75 @@ if test "$tabling" = "yes"
then
YAP_EXTRAS="$YAP_EXTRAS -DTABLING=1"
fi
dnl LAM/MPI interface
LAM_MPI_CC=${MPI_CC}
if test "$yap_cv_lam" = "yes" ; then
if test -e /usr/lib/openmpi; then
CPPFLAGS="$CPPFLAGS -I/usr/lib/openmpi/include"
LDFLAGS="$LDFLAGS -L/usr/lib/openmpi/lib"
fi
fi
if test "$yap_cv_lam" != "no" ; then
OLD_CC=${CC}
CC=${LAM_MPI_CC}
AC_CHECK_HEADER(mpi.h, LAMOBJS=yap_mpi."$SO", LAMOBJS="")
AC_CHECK_HEADER(mpi.h)
CC=${OLD_CC}
fi
MPI_OBJS=
if test "$yap_cv_mpi" != "no"
then
OLD_CC=${CC}
CC=${MPI_CC}
AC_CHECK_LIB(mpi,MPI_Init,
[AC_DEFINE(HAVE_LIBMPI, 1)],
[AC_DEFINE(HAVE_LIBMPI, 0)])
if test "$ac_cv_lib_mpi_MPI_Init" = yes
then
#YAPMPILIB=YapMPI.a
MPI_OBJS=mpi.o
else
AC_CHECK_LIB(mpich,MPI_Init,
[AC_DEFINE(HAVE_LIBMPICH, 1)],
[AC_DEFINE(HAVE_LIBMPICH, 0)])
if test "$ac_cv_lib_mpich_MPI_Init" = yes
then
#YAPMPILIB=YapMPI.a
MPI_OBJS=mpi.o
else
#YAPMPILIB=
MPI_CC=${CC}
fi
fi
AC_CHECK_HEADERS(mpi.h)
CC=${OLD_CC}
else
# MPI_CC=${MPI_CC}
MPI_CC=${CC}
fi
MPI_LIBS=
if test "$yap_cv_mpi" != "no" -a "$yap_cv_mpe" != "no"
then
OLD_CC=${CC}
CC=${MPI_CC}
AC_CHECK_LIB(mpe,MPE_Init_log,
[AC_DEFINE(HAVE_LIBMPE, 1)],
[AC_DEFINE(HAVE_LIBMPE, 0)])
if test "$ac_cv_lib_mpe_MPE_Init_log" = yes
then
MPI_LIBS="-lmpe"
MPI_OBJS="$MPI_OBJS mpe.o"
fi
AC_CHECK_HEADERS(mpe.h)
CC=${OLD_CC}
fi
if test ! "$yap_cv_cplint" = "no"
then
if test ! "$yap_cv_cplint" = "yes"
@ -1562,14 +1587,6 @@ AC_SUBST(ZLIB_INSTALL)
fi
dnl LAM
OLD_CC=${CC}
CC=${LAM_MPI_CC}
AC_CHECK_LIB([lam], [main],
LAMOBJS=yap_mpi."$SO",
LAMOBJS=no)
CC=${OLD_CC}
dnl Checks for header files.
AC_HEADER_STDC
AC_HEADER_SYS_WAIT
@ -1577,7 +1594,7 @@ AC_CHECK_HEADERS(arpa/inet.h alloca.h crypt.h)
AC_CHECK_HEADERS(ctype.h direct.h dirent.h dlfcn.h)
AC_CHECK_HEADERS(errno.h execinfo.h fcntl.h fenv.h)
AC_CHECK_HEADERS(float.h fpu_control.h ieeefp.h io.h limits.h)
AC_CHECK_HEADERS(locale.h malloc.h math.h memory.h mpi.h)
AC_CHECK_HEADERS(locale.h malloc.h math.h memory.h)
AC_CHECK_HEADERS(netdb.h netinet/in.h netinet/tcp.h pwd.h regex.h)
AC_CHECK_HEADERS(siginfo.h signal.h stdarg.h stdint.h string.h stropts.h)
AC_CHECK_HEADERS(sys/conf.h sys/dir.h sys/file.h)
@ -1607,8 +1624,6 @@ then
AC_CHECK_HEADERS( readline/history.h)
AC_CHECK_FUNCS( rl_completion_matches rl_clear_pending_input rl_cleanup_after_signal rl_event_hook rl_filename_completion_function rl_free_line_state rl_insert_close rl_set_prompt rl_state_initialized )
fi
AC_CHECK_HEADERS(mpi.h)
AC_CHECK_HEADERS(mpe.h)
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_INLINE
@ -1751,9 +1766,10 @@ AC_SUBST(ENABLE_CUDD)
AC_SUBST(CUDD_LDFLAGS)
AC_SUBST(CUDD_CPPFLAGS)
AC_SUBST(ENABLE_MINISAT)
AC_SUBST(ENABLE_YAPR)
AC_SUBST(YAPR_INCLUDES)
AC_SUBST(EXTRA_LIBS_FOR_R)
AC_SUBST(ENABLE_REAL)
AC_SUBST(REAL_TARGET)
AC_SUBST(REAL_INCLUDES)
AC_SUBST(REAL_LIBS)
AC_SUBST(INSTALL_MATLAB)
AC_SUBST(MATLAB_INCLUDE)
AC_SUBST(INSTALL_PRISM)
@ -2265,7 +2281,7 @@ mkdir -p packages/ProbLog/simplecudd
mkdir -p packages/ProbLog/simplecudd_lfi
mkdir -p packages/R
mkdir -p packages/RDF
mkdir -p packages/YapR
mkdir -p packages/real
mkdir -p packages/semweb
mkdir -p packages/sgml
mkdir -p packages/zlib
@ -2343,7 +2359,7 @@ fi
if test "$ENABLE_ZLIB" = ""; then
AC_CONFIG_FILES([packages/zlib/Makefile])
fi
fi
if test "$ENABLE_CUDD" = ""; then
AC_CONFIG_FILES([packages/ProbLog/simplecudd/Makefile])
@ -2355,8 +2371,8 @@ AC_CONFIG_FILES([packages/swi-minisat2/Makefile])
AC_CONFIG_FILES([packages/swi-minisat2/C/Makefile])
fi
if test "$ENABLE_YAPR" = ""; then
AC_CONFIG_FILES([packages/YapR/Makefile])
if test "$ENABLE_REAL" = ""; then
AC_CONFIG_FILES([packages/real/Makefile])
fi
if test "$ENABLE_CLPBN_BP" = ""; then

View File

@ -589,6 +589,10 @@ extern X_API int *PROTO(YAP_Argv,(char ***));
extern X_API YAP_tag_t PROTO(YAP_TagOfTerm,(YAP_Term));
extern X_API int PROTO(YAP_ExportTerm,(YAP_Term, char *, size_t));
extern X_API YAP_Term PROTO(YAP_ImportTerm,(char *));
#define YAP_InitCPred(N,A,F) YAP_UserCPredicate(N,F,A)
__END_DECLS

View File

@ -129,15 +129,15 @@ change_buffer_size(const size_t newsize) {
* Function used by YAP to write a char to a string
*/
static void
p2c_putc(const int c) {
p2c_putt(const YAP_Term t) {
// if( buffer.size==buffer.len+1 )
if( BUFFER_SIZE==BUFFER_LEN ) {
while ((BUFFER_LEN=YAP_ExportTerm(t, BUFFER_PTR, BUFFER_SIZE)) <= 0) {
#ifdef DEBUG
write_msg(__FUNCTION__,__FILE__,__LINE__,"p2c_putc:buffer expanded: size=%u pos=%u len=%u\n",BUFFER_SIZE,BUFFER_POS,BUFFER_LEN);
write_msg(__FUNCTION__,__FILE__,__LINE__,"p2c_putc:buffer expanded: size=%u pos=%u len=%u\n",BUFFER_SIZE,BUFFER_POS,BUFFER_LEN);
#endif
expand_buffer( BLOCK_SIZE );
}
BUFFER_PTR[BUFFER_LEN++] = c;
}
/*
* Function used by YAP to read a char from a string
@ -149,12 +149,7 @@ size_t
write_term_to_stream(const int fd,const YAP_Term term) {
RESET_BUFFER;
YAP_Write( term, p2c_putc, 3); // 3=canonical
if (write(fd,(void*)&BUFFER_LEN,sizeof(size_t)) < 0) {// write size of term
YAP_Error(0,0,"Prolog2Term: IO error in write term size.\n");
return -1;
}
p2c_putt(term);
if (write(fd,(void*)BUFFER_PTR,BUFFER_LEN) < 0) { // write term
YAP_Error(0,0,"Prolog2Term: IO error in write.\n");
return -1;
@ -170,7 +165,9 @@ read_term_from_stream(const int fd) {
size_t size;
RESET_BUFFER;
read(fd,(void*)&size,sizeof(size_t)); // read the size of the term
if (!read(fd,(void*)&size,sizeof(size_t))) { // read the size of the term
YAP_Error(0,0,"Prolog2Term: IO error in read.\n");
}
#ifdef DEBUG
write_msg(__FUNCTION__,__FILE__,__LINE__,"read_term_from_stream>>>>size:%d\n",size);
#endif
@ -179,7 +176,7 @@ read_term_from_stream(const int fd) {
if (!read(fd,BUFFER_PTR,size)) {
YAP_Error(0,0,"Prolog2Term: IO error in read.\n");
}; // read term from stream
return YAP_ReadBuffer( BUFFER_PTR , NULL);
return YAP_ImportTerm( BUFFER_PTR);
}
/*********************************************************************************************
* Conversion: Prolog Term->char[] and char[]->Prolog Term
@ -195,8 +192,8 @@ term2string(char *const ptr,size_t *size, const YAP_Term t) {
RESET_BUFFER;
YAP_Write( t, p2c_putc, 3 );// canonical
p2c_putc('\0'); //add terminator
BUFFER_LEN = YAP_ExportTerm( t, ptr, *size );// canonical
if (BUFFER_LEN<=*size) { // user allocated buffer size is ok
memcpy(ptr,BUFFER_PTR,BUFFER_LEN); // copy data to user block
@ -230,7 +227,7 @@ string2term(char *const ptr,const size_t *size) {
b.ptr=NULL;
}
BUFFER_POS=0;
t = YAP_ReadBuffer( BUFFER_PTR , NULL );
t = YAP_ImportTerm( BUFFER_PTR );
if ( t==FALSE ) {
write_msg(__FUNCTION__,__FILE__,__LINE__,"FAILED string2term>>>>size:%d %d %s\n",BUFFER_SIZE,strlen(BUFFER_PTR),NULL);
exit(1);

@ -1 +0,0 @@
Subproject commit 59bde900ae05256190a1a74576541845993a0e1e

Binary file not shown.

Binary file not shown.

@ -1 +1 @@
Subproject commit b036f924cf96468b0e540d0d3050a64df6687d31
Subproject commit 06baa8a9663d092266b174cb9a4628dbc937d253