Write test program "lrset.bas" to verify the operation of LSET & RSETtags/v3.20f
@@ -0,0 +1,26 @@ | |||||
10 ' Test LSET & RSET - contributed by ChipMaster | |||||
20 OPEN "R", #1, "test.dat", 24 | |||||
30 FIELD #1, 24 AS F1$ | |||||
40 FOR X=1 TO 3 | |||||
50 READ S$, M$ | |||||
60 LSET F1$=S$ | |||||
70 IF F1$<>M$ THEN PRINT "ERROR @ LSET '"; S$; "'" : GOTO 900 | |||||
80 NEXT | |||||
100 FOR X=1 TO 3 | |||||
110 READ S$, M$ | |||||
120 RSET F1$=S$ | |||||
130 IF F1$<>M$ THEN PRINT "ERROR @ LSET '"; S$; "'" : GOTO 900 | |||||
140 NEXT | |||||
150 PRINT "pass" | |||||
900 CLOSE #1 | |||||
910 END | |||||
1000 '*** TEST DATA *** | |||||
1010 DATA "THE RABBIT WENT LEFT", "THE RABBIT WENT LEFT " | |||||
1020 DATA "DOG", "DOG " | |||||
1030 DATA "", " " | |||||
1040 DATA "THE RABBIT WENT LEFT", " THE RABBIT WENT LEFT" | |||||
1050 DATA "DOG", " DOG" | |||||
1060 DATA "", " " |
@@ -5046,6 +5046,7 @@ dio_lrset (LineType * l, int rset) | |||||
PRINT "[";A$;"]" ' [123_789] | PRINT "[";A$;"]" ' [123_789] | ||||
*/ | */ | ||||
startpos = variant.Length - T->Length; | startpos = variant.Length - T->Length; | ||||
for(n=0; n<startpos; n++) variant.Buffer[n]=' '; | |||||
} | } | ||||
/* write characters to new position */ | /* write characters to new position */ | ||||
for (n = startpos, i = 0; | for (n = startpos, i = 0; | ||||
@@ -5053,6 +5054,7 @@ dio_lrset (LineType * l, int rset) | |||||
{ | { | ||||
variant.Buffer[n] = T->Buffer[i]; | variant.Buffer[n] = T->Buffer[i]; | ||||
} | } | ||||
if(rset == FALSE) while(n<variant.Length) variant.Buffer[n++]=' '; | |||||
if (var_set (v, &variant) == FALSE) | if (var_set (v, &variant) == FALSE) | ||||
{ | { | ||||
WARN_VARIABLE_NOT_DECLARED; | WARN_VARIABLE_NOT_DECLARED; | ||||