Recovered from cvs revision 2007-11-10 10:28:00
This commit is contained in:
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: Awk.cpp,v 1.47 2007/11/08 15:08:06 bacon Exp $
|
||||
* $Id: Awk.cpp,v 1.48 2007/11/09 08:09:29 bacon Exp $
|
||||
*/
|
||||
|
||||
#include <ase/awk/StdAwk.hpp>
|
||||
@ -315,7 +315,7 @@ protected:
|
||||
}
|
||||
else
|
||||
{
|
||||
int chunk = (left > ASE_TYPE_MAX(int))? ASE_TYPE_MAX(int): left;
|
||||
int chunk = (left > ASE_TYPE_MAX(int))? ASE_TYPE_MAX(int): (int)left;
|
||||
int n = ase_fprintf (fp, ASE_T("%.*s"), chunk, buf);
|
||||
if (n < 0 || n > chunk) return -1;
|
||||
left -= n; buf += n;
|
||||
@ -458,7 +458,7 @@ protected:
|
||||
}
|
||||
else
|
||||
{
|
||||
int chunk = (left > ASE_TYPE_MAX(int))? ASE_TYPE_MAX(int): left;
|
||||
int chunk = (left > ASE_TYPE_MAX(int))? ASE_TYPE_MAX(int): (int)left;
|
||||
int n = ase_fprintf (fp, ASE_T("%.*s"), chunk, buf);
|
||||
if (n < 0 || n > chunk) return -1;
|
||||
left -= n; buf += n;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: awk.c,v 1.23 2007/11/08 15:08:06 bacon Exp $
|
||||
* $Id: awk.c,v 1.25 2007/11/09 08:29:49 bacon Exp $
|
||||
*/
|
||||
|
||||
#include <ase/awk/awk.h>
|
||||
@ -321,7 +321,8 @@ static ase_ssize_t awk_extio_pipe (
|
||||
|
||||
case ASE_AWK_IO_READ:
|
||||
{
|
||||
if (ase_fgets (data, size, (FILE*)epa->handle) == ASE_NULL)
|
||||
int chunk = (size > ASE_TYPE_MAX(int))? ASE_TYPE_MAX(int): (int)size;
|
||||
if (ase_fgets (data, chunk, (FILE*)epa->handle) == ASE_NULL)
|
||||
{
|
||||
if (ferror((FILE*)epa->handle)) return -1;
|
||||
return 0;
|
||||
@ -442,7 +443,8 @@ static ase_ssize_t awk_extio_file (
|
||||
|
||||
case ASE_AWK_IO_READ:
|
||||
{
|
||||
if (ase_fgets (data, size, (FILE*)epa->handle) == ASE_NULL)
|
||||
int chunk = (size > ASE_TYPE_MAX(int))? ASE_TYPE_MAX(int): (int)size;
|
||||
if (ase_fgets (data, chunk, (FILE*)epa->handle) == ASE_NULL)
|
||||
{
|
||||
if (ferror((FILE*)epa->handle)) return -1;
|
||||
return 0;
|
||||
@ -516,7 +518,9 @@ static ase_ssize_t awk_extio_console (
|
||||
}
|
||||
else if (cmd == ASE_AWK_IO_READ)
|
||||
{
|
||||
while (ase_fgets (data, size, (FILE*)epa->handle) == ASE_NULL)
|
||||
int chunk = (size > ASE_TYPE_MAX(int))? ASE_TYPE_MAX(int): (int)size;
|
||||
|
||||
while (ase_fgets (data, chunk, (FILE*)epa->handle) == ASE_NULL)
|
||||
{
|
||||
if (ferror((FILE*)epa->handle)) return -1;
|
||||
|
||||
|
@ -1 +1 @@
|
||||
PARSE ERROR: CODE [30] LINE [2] invalid character ''
|
||||
PARSE ERROR: CODE [31] LINE [2] invalid character ''
|
||||
|
@ -3,4 +3,4 @@ BEGIN {
|
||||
abc = 10;
|
||||
}
|
||||
|
||||
RUN ERROR: CODE [97] LINE [3] map 'abc' not assignable with a scalar
|
||||
RUN ERROR: CODE [98] LINE [3] map 'abc' not assignable with a scalar
|
||||
|
@ -2,4 +2,4 @@ BEGIN {
|
||||
delete ARGC;
|
||||
}
|
||||
|
||||
RUN ERROR: CODE [89] LINE [2] variable 'ARGC' not deletable
|
||||
RUN ERROR: CODE [90] LINE [2] variable 'ARGC' not deletable
|
||||
|
@ -3,4 +3,4 @@ BEGIN {
|
||||
delete iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiix;
|
||||
}
|
||||
|
||||
RUN ERROR: CODE [89] LINE [3] variable 'iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii...' not deletable
|
||||
RUN ERROR: CODE [90] LINE [3] variable 'iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii...' not deletable
|
||||
|
@ -2,4 +2,4 @@ BEGIN {
|
||||
helpxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxhelphelp ();
|
||||
}
|
||||
|
||||
RUN ERROR: CODE [87] LINE [2] function 'helpxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxhel...' not found
|
||||
RUN ERROR: CODE [88] LINE [2] function 'helpxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxhel...' not found
|
||||
|
@ -1 +1 @@
|
||||
PARSE ERROR: CODE [57] LINE [2] intrinsic function 'substr' redefined
|
||||
PARSE ERROR: CODE [58] LINE [2] intrinsic function 'substr' redefined
|
||||
|
@ -1 +1 @@
|
||||
PARSE ERROR: CODE [57] LINE [3] intrinsic function 'substr' redefined
|
||||
PARSE ERROR: CODE [58] LINE [3] intrinsic function 'substr' redefined
|
||||
|
@ -1 +1 @@
|
||||
PARSE ERROR: CODE [58] LINE [9] function 'abc' redefined
|
||||
PARSE ERROR: CODE [59] LINE [9] function 'abc' redefined
|
||||
|
@ -1 +1 @@
|
||||
PARSE ERROR: CODE [59] LINE [4] global variable 'abc' redefined
|
||||
PARSE ERROR: CODE [60] LINE [4] global variable 'abc' redefined
|
||||
|
@ -1 +1 @@
|
||||
PARSE ERROR: CODE [60] LINE [4] parameter 'x' redefined
|
||||
PARSE ERROR: CODE [61] LINE [4] parameter 'x' redefined
|
||||
|
@ -1 +1 @@
|
||||
PARSE ERROR: CODE [58] LINE [11] function 'abc' redefined
|
||||
PARSE ERROR: CODE [59] LINE [11] function 'abc' redefined
|
||||
|
@ -1 +1 @@
|
||||
PARSE ERROR: CODE [58] LINE [1] function 'abc' redefined
|
||||
PARSE ERROR: CODE [59] LINE [1] function 'abc' redefined
|
||||
|
@ -1 +1 @@
|
||||
PARSE ERROR: CODE [43] LINE [5] a colon expected in place of ';'
|
||||
PARSE ERROR: CODE [44] LINE [5] a colon expected in place of ';'
|
||||
|
@ -1 +1 @@
|
||||
PARSE ERROR: CODE [38] LINE [2] a left parenthesis expected in place of '='
|
||||
PARSE ERROR: CODE [39] LINE [2] a left parenthesis expected in place of '='
|
||||
|
@ -1 +1 @@
|
||||
PARSE ERROR: CODE [53] LINE [2] BEGIN not followed by a left bracket on the same line
|
||||
PARSE ERROR: CODE [54] LINE [2] BEGIN not followed by a left bracket on the same line
|
||||
|
@ -1 +1 @@
|
||||
PARSE ERROR: CODE [64] LINE [1] '+' not a valid parameter name
|
||||
PARSE ERROR: CODE [65] LINE [1] '+' not a valid parameter name
|
||||
|
@ -1 +1 @@
|
||||
PARSE ERROR: CODE [65] LINE [1] '+' not a valid variable name
|
||||
PARSE ERROR: CODE [66] LINE [1] '+' not a valid variable name
|
||||
|
@ -1 +1 @@
|
||||
PARSE ERROR: CODE [65] LINE [3] '+' not a valid variable name
|
||||
PARSE ERROR: CODE [66] LINE [3] '+' not a valid variable name
|
||||
|
@ -2,4 +2,4 @@ BEGIN {
|
||||
print abc > "123\0abc";
|
||||
}
|
||||
|
||||
RUN ERROR: CODE [113] LINE [2] i/o name containing a null character
|
||||
RUN ERROR: CODE [114] LINE [2] i/o name containing a null character
|
||||
|
@ -3,4 +3,4 @@ BEGIN {
|
||||
split ("a b c",xx);
|
||||
}
|
||||
|
||||
RUN ERROR: CODE [98] LINE [3] cannot change a scalar value to a map
|
||||
RUN ERROR: CODE [99] LINE [3] cannot change a scalar value to a map
|
||||
|
@ -1 +1 @@
|
||||
PARSE ERROR: CODE [62] LINE [1] duplicate global variable 'ARGV'
|
||||
PARSE ERROR: CODE [63] LINE [1] duplicate global variable 'ARGV'
|
||||
|
@ -1,43 +0,0 @@
|
||||
CC = cl
|
||||
CFLAGS = /nologo /MT /W3 /GR- -I..\..\..
|
||||
LDFLAGS = /libpath:..\..\cmn /libpath:..\..\awk /libpath:..\..\utl
|
||||
LIBS = asecmn.lib aseawk.lib aseutl.lib kernel32.lib user32.lib
|
||||
|
||||
!if !defined(CPU) || "$(CPU)" == ""
|
||||
CPU = $(PROCESSOR_ARCHITECTURE)
|
||||
!endif
|
||||
|
||||
!if "$(CPU)" == ""
|
||||
CPU = i386
|
||||
!endif
|
||||
|
||||
!if "$(CPU)" == "IA64" || "$(CPU)" == "AMD64"
|
||||
LIBS = $(LIBS) bufferoverflowu.lib
|
||||
!endif
|
||||
|
||||
all: aseawk
|
||||
|
||||
aseawk: awk.obj
|
||||
link /nologo /out:$@.exe $(LDFLAGS) $(LIBS) awk.obj
|
||||
|
||||
mini: mini.obj
|
||||
link /nologo /out:$@.exe $(LDFLAGS) $(LIBS) mini.obj
|
||||
|
||||
java:
|
||||
javac -classpath ../../.. Awk.java
|
||||
javac -classpath ../../.. AwkApplet.java
|
||||
|
||||
jrun:
|
||||
java -classpath ../../.. ase.test.awk.Awk
|
||||
|
||||
cert:
|
||||
keytool -genkey -keystore ase.store -alias asecert
|
||||
keytool -export -keystore ase.store -alias asecert -file ase.cer
|
||||
|
||||
clean:
|
||||
del $(OBJS) *.obj aseawk.exe mini.exe
|
||||
|
||||
.SUFFIXES: .c .obj
|
||||
.c.obj:
|
||||
$(CC) /c $(CFLAGS) $<
|
||||
|
80
ase/test/awk/msw-cl.mak
Normal file
80
ase/test/awk/msw-cl.mak
Normal file
@ -0,0 +1,80 @@
|
||||
NAME = aseawk
|
||||
MODE = release
|
||||
|
||||
CC = cl
|
||||
CXX = cl
|
||||
LD = link
|
||||
|
||||
CFLAGS = /nologo /W3 -I..\..\..
|
||||
CXXFLAGS = /nologo /W3 -I..\..\..
|
||||
|
||||
LDFLAGS = /libpath:..\..\$(MODE)\lib
|
||||
LIBS = asecmn.lib aseawk.lib aseutl.lib kernel32.lib user32.lib
|
||||
LIBS_CXX = $(LIBS) aseawk++.lib
|
||||
|
||||
!IF "$(MODE)" == "debug"
|
||||
CFLAGS = $(CFLAGS) -D_DEBUG -DDEBUG /MTd
|
||||
CXXFLAGS = $(CXXFLAGS) -D_DEBUG -DDEBUG /MTd
|
||||
!ELSEIF "$(MODE)" == "release"
|
||||
CFLAGS = $(CFLAGS) -DNDEBUG /MT /O2
|
||||
CXXFLAGS = $(CXXFLAGS) -DNDEBUG /MT /O2
|
||||
!ELSE
|
||||
CFLAGS = $(CFLAGS) /MT
|
||||
CXXFLAGS = $(CXXFLAGS) /MT
|
||||
!ENDIF
|
||||
|
||||
!if !defined(CPU) || "$(CPU)" == ""
|
||||
CPU = $(PROCESSOR_ARCHITECTURE)
|
||||
!endif
|
||||
|
||||
!if "$(CPU)" == ""
|
||||
CPU = i386
|
||||
!endif
|
||||
|
||||
!if "$(CPU)" == "IA64" || "$(CPU)" == "AMD64"
|
||||
# comment out the following line if you encounter this link error.
|
||||
# LINK : fatal error LNK1181: cannot open input file 'bufferoverflowu.lib'
|
||||
LIBS = $(LIBS) bufferoverflowu.lib
|
||||
!endif
|
||||
|
||||
OUT_DIR = ..\..\$(MODE)\bin
|
||||
OUT_FILE_BIN = $(OUT_DIR)\$(NAME).exe
|
||||
OUT_FILE_BIN_CXX = $(OUT_DIR)\$(NAME)++.exe
|
||||
|
||||
TMP_DIR = $(MODE)
|
||||
TMP_DIR_CXX = $(TMP_DIR)\cxx
|
||||
|
||||
OBJ_FILES_BIN = $(TMP_DIR)\awk.obj
|
||||
OBJ_FILES_BIN_CXX = $(TMP_DIR_CXX)\Awk.obj
|
||||
|
||||
all: bin
|
||||
|
||||
bin: $(OUT_FILE_BIN) $(OUT_FILE_BIN_CXX)
|
||||
|
||||
$(OUT_FILE_BIN): $(TMP_DIR) $(OUT_DIR) $(OBJ_FILES_BIN)
|
||||
$(LD) /nologo /out:$@ $(LDFLAGS) $(LIBS) $(OBJ_FILES_BIN)
|
||||
|
||||
$(OUT_FILE_BIN_CXX): $(TMP_DIR_CXX) $(OUT_FILE_BIN) $(OBJ_FILES_BIN_CXX)
|
||||
$(LD) /nologo /out:$@ $(LDFLAGS) $(LIBS_CXX) $(OBJ_FILES_BIN_CXX)
|
||||
|
||||
$(TMP_DIR)\awk.obj: awk.c
|
||||
$(CC) $(CFLAGS) /Fo$@ /c awk.c
|
||||
|
||||
$(TMP_DIR_CXX)\Awk.obj: Awk.cpp
|
||||
$(CC) $(CXXFLAGS) /Fo$@ /c Awk.cpp
|
||||
|
||||
$(OUT_DIR):
|
||||
-md $(OUT_DIR)
|
||||
|
||||
$(TMP_DIR):
|
||||
-md $(TMP_DIR)
|
||||
|
||||
$(TMP_DIR_CXX): $(TMP_DIR)
|
||||
-md $(TMP_DIR_CXX)
|
||||
|
||||
clean:
|
||||
-del $(OUT_FILE_BIN)
|
||||
-del $(OUT_FILE_BIN_CXX)
|
||||
-del $(OBJ_FILES_BIN)
|
||||
-del $(OBJ_FILES_BIN_CXX)
|
||||
|
Reference in New Issue
Block a user