Recovered from cvs revision 2007-11-10 10:28:00

This commit is contained in:
2007-11-11 00:30:00 +00:00
parent 795c082519
commit 035bc48265
37 changed files with 331 additions and 274 deletions

View File

@ -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;

View File

@ -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;

View File

@ -1 +1 @@
PARSE ERROR: CODE [30] LINE [2] invalid character ''
PARSE ERROR: CODE [31] LINE [2] invalid character ''

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -1 +1 @@
PARSE ERROR: CODE [57] LINE [2] intrinsic function 'substr' redefined
PARSE ERROR: CODE [58] LINE [2] intrinsic function 'substr' redefined

View File

@ -1 +1 @@
PARSE ERROR: CODE [57] LINE [3] intrinsic function 'substr' redefined
PARSE ERROR: CODE [58] LINE [3] intrinsic function 'substr' redefined

View File

@ -1 +1 @@
PARSE ERROR: CODE [58] LINE [9] function 'abc' redefined
PARSE ERROR: CODE [59] LINE [9] function 'abc' redefined

View File

@ -1 +1 @@
PARSE ERROR: CODE [59] LINE [4] global variable 'abc' redefined
PARSE ERROR: CODE [60] LINE [4] global variable 'abc' redefined

View File

@ -1 +1 @@
PARSE ERROR: CODE [60] LINE [4] parameter 'x' redefined
PARSE ERROR: CODE [61] LINE [4] parameter 'x' redefined

View File

@ -1 +1 @@
PARSE ERROR: CODE [58] LINE [11] function 'abc' redefined
PARSE ERROR: CODE [59] LINE [11] function 'abc' redefined

View File

@ -1 +1 @@
PARSE ERROR: CODE [58] LINE [1] function 'abc' redefined
PARSE ERROR: CODE [59] LINE [1] function 'abc' redefined

View File

@ -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 ';'

View File

@ -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 '='

View File

@ -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

View File

@ -1 +1 @@
PARSE ERROR: CODE [64] LINE [1] '+' not a valid parameter name
PARSE ERROR: CODE [65] LINE [1] '+' not a valid parameter name

View File

@ -1 +1 @@
PARSE ERROR: CODE [65] LINE [1] '+' not a valid variable name
PARSE ERROR: CODE [66] LINE [1] '+' not a valid variable name

View File

@ -1 +1 @@
PARSE ERROR: CODE [65] LINE [3] '+' not a valid variable name
PARSE ERROR: CODE [66] LINE [3] '+' not a valid variable name

View File

@ -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

View File

@ -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

View File

@ -1 +1 @@
PARSE ERROR: CODE [62] LINE [1] duplicate global variable 'ARGV'
PARSE ERROR: CODE [63] LINE [1] duplicate global variable 'ARGV'

View File

@ -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
View 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)