Modifiche A.G.A.
git-svn-id: svn://10.65.10.50/trunk@4681 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
af15e0698b
commit
5432d61de9
13
cb/source/a4declar.h
Executable file
13
cb/source/a4declar.h
Executable file
@ -0,0 +1,13 @@
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
S4EXPORT long S4FUNCTION a4indexVersion(DATA4 *);
|
||||
S4EXPORT int S4FUNCTION a4tagKeyLen(DATA4 *);
|
||||
S4EXPORT const char * S4FUNCTION a4tagKey(DATA4 *);
|
||||
S4EXPORT int S4FUNCTION a4lockTest(DATA4 *);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
36
cb/source/a4functs.c
Executable file
36
cb/source/a4functs.c
Executable file
@ -0,0 +1,36 @@
|
||||
#include "d4all.h"
|
||||
|
||||
|
||||
S4EXPORT long S4FUNCTION a4indexVersion(DATA4 * data)
|
||||
{
|
||||
//#ifdef S4FOX
|
||||
// return((long)i4->indexFile->tagIndex->header.version);
|
||||
//#else
|
||||
const TAG4 * t4 = d4tagNext(data, NULL);
|
||||
|
||||
return t4->index->indexFile->tagIndex->header.version;
|
||||
//#endif
|
||||
}
|
||||
|
||||
S4EXPORT int S4FUNCTION a4tagKeyLen(DATA4 * data)
|
||||
{
|
||||
const TAG4 * t4 = d4tagDefault(data);
|
||||
|
||||
return t4->tagFile->expr->len;
|
||||
}
|
||||
|
||||
S4EXPORT const char * S4FUNCTION a4tagKey(DATA4 * data)
|
||||
{
|
||||
const TAG4 * t4 = d4tagDefault(data);
|
||||
|
||||
return tfile4key(t4->tagFile);
|
||||
}
|
||||
|
||||
S4EXPORT int S4FUNCTION a4lockTest(DATA4 * data)
|
||||
{
|
||||
return d4lockTestFile(data);
|
||||
}
|
||||
|
||||
S4EXPORT void S4FUNCTION error4hook( CODE4 S4PTR * codebase, int errCode1, long errCode2, const char S4PTR * desc1, const char S4PTR * desc2, const char S4PTR * desc3)
|
||||
{
|
||||
}
|
@ -407,6 +407,7 @@ int S4FUNCTION code4passwordSet( CODE4 *c4, const char *userId, const char *oldP
|
||||
int S4FUNCTION code4initLow( CODE4 *c4, const char *defaultProtocol, long versionId )
|
||||
{
|
||||
char v1[10], v2[10] ;
|
||||
int n;
|
||||
#ifdef S4TESTING
|
||||
int exclusiveFlag ;
|
||||
int openFlag ;
|
||||
@ -453,7 +454,10 @@ int S4FUNCTION code4initLow( CODE4 *c4, const char *defaultProtocol, long versio
|
||||
no file open/create incorrectly auto-starts the optimization process
|
||||
|
||||
***********************************************************************/
|
||||
|
||||
|
||||
#ifdef S4WINDOWS
|
||||
n = SetHandleCount(40);
|
||||
#endif
|
||||
#ifndef S4OFF_OPTIMIZE
|
||||
c4->hadOpt = 1 ;
|
||||
#endif
|
||||
|
461
cb/source/cb.def
Executable file
461
cb/source/cb.def
Executable file
@ -0,0 +1,461 @@
|
||||
LIBRARY CB6
|
||||
DESCRIPTION 'CodeBase 6.1 DLL for Windows'
|
||||
EXETYPE WINDOWS
|
||||
CODE PRELOAD MOVEABLE DISCARDABLE
|
||||
DATA PRELOAD FIXED SINGLE
|
||||
HEAPSIZE 4096
|
||||
|
||||
EXPORTS
|
||||
|
||||
AREA4ADD_OBJECT @1
|
||||
AREA4CREATE @2
|
||||
AREA4FREE @3
|
||||
AREA4NUMOBJECTS @4
|
||||
AREA4OBJFIRST @5
|
||||
AREA4OBJLAST @6
|
||||
AREA4OBJNEXT @7
|
||||
AREA4OBJPREV @8
|
||||
AREA4PAGEBREAK @9
|
||||
AREA4SORT_OBJ_TREE @10
|
||||
BMP4FINDDIBBITS @11
|
||||
BMP4GETDIB @12
|
||||
BMP4PALETTESIZE @13
|
||||
BMP4WRITEDIB @14
|
||||
C4ATOD @15
|
||||
C4ATOD2 @16
|
||||
C4ATOI @17
|
||||
C4ATOL @18
|
||||
C4DLLINST @19
|
||||
C4DTOA45 @20
|
||||
C4ENCODE @21
|
||||
C4LTOA45 @22
|
||||
C4LOWER @23
|
||||
C4TRIMN @24
|
||||
C4UPPER @25
|
||||
CODE4ALLOCLOW @26
|
||||
CODE4CALCCREATE @27
|
||||
CODE4CALCRESET @28
|
||||
CODE4CLOSE @29
|
||||
CODE4CONNECT @30
|
||||
CODE4DATA @31
|
||||
CODE4DATEFORMAT @32
|
||||
CODE4DATEFORMATSET @33
|
||||
CODE4EXIT @34
|
||||
CODE4FILENAME @35
|
||||
CODE4FILENAMESET @36
|
||||
CODE4FLUSH @37
|
||||
CODE4INDEXEXTENSION @38
|
||||
CODE4INDEXFORMAT @39
|
||||
CODE4INFO @40
|
||||
CODE4INITLOW @41
|
||||
CODE4INITUNDO @42
|
||||
CODE4LINENO @43
|
||||
CODE4LINENOSET @44
|
||||
CODE4LOCK @45
|
||||
CODE4LOCKCLEAR @46
|
||||
CODE4LOCKFILENAME @47
|
||||
CODE4LOCKITEM @48
|
||||
CODE4LOCKNETWORKID @49
|
||||
CODE4LOCKUSERID @50
|
||||
CODE4LOGCREATE @51
|
||||
CODE4LOGFILENAME @52
|
||||
CODE4LOGOPEN @53
|
||||
CODE4LOGOPENOFF @54
|
||||
CODE4OPTALL @55
|
||||
CODE4OPTSTART @56
|
||||
CODE4OPTSUSPEND @57
|
||||
CODE4SERVERNAME @58
|
||||
CODE4TIMEOUT @59
|
||||
CODE4TIMEOUTSET @60
|
||||
CODE4TRANCOMMIT @61
|
||||
CODE4TRANROLLBACK @62
|
||||
CODE4TRANSTART @63
|
||||
CODE4UNLOCK @64
|
||||
CTRL4ADDCODE @65
|
||||
CTRL4CODELISTINIT @66
|
||||
CTRL4FREECODELIST @67
|
||||
CTRL4FREECTRLNODE @68
|
||||
CTRL4GETCTRLCODE @69
|
||||
CTRL4GETSERVERNAME @70
|
||||
CTRL4INITVBX @71
|
||||
CTRL4INITVBXUNDO @72
|
||||
CTRL4SETSERVERNAME @73
|
||||
D4ALIAS @74
|
||||
D4ALIASSET @75
|
||||
D4APPEND @76
|
||||
D4APPENDBLANK @77
|
||||
D4APPENDSTART @78
|
||||
D4BLANK @79
|
||||
D4BOF @80
|
||||
D4BOTTOM @81
|
||||
D4CHANGED @82
|
||||
D4CHECK @83
|
||||
D4CLOSE @84
|
||||
D4CREATE @85
|
||||
D4CREATETEMP @86
|
||||
D4DELETE @87
|
||||
D4DELETED @88
|
||||
D4EOF @89
|
||||
D4FIELD @90
|
||||
D4FIELDINFO @91
|
||||
D4FIELDJ @92
|
||||
D4FIELDNUMBER @93
|
||||
D4FILENAME @94
|
||||
D4FLUSH @95
|
||||
D4FREEBLOCKS @96
|
||||
D4GO @97
|
||||
D4GOBOF @98
|
||||
D4GOEOF @99
|
||||
D4INDEX @100
|
||||
D4LOCK @101
|
||||
D4LOCKADD @102
|
||||
D4LOCKADDALL @103
|
||||
D4LOCKADDAPPEND @104
|
||||
D4LOCKADDFILE @105
|
||||
D4LOCKALL @106
|
||||
D4LOCKAPPEND @107
|
||||
D4LOCKFILE @108
|
||||
D4LOCK_GROUP @109
|
||||
D4LOCKTEST @110
|
||||
D4LOCKTESTAPPENDLOW @111
|
||||
D4LOG @112
|
||||
D4MEMOCOMPRESS @113
|
||||
D4NUMFIELDS @114
|
||||
D4OPEN @115
|
||||
D4OPENCLONE @116
|
||||
D4OPTIMIZE @117
|
||||
D4OPTIMIZEWRITE @118
|
||||
D4PACK @119
|
||||
D4POSITION @120
|
||||
D4POSITION2 @121
|
||||
D4POSITIONSET @122
|
||||
D4RECALL @123
|
||||
D4RECCOUNTDO @124
|
||||
D4RECNO @125
|
||||
D4RECORD @126
|
||||
D4RECWIDTH @127
|
||||
D4RECPOSITION @128
|
||||
D4REFRESH @129
|
||||
D4REFRESHRECORD @130
|
||||
D4REINDEX @131
|
||||
D4REMOVE @132
|
||||
D4SEEK @133
|
||||
D4SEEKDOUBLE @134
|
||||
D4SEEKN @135
|
||||
D4SEEKNEXT @136
|
||||
D4SEEKNEXTDOUBLE @137
|
||||
D4SEEKNEXTN @138
|
||||
D4SKIP @139
|
||||
D4TAG @140
|
||||
D4TAGDEFAULT @141
|
||||
D4TAGNEXT @142
|
||||
D4TAGPREV @143
|
||||
D4TAGSELECT @144
|
||||
D4TAGSELECTED @145
|
||||
D4TAGSYNC @146
|
||||
D4TOP @147
|
||||
D4UNLOCK @148
|
||||
D4WRITELOW @149
|
||||
D4ZAP @150
|
||||
DATE4ASSIGN @151
|
||||
DATE4CDOW @152
|
||||
DATE4CMONTH @153
|
||||
DATE4DOW @154
|
||||
DATE4FORMAT @155
|
||||
DATE4FORMATMDX @156
|
||||
DATE4FORMATMDX2 @157
|
||||
DATE4INIT @158
|
||||
DATE4ISLEAP @159
|
||||
DATE4LONG @160
|
||||
DATE4TIMENOW @161
|
||||
DATE4TODAY @162
|
||||
E4LOOKUP @163
|
||||
ERROR4DEFAULT @164
|
||||
ERROR4DESCRIBEDEFAULT @165
|
||||
ERROR4DESCRIBEEXECUTE @166
|
||||
ERROR4EXITTEST @167
|
||||
ERROR4FILE @168
|
||||
ERROR4HOOK @169
|
||||
ERROR4SET @170
|
||||
ERROR4TEXT @171
|
||||
EXPR4CALCDELETE @172
|
||||
EXPR4CALCLOOKUP @173
|
||||
EXPR4CALCMASSAGE @174
|
||||
; EXPR4CALCMODIFY @175
|
||||
EXPR4CALCNAMECHANGE @176
|
||||
EXPR4DOUBLE @177
|
||||
EXPR4DOUBLE2 @178
|
||||
EXPR4FUNCTIONS @179
|
||||
EXPR4PARSELOW @180
|
||||
EXPR4SOURCE @181
|
||||
EXPR4STR @182
|
||||
EXPR4TRUE @183
|
||||
EXPR4VARY @184
|
||||
F4ASSIGN @185
|
||||
F4ASSIGNCHAR @186
|
||||
F4ASSIGNDOUBLE @187
|
||||
F4ASSIGNFIELD @188
|
||||
F4ASSIGNINT @189
|
||||
F4ASSIGNLONG @190
|
||||
F4ASSIGNN @191
|
||||
F4ASSIGNPTR @192
|
||||
F4BLANK @193
|
||||
F4CHAR @194
|
||||
F4DATA @195
|
||||
F4DECIMALS @196
|
||||
F4DOUBLE @197
|
||||
F4DOUBLE2 @198
|
||||
F4FLAGINIT @199
|
||||
F4FLAGISSET @200
|
||||
F4FLAGSET @201
|
||||
F4INT @202
|
||||
F4LEN @203
|
||||
F4LONG @204
|
||||
F4MEMOASSIGN @205
|
||||
F4MEMOASSIGNN @206
|
||||
F4MEMOFREE @207
|
||||
F4MEMOLEN @208
|
||||
F4MEMONCPY @209
|
||||
F4MEMOPTR @210
|
||||
F4MEMOSETLEN @211
|
||||
F4MEMOSTR @212
|
||||
F4NAME @213
|
||||
F4NCPY @214
|
||||
F4PTR @215
|
||||
F4STR @216
|
||||
F4TRUE @217
|
||||
F4TYPE @218
|
||||
FILE4CLOSE @219
|
||||
FILE4CREATE @220
|
||||
FILE4FLUSH @221
|
||||
FILE4LEN @222
|
||||
FILE4LENSET @223
|
||||
FILE4LOCK @224
|
||||
FILE4OPEN @225
|
||||
FILE4OPENTEST @226
|
||||
FILE4OPTIMIZELOW @227
|
||||
FILE4OPTIMIZEWRITE @228
|
||||
FILE4READ @229
|
||||
FILE4READALL @230
|
||||
FILE4READERROR @231
|
||||
FILE4REFRESH @232
|
||||
FILE4REPLACE @233
|
||||
FILE4SEQREAD @234
|
||||
FILE4SEQREADALL @235
|
||||
FILE4SEQREADINITDO @236
|
||||
FILE4SEQWRITE @237
|
||||
FILE4SEQWRITEFLUSH @238
|
||||
FILE4SEQWRITEINIT @239
|
||||
FILE4SEQWRITEREPEAT @240
|
||||
FILE4TEMP @241
|
||||
FILE4UNLOCK @242
|
||||
FILE4WRITE @243
|
||||
GROUP4CREATE @244
|
||||
GROUP4FOOTERFIRST @245
|
||||
GROUP4FOOTERNEXT @246
|
||||
GROUP4FOOTERPREV @247
|
||||
GROUP4FREE @248
|
||||
GROUP4HEADERFIRST @249
|
||||
GROUP4HEADERNEXT @250
|
||||
GROUP4HEADERPREV @251
|
||||
GROUP4NUMFOOTERS @252
|
||||
GROUP4NUMHEADERS @253
|
||||
GROUP4POSITIONSET @254
|
||||
GROUP4REPEATHEADER @255
|
||||
GROUP4RESETEXPRSET @256
|
||||
GROUP4RESETPAGE @257
|
||||
GROUP4RESETPAGENUM @258
|
||||
GROUP4SWAPFOOTER @259
|
||||
GROUP4SWAPHEADER @260
|
||||
I4CLOSE @261
|
||||
I4CREATE @262
|
||||
I4FILENAME @263
|
||||
I4OPEN @264
|
||||
I4REINDEX @265
|
||||
I4TAGINFO @266
|
||||
L4ADDAFTER @267
|
||||
L4ADDBEFORE @268
|
||||
L4ADDLOW @269
|
||||
L4FIRSTLOW @270
|
||||
L4LASTLOW @271
|
||||
L4NEXTLOW @272
|
||||
L4POP @273
|
||||
L4PREV @274
|
||||
L4REMOVE @275
|
||||
I4TAG @276
|
||||
I4TAGADD @277
|
||||
MEM4ALLOCDEFAULT @278
|
||||
MEM4CHECKMEMORY @279
|
||||
MEM4CREATEALLOCDEFAULT @280
|
||||
MEM4CREATEDEFAULT @281
|
||||
MEM4FREECHECK @282
|
||||
MEM4FREEDEFAULT @283
|
||||
MEM4RELEASE @284
|
||||
MESSAGE4ALLOC @285
|
||||
MESSAGE4FREE @286
|
||||
OBJ4BITMAPFIELDCREATE @287
|
||||
OBJ4BITMAPFIELDFREE @288
|
||||
OBJ4BITMAPFILECREATE @289
|
||||
OBJ4BITMAPFILEFREE @290
|
||||
OBJ4BITMAPSTATICCREATE @291
|
||||
OBJ4BITMAPSTATICFREE @292
|
||||
OBJ4BRACKETS @293
|
||||
OBJ4CALCCREATE @294
|
||||
OBJ4CALCFREE @295
|
||||
OBJ4DATAFIELDSET @296
|
||||
OBJ4DATEFORMAT @297
|
||||
OBJ4DECIMALS @298
|
||||
OBJ4DELETE @299
|
||||
OBJ4DISPLAYONCE @300
|
||||
OBJ4DISPLAYZERO @301
|
||||
OBJ4EXPRCREATE @302
|
||||
OBJ4EXPRFREE @303
|
||||
OBJ4FIELDCREATE @304
|
||||
OBJ4FIELDFREE @305
|
||||
OBJ4FRAMECORNERS @306
|
||||
OBJ4FRAMECREATE @307
|
||||
OBJ4FRAMEFILL @308
|
||||
OBJ4FRAMEFREE @309
|
||||
OBJ4JUSTIFY @310
|
||||
OBJ4LEADINGZERO @311
|
||||
OBJ4LINECREATE @312
|
||||
OBJ4LINEFREE @313
|
||||
OBJ4LINEWIDTH @314
|
||||
OBJ4LOOKAHEAD @315
|
||||
OBJ4NUMERICTYPE @316
|
||||
OBJ4REMOVE @317
|
||||
OBJ4STYLE @318
|
||||
OBJ4TEXTCREATE @319
|
||||
OBJ4TEXTFREE @320
|
||||
OBJ4TOTALCREATE @321
|
||||
OBJ4TOTALFREE @322
|
||||
RELATE4BOTTOM @323
|
||||
RELATE4CHANGED @324
|
||||
RELATE4CREATESLAVE @325
|
||||
RELATE4DOALL @326
|
||||
RELATE4DOONE @327
|
||||
RELATE4EOF @328
|
||||
RELATE4ERRORACTION @329
|
||||
RELATE4FREE @330
|
||||
RELATE4FREERELATE @331
|
||||
RELATE4INIT @332
|
||||
RELATE4LOCK @333
|
||||
RELATE4UNLOCK @334
|
||||
RELATE4LOCKADD @335
|
||||
RELATE4LOOKUP_DATA @336
|
||||
RELATE4MATCHLEN @337
|
||||
RELATE4NEXT @338
|
||||
RELATE4OPTIMIZEABLE @339
|
||||
RELATE4QUERYSET @340
|
||||
RELATE4RETRIEVE @341
|
||||
RELATE4RETRIEVE2 @342
|
||||
RELATE4SAVE @343
|
||||
RELATE4SAVE2 @344
|
||||
RELATE4SKIP @345
|
||||
RELATE4SKIPENABLE @346
|
||||
RELATE4SORTSET @347
|
||||
RELATE4TOP @348
|
||||
RELATE4TYPE @349
|
||||
REPORT4CAPTION @350
|
||||
REPORT4CURRENCY @351
|
||||
REPORT4DATADO @352
|
||||
REPORT4DATAFILESET @353
|
||||
REPORT4DATAGROUP @354
|
||||
REPORT4DATEFORMAT @355
|
||||
REPORT4DECIMAL @356
|
||||
REPORT4DO @357
|
||||
REPORT4FREE @358
|
||||
REPORT4FREE_STYLES @359
|
||||
REPORT4GENERATEPAGE @360
|
||||
REPORT4GET_PRINTERIC @361
|
||||
REPORT4GROUPFIRST @362
|
||||
REPORT4GROUPHARDRESETS @363
|
||||
REPORT4GROUPLAST @364
|
||||
REPORT4GROUPLOOKUP @365
|
||||
REPORT4GROUPNEXT @366
|
||||
REPORT4GROUPPREV @367
|
||||
REPORT4INIT @368
|
||||
REPORT4INDEX_TYPE @369
|
||||
REPORT4MARGINS @370
|
||||
REPORT4NUMGROUPS @371
|
||||
REPORT4NUMSTYLES @372
|
||||
REPORT4OFF_WRITE @373
|
||||
REPORT4OUTPUT @374
|
||||
REPORT4PAGEFREE @375
|
||||
REPORT4PAGEHEADERFOOTER @376
|
||||
REPORT4PAGEINIT @377
|
||||
REPORT4PAGEMARGINSGET @378
|
||||
REPORT4PAGEOBJFIRST @379
|
||||
REPORT4PAGEOBJNEXT @380
|
||||
REPORT4PAGESIZE @381
|
||||
REPORT4PAGESIZEGET @382
|
||||
REPORT4PARENT @383
|
||||
REPORT4PRINTERDC @384
|
||||
REPORT4PRINTERSELECT @385
|
||||
REPORT4QUERYSET @386
|
||||
REPORT4RETRIEVE @387
|
||||
REPORT4RETRIEVE2 @388
|
||||
REPORT4SAVE @389
|
||||
REPORT4SEPARATOR @390
|
||||
REPORT4SORTSET @391
|
||||
REPORT4STYLEFIRST @392
|
||||
REPORT4STYLELAST @393
|
||||
REPORT4STYLENEXT @394
|
||||
REPORT4STYLESELECT @395
|
||||
REPORT4STYLESELECTED @396
|
||||
REPORT4STYLESHEETLOAD @397
|
||||
REPORT4STYLESHEETSAVE @398
|
||||
REPORT4TITLEPAGE @399
|
||||
REPORT4TITLESUMMARY @400
|
||||
REPORT4TOSCREEN @401
|
||||
SOCKET4CODEBASE @402
|
||||
SORT4FREE @403
|
||||
SORT4GET @404
|
||||
SORT4GETINIT @405
|
||||
SORT4INIT @409
|
||||
SORT4PUT @410
|
||||
STYLE4COLOR @411
|
||||
STYLE4CREATE @412
|
||||
STYLE4DELETE @413
|
||||
STYLE4FREE @414
|
||||
STYLE4INDEX @415
|
||||
STYLE4LOOKUP @416
|
||||
T4ALIAS @417
|
||||
T4CLOSE @418
|
||||
T4EXPRLOW @419
|
||||
T4FILTERLOW @420
|
||||
T4OPENLOW @421
|
||||
T4UNIQUE @422
|
||||
T4UNIQUESET @423
|
||||
TOTAL4ADDCONDITION @424
|
||||
TOTAL4CREATE @425
|
||||
TOTAL4FREE @426
|
||||
TOTAL4LOOKUP @427
|
||||
U4ALLOCAGAINDEFAULT @428
|
||||
U4ALLOCDEFAULT @429
|
||||
U4ALLOCERDEFAULT @430
|
||||
U4ALLOCFIXEDDEFAULT @431
|
||||
U4ALLOCFREEDEFAULT @432
|
||||
U4DELAYHUNDREDTH @433
|
||||
U4FREEDEFAULT @434
|
||||
U4FREEFIXEDDEFAULT @435
|
||||
U4NAMECHAR @436
|
||||
U4NAMECURRENT @437
|
||||
U4NAMEEXT @438
|
||||
U4NAMEPIECE @439
|
||||
U4NCPY @440
|
||||
U4REMOVE @441
|
||||
U4SWITCH @442
|
||||
U4WRITEERR @443
|
||||
U4YYMMDD @444
|
||||
X4REVERSESHORT @445
|
||||
A4INDEXVERSION @500
|
||||
A4TAGKEYLEN @501
|
||||
A4TAGKEY @502
|
||||
A4LOCKTEST @503
|
||||
TFILE4BOTTOM @600
|
||||
TFILE4EOF @601
|
||||
TFILE4RECNO @603
|
||||
TFILE4SEEK @605
|
||||
TFILE4SKIP @606
|
||||
DFILE4LOCKINDEX @607
|
454
cb/source/cbapp.def
Executable file
454
cb/source/cbapp.def
Executable file
@ -0,0 +1,454 @@
|
||||
DESCRIPTION 'CodeBase 6.1 Windows Application'
|
||||
EXETYPE WINDOWS
|
||||
STUB 'WINSTUB.EXE'
|
||||
CODE PRELOAD MOVEABLE DISCARDABLE
|
||||
DATA PRELOAD FIXED SINGLE
|
||||
HEAPSIZE 4096
|
||||
STACKSIZE 15000
|
||||
|
||||
|
||||
IMPORTS
|
||||
|
||||
AREA4ADD_OBJECT = CB.1
|
||||
AREA4CREATE = CB.2
|
||||
AREA4FREE = CB.3
|
||||
AREA4NUMOBJECTS = CB.4
|
||||
AREA4OBJFIRST = CB.5
|
||||
AREA4OBJLAST = CB.6
|
||||
AREA4OBJNEXT = CB.7
|
||||
AREA4OBJPREV = CB.8
|
||||
AREA4PAGEBREAK = CB.9
|
||||
AREA4SORT_OBJ_TREE = CB.10
|
||||
BMP4FINDDIBBITS = CB.11
|
||||
BMP4GETDIB = CB.12
|
||||
BMP4PALETTESIZE = CB.13
|
||||
BMP4WRITEDIB = CB.14
|
||||
C4ATOD = CB.15
|
||||
C4ATOD2 = CB.16
|
||||
C4ATOI = CB.17
|
||||
C4ATOL = CB.18
|
||||
CBINST = CB.19
|
||||
C4DTOA45 = CB.20
|
||||
C4ENCODE = CB.21
|
||||
C4LTOA45 = CB.22
|
||||
C4LOWER = CB.23
|
||||
C4TRIMN = CB.24
|
||||
C4UPPER = CB.25
|
||||
CODE4ALLOCLOW = CB.26
|
||||
CODE4CALCCREATE = CB.27
|
||||
CODE4CALCRESET = CB.28
|
||||
CODE4CLOSE = CB.29
|
||||
CODE4CONNECT = CB.30
|
||||
CODE4DATA = CB.31
|
||||
CODE4DATEFORMAT = CB.32
|
||||
CODE4DATEFORMATSET = CB.33
|
||||
CODE4EXIT = CB.34
|
||||
CODE4FILENAME = CB.35
|
||||
CODE4FILENAMESET = CB.36
|
||||
CODE4FLUSH = CB.37
|
||||
CODE4INDEXEXTENSION = CB.38
|
||||
CODE4INDEXFORMAT = CB.39
|
||||
CODE4INFO = CB.40
|
||||
CODE4INITLOW = CB.41
|
||||
CODE4INITUNDO = CB.42
|
||||
CODE4LINENO = CB.43
|
||||
CODE4LINENOSET = CB.44
|
||||
CODE4LOCK = CB.45
|
||||
CODE4LOCKCLEAR = CB.46
|
||||
CODE4LOCKFILENAME = CB.47
|
||||
CODE4LOCKITEM = CB.48
|
||||
CODE4LOCKNETWORKID = CB.49
|
||||
CODE4LOCKUSERID = CB.50
|
||||
CODE4LOGCREATE = CB.51
|
||||
CODE4LOGFILENAME = CB.52
|
||||
CODE4LOGOPEN = CB.53
|
||||
CODE4LOGOPENOFF = CB.54
|
||||
CODE4OPTALL = CB.55
|
||||
CODE4OPTSTART = CB.56
|
||||
CODE4OPTSUSPEND = CB.57
|
||||
CODE4SERVERNAME = CB.58
|
||||
CODE4TIMEOUT = CB.59
|
||||
CODE4TIMEOUTSET = CB.60
|
||||
CODE4TRANCOMMIT = CB.61
|
||||
CODE4TRANROLLBACK = CB.62
|
||||
CODE4TRANSTART = CB.63
|
||||
CODE4UNLOCK = CB.64
|
||||
CTRL4ADDCODE = CB.65
|
||||
CTRL4CODELISTINIT = CB.66
|
||||
CTRL4FREECODELIST = CB.67
|
||||
CTRL4FREECTRLNODE = CB.68
|
||||
CTRL4GETCTRLCODE = CB.69
|
||||
CTRL4GETSERVERNAME = CB.70
|
||||
CTRL4INITVBX = CB.71
|
||||
CTRL4INITVBXUNDO = CB.72
|
||||
CTRL4SETSERVERNAME = CB.73
|
||||
D4ALIAS = CB.74
|
||||
D4ALIASSET = CB.75
|
||||
D4APPEND = CB.76
|
||||
D4APPENDBLANK = CB.77
|
||||
D4APPENDSTART = CB.78
|
||||
D4BLANK = CB.79
|
||||
D4BOF = CB.80
|
||||
D4BOTTOM = CB.81
|
||||
D4CHANGED = CB.82
|
||||
D4CHECK = CB.83
|
||||
D4CLOSE = CB.84
|
||||
D4CREATE = CB.85
|
||||
D4CREATETEMP = CB.86
|
||||
D4DELETE = CB.87
|
||||
D4DELETED = CB.88
|
||||
D4EOF = CB.89
|
||||
D4FIELD = CB.90
|
||||
D4FIELDINFO = CB.91
|
||||
D4FIELDJ = CB.92
|
||||
D4FIELDNUMBER = CB.93
|
||||
D4FILENAME = CB.94
|
||||
D4FLUSH = CB.95
|
||||
D4FREEBLOCKS = CB.96
|
||||
D4GO = CB.97
|
||||
D4GOBOF = CB.98
|
||||
D4GOEOF = CB.99
|
||||
D4INDEX = CB.100
|
||||
D4LOCK = CB.101
|
||||
D4LOCKADD = CB.102
|
||||
D4LOCKADDALL = CB.103
|
||||
D4LOCKADDAPPEND = CB.104
|
||||
D4LOCKADDFILE = CB.105
|
||||
D4LOCKALL = CB.106
|
||||
D4LOCKAPPEND = CB.107
|
||||
D4LOCKFILE = CB.108
|
||||
D4LOCK_GROUP = CB.109
|
||||
D4LOCKTEST = CB.110
|
||||
D4LOCKTESTAPPENDLOW = CB.111
|
||||
D4LOG = CB.112
|
||||
D4MEMOCOMPRESS = CB.113
|
||||
D4NUMFIELDS = CB.114
|
||||
D4OPEN = CB.115
|
||||
D4OPENCLONE = CB.116
|
||||
D4OPTIMIZE = CB.117
|
||||
D4OPTIMIZEWRITE = CB.118
|
||||
D4PACK = CB.119
|
||||
D4POSITION = CB.120
|
||||
D4POSITION2 = CB.121
|
||||
D4POSITIONSET = CB.122
|
||||
D4RECALL = CB.123
|
||||
D4RECCOUNTDO = CB.124
|
||||
D4RECNO = CB.125
|
||||
D4RECORD = CB.126
|
||||
D4RECWIDTH = CB.127
|
||||
D4RECPOSITION = CB.128
|
||||
D4REFRESH = CB.129
|
||||
D4REFRESHRECORD = CB.130
|
||||
D4REINDEX = CB.131
|
||||
D4REMOVE = CB.132
|
||||
D4SEEK = CB.133
|
||||
D4SEEKDOUBLE = CB.134
|
||||
D4SEEKN = CB.135
|
||||
D4SEEKNEXT = CB.136
|
||||
D4SEEKNEXTDOUBLE = CB.137
|
||||
D4SEEKNEXTN = CB.138
|
||||
D4SKIP = CB.139
|
||||
D4TAG = CB.140
|
||||
D4TAGDEFAULT = CB.141
|
||||
D4TAGNEXT = CB.142
|
||||
D4TAGPREV = CB.143
|
||||
D4TAGSELECT = CB.144
|
||||
D4TAGSELECTED = CB.145
|
||||
D4TAGSYNC = CB.146
|
||||
D4TOP = CB.147
|
||||
D4UNLOCK = CB.148
|
||||
D4WRITELOW = CB.149
|
||||
D4ZAP = CB.150
|
||||
DATE4ASSIGN = CB.151
|
||||
DATE4CDOW = CB.152
|
||||
DATE4CMONTH = CB.153
|
||||
DATE4DOW = CB.154
|
||||
DATE4FORMAT = CB.155
|
||||
DATE4FORMATMDX = CB.156
|
||||
DATE4FORMATMDX2 = CB.157
|
||||
DATE4INIT = CB.158
|
||||
DATE4ISLEAP = CB.159
|
||||
DATE4LONG = CB.160
|
||||
DATE4TIMENOW = CB.161
|
||||
DATE4TODAY = CB.162
|
||||
E4LOOKUP = CB.163
|
||||
ERROR4DEFAULT = CB.164
|
||||
ERROR4DESCRIBEDEFAULT = CB.165
|
||||
ERROR4DESCRIBEEXECUTE = CB.166
|
||||
ERROR4EXITTEST = CB.167
|
||||
ERROR4FILE = CB.168
|
||||
ERROR4HOOK = CB.169
|
||||
ERROR4SET = CB.170
|
||||
ERROR4TEXT = CB.171
|
||||
EXPR4CALCDELETE = CB.172
|
||||
EXPR4CALCLOOKUP = CB.173
|
||||
EXPR4CALCMASSAGE = CB.174
|
||||
; EXPR4CALCMODIFY = CB.175
|
||||
EXPR4CALCNAMECHANGE = CB.176
|
||||
EXPR4DOUBLE = CB.177
|
||||
EXPR4DOUBLE2 = CB.178
|
||||
EXPR4FUNCTIONS = CB.179
|
||||
EXPR4PARSELOW = CB.180
|
||||
EXPR4SOURCE = CB.181
|
||||
EXPR4STR = CB.182
|
||||
EXPR4TRUE = CB.183
|
||||
EXPR4VARY = CB.184
|
||||
F4ASSIGN = CB.185
|
||||
F4ASSIGNCHAR = CB.186
|
||||
F4ASSIGNDOUBLE = CB.187
|
||||
F4ASSIGNFIELD = CB.188
|
||||
F4ASSIGNINT = CB.189
|
||||
F4ASSIGNLONG = CB.190
|
||||
F4ASSIGNN = CB.191
|
||||
F4ASSIGNPTR = CB.192
|
||||
F4BLANK = CB.193
|
||||
F4CHAR = CB.194
|
||||
F4DATA = CB.195
|
||||
F4DECIMALS = CB.196
|
||||
F4DOUBLE = CB.197
|
||||
F4DOUBLE2 = CB.198
|
||||
F4FLAGINIT = CB.199
|
||||
F4FLAGISSET = CB.200
|
||||
F4FLAGSET = CB.201
|
||||
F4INT = CB.202
|
||||
F4LEN = CB.203
|
||||
F4LONG = CB.204
|
||||
F4MEMOASSIGN = CB.205
|
||||
F4MEMOASSIGNN = CB.206
|
||||
F4MEMOFREE = CB.207
|
||||
F4MEMOLEN = CB.208
|
||||
F4MEMONCPY = CB.209
|
||||
F4MEMOPTR = CB.210
|
||||
F4MEMOSETLEN = CB.211
|
||||
F4MEMOSTR = CB.212
|
||||
F4NAME = CB.213
|
||||
F4NCPY = CB.214
|
||||
F4PTR = CB.215
|
||||
F4STR = CB.216
|
||||
F4TRUE = CB.217
|
||||
F4TYPE = CB.218
|
||||
FILE4CLOSE = CB.219
|
||||
FILE4CREATE = CB.220
|
||||
FILE4FLUSH = CB.221
|
||||
FILE4LEN = CB.222
|
||||
FILE4LENSET = CB.223
|
||||
FILE4LOCK = CB.224
|
||||
FILE4OPEN = CB.225
|
||||
FILE4OPENTEST = CB.226
|
||||
FILE4OPTIMIZELOW = CB.227
|
||||
FILE4OPTIMIZEWRITE = CB.228
|
||||
FILE4READ = CB.229
|
||||
FILE4READALL = CB.230
|
||||
FILE4READERROR = CB.231
|
||||
FILE4REFRESH = CB.232
|
||||
FILE4REPLACE = CB.233
|
||||
FILE4SEQREAD = CB.234
|
||||
FILE4SEQREADALL = CB.235
|
||||
FILE4SEQREADINITDO = CB.236
|
||||
FILE4SEQWRITE = CB.237
|
||||
FILE4SEQWRITEFLUSH = CB.238
|
||||
FILE4SEQWRITEINIT = CB.239
|
||||
FILE4SEQWRITEREPEAT = CB.240
|
||||
FILE4TEMP = CB.241
|
||||
FILE4UNLOCK = CB.242
|
||||
FILE4WRITE = CB.243
|
||||
GROUP4CREATE = CB.244
|
||||
GROUP4FOOTERFIRST = CB.245
|
||||
GROUP4FOOTERNEXT = CB.246
|
||||
GROUP4FOOTERPREV = CB.247
|
||||
GROUP4FREE = CB.248
|
||||
GROUP4HEADERFIRST = CB.249
|
||||
GROUP4HEADERNEXT = CB.250
|
||||
GROUP4HEADERPREV = CB.251
|
||||
GROUP4NUMFOOTERS = CB.252
|
||||
GROUP4NUMHEADERS = CB.253
|
||||
GROUP4POSITIONSET = CB.254
|
||||
GROUP4REPEATHEADER = CB.255
|
||||
GROUP4RESETEXPRSET = CB.256
|
||||
GROUP4RESETPAGE = CB.257
|
||||
GROUP4RESETPAGENUM = CB.258
|
||||
GROUP4SWAPFOOTER = CB.259
|
||||
GROUP4SWAPHEADER = CB.260
|
||||
I4CLOSE = CB.261
|
||||
I4CREATE = CB.262
|
||||
I4FILENAME = CB.263
|
||||
I4OPEN = CB.264
|
||||
I4REINDEX = CB.265
|
||||
I4TAGINFO = CB.266
|
||||
L4ADDAFTER = CB.267
|
||||
L4ADDBEFORE = CB.268
|
||||
L4ADDLOW = CB.269
|
||||
L4FIRSTLOW = CB.270
|
||||
L4LASTLOW = CB.271
|
||||
L4NEXTLOW = CB.272
|
||||
L4POP = CB.273
|
||||
L4PREV = CB.274
|
||||
L4REMOVE = CB.275
|
||||
I4TAG = CB.276
|
||||
I4TAGADD = CB.277
|
||||
MEM4ALLOCDEFAULT = CB.278
|
||||
MEM4CHECKMEMORY = CB.279
|
||||
MEM4CREATEALLOCDEFAULT = CB.280
|
||||
MEM4CREATEDEFAULT = CB.281
|
||||
MEM4FREECHECK = CB.282
|
||||
MEM4FREEDEFAULT = CB.283
|
||||
MEM4RELEASE = CB.284
|
||||
MESSAGE4ALLOC = CB.285
|
||||
MESSAGE4FREE = CB.286
|
||||
OBJ4BITMAPFIELDCREATE = CB.287
|
||||
OBJ4BITMAPFIELDFREE = CB.288
|
||||
OBJ4BITMAPFILECREATE = CB.289
|
||||
OBJ4BITMAPFILEFREE = CB.290
|
||||
OBJ4BITMAPSTATICCREATE = CB.291
|
||||
OBJ4BITMAPSTATICFREE = CB.292
|
||||
OBJ4BRACKETS = CB.293
|
||||
OBJ4CALCCREATE = CB.294
|
||||
OBJ4CALCFREE = CB.295
|
||||
OBJ4DATAFIELDSET = CB.296
|
||||
OBJ4DATEFORMAT = CB.297
|
||||
OBJ4DECIMALS = CB.298
|
||||
OBJ4DELETE = CB.299
|
||||
OBJ4DISPLAYONCE = CB.300
|
||||
OBJ4DISPLAYZERO = CB.301
|
||||
OBJ4EXPRCREATE = CB.302
|
||||
OBJ4EXPRFREE = CB.303
|
||||
OBJ4FIELDCREATE = CB.304
|
||||
OBJ4FIELDFREE = CB.305
|
||||
OBJ4FRAMECORNERS = CB.306
|
||||
OBJ4FRAMECREATE = CB.307
|
||||
OBJ4FRAMEFILL = CB.308
|
||||
OBJ4FRAMEFREE = CB.309
|
||||
OBJ4JUSTIFY = CB.310
|
||||
OBJ4LEADINGZERO = CB.311
|
||||
OBJ4LINECREATE = CB.312
|
||||
OBJ4LINEFREE = CB.313
|
||||
OBJ4LINEWIDTH = CB.314
|
||||
OBJ4LOOKAHEAD = CB.315
|
||||
OBJ4NUMERICTYPE = CB.316
|
||||
OBJ4REMOVE = CB.317
|
||||
OBJ4STYLE = CB.318
|
||||
OBJ4TEXTCREATE = CB.319
|
||||
OBJ4TEXTFREE = CB.320
|
||||
OBJ4TOTALCREATE = CB.321
|
||||
OBJ4TOTALFREE = CB.322
|
||||
RELATE4BOTTOM = CB.323
|
||||
RELATE4CHANGED = CB.324
|
||||
RELATE4CREATESLAVE = CB.325
|
||||
RELATE4DOALL = CB.326
|
||||
RELATE4DOONE = CB.327
|
||||
RELATE4EOF = CB.328
|
||||
RELATE4ERRORACTION = CB.329
|
||||
RELATE4FREE = CB.330
|
||||
RELATE4FREERELATE = CB.331
|
||||
RELATE4INIT = CB.332
|
||||
RELATE4LOCK = CB.333
|
||||
RELATE4UNLOCK = CB.334
|
||||
RELATE4LOCKADD = CB.335
|
||||
RELATE4LOOKUP_DATA = CB.336
|
||||
RELATE4MATCHLEN = CB.337
|
||||
RELATE4NEXT = CB.338
|
||||
RELATE4OPTIMIZEABLE = CB.339
|
||||
RELATE4QUERYSET = CB.340
|
||||
RELATE4RETRIEVE = CB.341
|
||||
RELATE4RETRIEVE2 = CB.342
|
||||
RELATE4SAVE = CB.343
|
||||
RELATE4SAVE2 = CB.344
|
||||
RELATE4SKIP = CB.345
|
||||
RELATE4SKIPENABLE = CB.346
|
||||
RELATE4SORTSET = CB.347
|
||||
RELATE4TOP = CB.348
|
||||
RELATE4TYPE = CB.349
|
||||
REPORT4CAPTION = CB.350
|
||||
REPORT4CURRENCY = CB.351
|
||||
REPORT4DATADO = CB.352
|
||||
REPORT4DATAFILESET = CB.353
|
||||
REPORT4DATAGROUP = CB.354
|
||||
REPORT4DATEFORMAT = CB.355
|
||||
REPORT4DECIMAL = CB.356
|
||||
REPORT4DO = CB.357
|
||||
REPORT4FREE = CB.358
|
||||
REPORT4FREE_STYLES = CB.359
|
||||
REPORT4GENERATEPAGE = CB.360
|
||||
REPORT4GET_PRINTERIC = CB.361
|
||||
REPORT4GROUPFIRST = CB.362
|
||||
REPORT4GROUPHARDRESETS = CB.363
|
||||
REPORT4GROUPLAST = CB.364
|
||||
REPORT4GROUPLOOKUP = CB.365
|
||||
REPORT4GROUPNEXT = CB.366
|
||||
REPORT4GROUPPREV = CB.367
|
||||
REPORT4INIT = CB.368
|
||||
REPORT4INDEX_TYPE = CB.369
|
||||
REPORT4MARGINS = CB.370
|
||||
REPORT4NUMGROUPS = CB.371
|
||||
REPORT4NUMSTYLES = CB.372
|
||||
REPORT4OFF_WRITE = CB.373
|
||||
REPORT4OUTPUT = CB.374
|
||||
REPORT4PAGEFREE = CB.375
|
||||
REPORT4PAGEHEADERFOOTER = CB.376
|
||||
REPORT4PAGEINIT = CB.377
|
||||
REPORT4PAGEMARGINSGET = CB.378
|
||||
REPORT4PAGEOBJFIRST = CB.379
|
||||
REPORT4PAGEOBJNEXT = CB.380
|
||||
REPORT4PAGESIZE = CB.381
|
||||
REPORT4PAGESIZEGET = CB.382
|
||||
REPORT4PARENT = CB.383
|
||||
REPORT4PRINTERDC = CB.384
|
||||
REPORT4PRINTERSELECT = CB.385
|
||||
REPORT4QUERYSET = CB.386
|
||||
REPORT4RETRIEVE = CB.387
|
||||
REPORT4RETRIEVE2 = CB.388
|
||||
REPORT4SAVE = CB.389
|
||||
REPORT4SEPARATOR = CB.390
|
||||
REPORT4SORTSET = CB.391
|
||||
REPORT4STYLEFIRST = CB.392
|
||||
REPORT4STYLELAST = CB.393
|
||||
REPORT4STYLENEXT = CB.394
|
||||
REPORT4STYLESELECT = CB.395
|
||||
REPORT4STYLESELECTED = CB.396
|
||||
REPORT4STYLESHEETLOAD = CB.397
|
||||
REPORT4STYLESHEETSAVE = CB.398
|
||||
REPORT4TITLEPAGE = CB.399
|
||||
REPORT4TITLESUMMARY = CB.400
|
||||
REPORT4TOSCREEN = CB.401
|
||||
SOCKET4CODEBASE = CB.402
|
||||
SORT4FREE = CB.403
|
||||
SORT4GET = CB.404
|
||||
SORT4GETINIT = CB.405
|
||||
SORT4INIT = CB.409
|
||||
SORT4PUT = CB.410
|
||||
STYLE4COLOR = CB.411
|
||||
STYLE4CREATE = CB.412
|
||||
STYLE4DELETE = CB.413
|
||||
STYLE4FREE = CB.414
|
||||
STYLE4INDEX = CB.415
|
||||
STYLE4LOOKUP = CB.416
|
||||
T4ALIAS = CB.417
|
||||
T4CLOSE = CB.418
|
||||
T4EXPRLOW = CB.419
|
||||
T4FILTERLOW = CB.420
|
||||
T4OPENLOW = CB.421
|
||||
T4UNIQUE = CB.422
|
||||
T4UNIQUESET = CB.423
|
||||
TOTAL4ADDCONDITION = CB.424
|
||||
TOTAL4CREATE = CB.425
|
||||
TOTAL4FREE = CB.426
|
||||
TOTAL4LOOKUP = CB.427
|
||||
U4ALLOCAGAINDEFAULT = CB.428
|
||||
U4ALLOCDEFAULT = CB.429
|
||||
U4ALLOCERDEFAULT = CB.430
|
||||
U4ALLOCFIXEDDEFAULT = CB.431
|
||||
U4ALLOCFREEDEFAULT = CB.432
|
||||
U4DELAYHUNDREDTH = CB.433
|
||||
U4FREEDEFAULT = CB.434
|
||||
U4FREEFIXEDDEFAULT = CB.435
|
||||
U4NAMECHAR = CB.436
|
||||
U4NAMECURRENT = CB.437
|
||||
U4NAMEEXT = CB.438
|
||||
U4NAMEPIECE = CB.439
|
||||
U4NCPY = CB.440
|
||||
U4REMOVE = CB.441
|
||||
U4SWITCH = CB.442
|
||||
U4WRITEERR = CB.443
|
||||
U4YYMMDD = CB.444
|
||||
X4REVERSESHORT = CB.445
|
||||
I4CHANGED = CB.500
|
@ -31,7 +31,7 @@
|
||||
/* #define S4CONSOLE */
|
||||
|
||||
/* Specify Library Type (choose one) */
|
||||
#define S4STATIC
|
||||
/* #define S4STATIC */
|
||||
/* #define S4DLL */
|
||||
/* #define S4DLL_BUILD */
|
||||
|
||||
@ -40,7 +40,7 @@
|
||||
/* #define S4OS2 */ /* for OS/2 */
|
||||
/* #define S4WIN16 */ /* for Windows 3.x */
|
||||
/* #define S4WIN32 */ /* for Windows NT and Windows 95 */
|
||||
#define S4UNIX /* requires CodeBase Portability version */
|
||||
/* #define S4UNIX */ /* requires CodeBase Portability version */
|
||||
/* #define S4MACINTOSH */ /* requires CodeBase Mac version */
|
||||
/* #define S4PASCAL_WIN */ /* requires CodePascal version */
|
||||
|
||||
@ -62,7 +62,7 @@
|
||||
/* Error Configuration Options */
|
||||
/* #define E4ANALYZE */
|
||||
/* #define E4DEBUG */
|
||||
/* #define E4HOOK */
|
||||
#define E4HOOK
|
||||
/* #define E4LINK */
|
||||
/* #define E4MISC */
|
||||
/* #define E4OFF */
|
||||
@ -85,7 +85,7 @@
|
||||
#endif
|
||||
|
||||
/* Spoken Language Switches */
|
||||
/* #define S4ANSI */
|
||||
#define S4ANSI
|
||||
/* #define S4DICTIONARY */
|
||||
/* #define S4FINNISH */
|
||||
/* #define S4FRENCH */
|
||||
@ -180,5 +180,6 @@
|
||||
#endif
|
||||
|
||||
#define S4VERSION 6001
|
||||
//#define S4VERSION 6200
|
||||
|
||||
#endif /* D4ALL_INC */
|
||||
|
@ -185,7 +185,7 @@ static int d4doAppend( DATA4 *data )
|
||||
int S4FUNCTION d4append( DATA4 *data )
|
||||
#endif /* S4CLIENT */
|
||||
{
|
||||
int rc ;
|
||||
int rc , nTag;
|
||||
CODE4 *c4 ;
|
||||
DATA4FILE *d4file ;
|
||||
#ifdef S4CLIENT
|
||||
@ -368,7 +368,7 @@ int S4FUNCTION d4append( DATA4 *data )
|
||||
}
|
||||
#endif /* not S4OFF_MULTI */
|
||||
|
||||
for( tagOn = 0 ;; )
|
||||
for( tagOn = 0, nTag =0 ;; nTag++)
|
||||
{
|
||||
tagOn = d4tagNext( data, tagOn ) ;
|
||||
if ( !tagOn )
|
||||
@ -385,6 +385,8 @@ int S4FUNCTION d4append( DATA4 *data )
|
||||
if ( rc < 0 || rc == r4unique )
|
||||
{
|
||||
saveError = error4set( c4, 0 ) ;
|
||||
if (rc == r4unique)
|
||||
data->recNum = nTag; /* 2nd hammer shot */
|
||||
|
||||
/* Remove the keys which were just added */
|
||||
for(;;)
|
||||
|
@ -138,11 +138,11 @@ int S4FUNCTION d4bottom( DATA4 *data )
|
||||
if ( rec < 0 )
|
||||
return (int)rec ;
|
||||
#ifndef S4INDEX_OFF
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifndef S4OFF_WRITE
|
||||
rc = d4updateRecord( data, 1 ) ;
|
||||
rc = d4updateRecord( data, 0 ) ; /* was 1 */
|
||||
if ( rc )
|
||||
return error4stack( data->codeBase, (short)rc, E91201 ) ;
|
||||
#endif
|
||||
|
@ -650,7 +650,7 @@ int dfile4writeData( DATA4FILE *, const long, const char * ) ;
|
||||
int dfile4lockAppendRecord( DATA4FILE *, const long, const long ) ;
|
||||
int dfile4lockFile( DATA4FILE *, const long, const long ) ;
|
||||
#endif
|
||||
int dfile4lockIndex( DATA4FILE *, const long ) ;
|
||||
S4EXPORT int S4FUNCTION dfile4lockIndex( DATA4FILE *, const long ) ;
|
||||
int dfile4lockTest( DATA4FILE *, const long, const long, const long ) ;
|
||||
int dfile4lockTestIndex( DATA4FILE *, const long ) ;
|
||||
int dfile4lockTestRecs( DATA4FILE *, const long, const long ) ;
|
||||
@ -915,13 +915,13 @@ int mem4reset( void ) ;
|
||||
int t4addCalc( TAG4 *, long ) ; /* Calculates expression and adds */
|
||||
#define tfile4alias( t4 ) ( (t4)->alias )
|
||||
B4BLOCK *tfile4block( TAG4FILE * ) ;
|
||||
int tfile4bottom( TAG4FILE * ) ;
|
||||
S4EXPORT int S4FUNCTION tfile4bottom( TAG4FILE * ) ;
|
||||
int t4check( TAG4 * ) ;
|
||||
long tfile4dskip( TAG4FILE *, long ) ;
|
||||
int tfile4down( TAG4FILE * ) ;
|
||||
int tfile4dump( TAG4FILE *, int, const int ) ;
|
||||
int tfile4empty( TAG4FILE * ) ;
|
||||
int tfile4eof( TAG4FILE * ) ;
|
||||
S4EXPORT int S4FUNCTION tfile4eof( TAG4FILE * ) ;
|
||||
int tfile4exprKey( TAG4FILE *, unsigned char * * ) ;
|
||||
int tfile4freeAll( TAG4FILE * ) ;
|
||||
int tfile4freeSaved( TAG4FILE * ) ;
|
||||
@ -929,20 +929,20 @@ int mem4reset( void ) ;
|
||||
int tfile4goEof( TAG4FILE * ) ;
|
||||
int tfile4go2( TAG4FILE *, const unsigned char *, const long, const int ) ;
|
||||
int tfile4initSeekConv( TAG4FILE *, int ) ; /* Initialize 'stok' and 'dtok' */
|
||||
char *tfile4key( TAG4FILE * ) ;
|
||||
char * tfile4key( TAG4FILE * ) ;
|
||||
B4KEY_DATA *tfile4keyData( TAG4FILE * ) ; /* The current key */
|
||||
int tfile4outOfDate( TAG4FILE * ) ;
|
||||
int tfile4position2( TAG4FILE *, double * ) ;
|
||||
double tfile4position( TAG4FILE * ) ; /* Returns the position as a percent */
|
||||
double tfile4positionDbl( TAG4FILE * ) ; /* Returns the position as a percent */
|
||||
int tfile4positionSet( TAG4FILE *, const double ) ; /* Positions a percentage */
|
||||
long tfile4recNo( TAG4FILE * ) ;
|
||||
S4EXPORT long S4FUNCTION tfile4recNo( TAG4FILE * ) ;
|
||||
int tfile4removeCurrent( TAG4FILE * ) ; /* Remove the current key */
|
||||
int tfile4remove( TAG4FILE *, const unsigned char *, const long ) ; /* Remove specified key */
|
||||
int tfile4removeCalc( TAG4FILE *, long ) ; /* Calculates expression and removes */
|
||||
int tfile4rlBottom( TAG4FILE * ) ;
|
||||
int tfile4rlTop( TAG4FILE * ) ;
|
||||
int tfile4seek( TAG4FILE *, const void *, const int ) ; /* r4success, r4found, r4after, r4eof */
|
||||
S4EXPORT int S4FUNCTION tfile4seek( TAG4FILE *, const void *, const int ) ; /* r4success, r4found, r4after, r4eof */
|
||||
#ifdef S4VFP_KEY
|
||||
int tfile4vfpKey( TAG4FILE * ) ;
|
||||
#endif
|
||||
@ -950,7 +950,7 @@ int mem4reset( void ) ;
|
||||
int tfile4setCollatingSeq( TAG4FILE *, const int ) ;
|
||||
int tfile4setCodePage( TAG4FILE *, const int ) ;
|
||||
#endif
|
||||
long tfile4skip( TAG4FILE *, long ) ;
|
||||
S4EXPORT long S4FUNCTION tfile4skip( TAG4FILE *, long ) ;
|
||||
int tfile4top( TAG4FILE * ) ;
|
||||
int tfile4type( TAG4FILE * ) ;
|
||||
int tfile4up( TAG4FILE * ) ;
|
||||
@ -1138,3 +1138,5 @@ S4LONG x4reverseLong( const void S4PTR * ) ;
|
||||
void t4noChangeStr( char *, const char *, const int ) ;
|
||||
void t4noChangeDouble( char *, const double ) ;
|
||||
#endif
|
||||
|
||||
#include "a4declar.h"
|
@ -84,11 +84,13 @@
|
||||
|
||||
#ifdef S4UNIX
|
||||
#define S4DIR '/'
|
||||
#define S4DIR1 '\\'
|
||||
#else
|
||||
/* */
|
||||
/* */
|
||||
/* */
|
||||
#define S4DIR '\\'
|
||||
#define S4DIR1 '/'
|
||||
/* */
|
||||
#endif
|
||||
|
||||
|
@ -338,7 +338,7 @@ int S4FUNCTION d4goEof( DATA4 *data )
|
||||
return e4codeBase ;
|
||||
|
||||
#ifndef S4OFF_WRITE
|
||||
rc = d4updateRecord( data, 1 ) ;
|
||||
rc = d4updateRecord( data, 0 ) ; /* was 1 */
|
||||
if ( rc )
|
||||
return rc ;
|
||||
#endif
|
||||
|
@ -209,7 +209,7 @@ static int d4seekServer( DATA4 *data, const void *searchData, const int len, con
|
||||
return r4noTag ;
|
||||
|
||||
#ifndef S4OFF_WRITE
|
||||
rc = d4updateRecord( data, 1 ) ;
|
||||
rc = d4updateRecord( data, 0 ) ; /* was 1 */
|
||||
if ( rc )
|
||||
return rc ;
|
||||
#endif
|
||||
@ -353,7 +353,7 @@ int S4FUNCTION d4seekNextN( DATA4 *data, const char *str, const int l )
|
||||
return r4noTag ;
|
||||
|
||||
#ifndef S4OFF_WRITE
|
||||
rc = d4updateRecord( data, 1 ) ;
|
||||
rc = d4updateRecord( data, 0 ) ; /* was 1 */
|
||||
if ( rc )
|
||||
return rc ;
|
||||
#endif
|
||||
@ -573,7 +573,7 @@ int S4FUNCTION d4seekN( DATA4 *data, const char *str, const int l )
|
||||
return r4noTag ;
|
||||
|
||||
#ifndef S4OFF_WRITE
|
||||
rc = d4updateRecord( data, 1 ) ;
|
||||
rc = d4updateRecord( data, 0 ) ; /* was 1*/
|
||||
if ( rc )
|
||||
return rc ;
|
||||
#endif
|
||||
@ -739,7 +739,7 @@ int S4FUNCTION d4seekDouble( DATA4 *data, const double dkey )
|
||||
return r4noTag ;
|
||||
|
||||
#ifndef S4OFF_WRITE
|
||||
rc = d4updateRecord( data, 1 ) ;
|
||||
rc = d4updateRecord( data, 0 ) ; /* was 1 */
|
||||
if ( rc )
|
||||
return rc ;
|
||||
#endif
|
||||
@ -886,7 +886,7 @@ int S4FUNCTION d4seekNextDouble( DATA4 *data, const double dkey )
|
||||
return r4noTag ;
|
||||
|
||||
#ifndef S4OFF_WRITE
|
||||
rc = d4updateRecord( data, 1 ) ;
|
||||
rc = d4updateRecord( data, 0 ) ; /* was 1 */
|
||||
if ( rc )
|
||||
return rc ;
|
||||
#endif
|
||||
|
@ -93,7 +93,7 @@ long d4skipRecno( DATA4 *data, long n )
|
||||
#ifndef S4OFF_WRITE
|
||||
if ( data->recordChanged )
|
||||
{
|
||||
rc = d4updateRecord( data, 1 ) ;
|
||||
rc = d4updateRecord( data, 0 ) ; /* was 1 */
|
||||
if ( rc < 0 )
|
||||
return rc ;
|
||||
}
|
||||
@ -668,7 +668,7 @@ int S4FUNCTION d4skip( DATA4 *data, const long nSkip )
|
||||
#ifndef S4OFF_WRITE
|
||||
if ( data->recordChanged )
|
||||
{
|
||||
rc = d4updateRecord( data, 1 ) ;
|
||||
rc = d4updateRecord( data, 0 ) ; /* was 1 */
|
||||
if ( rc < 0 )
|
||||
return rc ;
|
||||
}
|
||||
|
@ -150,7 +150,7 @@ int S4FUNCTION d4top( DATA4 *data )
|
||||
{
|
||||
tagFile = tag->tagFile ;
|
||||
#ifndef S4OFF_WRITE
|
||||
rc = d4updateRecord( data, 1 ) ;
|
||||
rc = d4updateRecord( data, 0 ) ; /* was 1 */
|
||||
if ( rc )
|
||||
return rc ;
|
||||
#endif
|
||||
|
@ -604,7 +604,7 @@ int dfile4lockAll( DATA4FILE *data, const long clientId, const long serverId, DA
|
||||
}
|
||||
#else
|
||||
/* not S4CLIENT */
|
||||
int dfile4lockIndex( DATA4FILE *data, const long serverId )
|
||||
S4EXPORT int S4FUNCTION dfile4lockIndex( DATA4FILE *data, const long serverId )
|
||||
{
|
||||
#ifndef S4INDEX_OFF
|
||||
int rc, oldAttempts, count ;
|
||||
|
@ -11,7 +11,7 @@
|
||||
|
||||
#ifndef S4INDEX_OFF
|
||||
|
||||
char *tfile4key( TAG4FILE *t4 )
|
||||
char * tfile4key( TAG4FILE *t4 )
|
||||
{
|
||||
B4BLOCK *b4 ;
|
||||
|
||||
|
@ -732,7 +732,7 @@ int tfile4rlBottom( TAG4FILE *t4 )
|
||||
return 0 ;
|
||||
}
|
||||
|
||||
int tfile4bottom( TAG4FILE *t4 )
|
||||
S4EXPORT int S4FUNCTION tfile4bottom( TAG4FILE *t4 )
|
||||
{
|
||||
#ifdef E4PARM_LOW
|
||||
if ( t4 == 0 )
|
||||
@ -979,7 +979,7 @@ int tfile4down( TAG4FILE *t4 )
|
||||
#endif
|
||||
}
|
||||
|
||||
int tfile4eof( TAG4FILE *t4 )
|
||||
S4EXPORT int S4FUNCTION tfile4eof( TAG4FILE *t4 )
|
||||
{
|
||||
B4BLOCK *b4 ;
|
||||
|
||||
@ -1298,7 +1298,7 @@ B4KEY_DATA *tfile4keyData( TAG4FILE *t4 )
|
||||
}
|
||||
|
||||
/* returns 0 if tag is empty */
|
||||
long tfile4recNo( TAG4FILE *t4 )
|
||||
S4EXPORT long S4FUNCTION tfile4recNo( TAG4FILE *t4 )
|
||||
{
|
||||
B4BLOCK *blockOn ;
|
||||
|
||||
@ -1324,7 +1324,7 @@ long tfile4recNo( TAG4FILE *t4 )
|
||||
return b4recNo( blockOn, blockOn->keyOn ) ;
|
||||
}
|
||||
|
||||
int tfile4seek( TAG4FILE *t4, const void *ptr, const int lenIn )
|
||||
S4EXPORT int S4FUNCTION tfile4seek( TAG4FILE *t4, const void *ptr, const int lenIn )
|
||||
{
|
||||
int rc, rc2, lenPtr ;
|
||||
B4BLOCK *blockOn ;
|
||||
@ -1480,7 +1480,7 @@ int tfile4seek( TAG4FILE *t4, const void *ptr, const int lenIn )
|
||||
return rc ;
|
||||
}
|
||||
|
||||
long tfile4skip( TAG4FILE *t4, long numSkip )
|
||||
S4EXPORT long S4FUNCTION tfile4skip( TAG4FILE *t4, long numSkip )
|
||||
{
|
||||
long numLeft ;
|
||||
B4BLOCK *blockOn ;
|
||||
|
@ -38,7 +38,7 @@ int S4FUNCTION u4nameExt( char *name, int lenResult, const char *newExt, const i
|
||||
extPos = onPos ;
|
||||
break ;
|
||||
}
|
||||
if ( name[onPos] == S4DIR )
|
||||
if (name[onPos] == S4DIR || name[onPos] == S4DIR1)
|
||||
break ;
|
||||
if ( onPos == 0 )
|
||||
break ;
|
||||
@ -80,22 +80,25 @@ static int u4nameFix( char *buf )
|
||||
len = strlen( buf ) ;
|
||||
|
||||
for( i = 0 ; i < len - 2 ; i++ )
|
||||
{
|
||||
{
|
||||
/*
|
||||
#ifdef S4UNIX
|
||||
if ( c4memcmp(buf+i, "../", 3 ) == 0 )
|
||||
#else
|
||||
if ( c4memcmp( buf + i, "..\\", 3 ) == 0 )
|
||||
#endif
|
||||
*/
|
||||
if ( c4memcmp(buf+i, "../", 3 ) == 0 || c4memcmp( buf + i, "..\\", 3 ) == 0 )
|
||||
{
|
||||
len -= 3 ;
|
||||
c4memmove( buf+i, buf+i+3, (unsigned int)(len - i) ) ;
|
||||
if ( i >= 2 ) /* need to remove previous path part too */
|
||||
{
|
||||
if ( buf[i-1] != S4DIR )
|
||||
if ( buf[i-1] != S4DIR || buf[i-1] != S4DIR1 )
|
||||
return error4( 0, e4name, E94510 ) ;
|
||||
for( j = i-2 ; j > 0 ; j-- )
|
||||
{
|
||||
if ( buf[j] == S4DIR )
|
||||
if ( buf[j] == S4DIR || buf[j] == S4DIR1 )
|
||||
{
|
||||
c4memmove( buf+j+1, buf+i, (unsigned int)(len - i) ) ;
|
||||
l2 = i - j - 1 ;
|
||||
@ -110,12 +113,15 @@ static int u4nameFix( char *buf )
|
||||
}
|
||||
|
||||
for( i = 0 ; i < len - 1 ; i++ )
|
||||
{
|
||||
{
|
||||
/*
|
||||
#ifdef S4UNIX
|
||||
if ( c4memcmp( buf + i, "./", 2 ) == 0 )
|
||||
#else
|
||||
if ( c4memcmp( buf + i, ".\\", 2 ) == 0 )
|
||||
#endif
|
||||
*/
|
||||
if ( c4memcmp( buf + i, "./", 2 ) == 0 || c4memcmp( buf + i, ".\\", 2 ) == 0 )
|
||||
{
|
||||
len -= 2 ;
|
||||
c4memmove( buf+i, buf+i+2, (unsigned int)(len - i) ) ;
|
||||
@ -144,7 +150,7 @@ int S4FUNCTION u4nameCurrent( char *buf, const int bufLen, const char *name )
|
||||
return error4( 0, e4parm_null, E94509 ) ;
|
||||
#endif
|
||||
|
||||
if ( name[0] == S4DIR ) /* full path */
|
||||
if ( name[0] == S4DIR || name[0] == S4DIR1 ) /* full path */
|
||||
{
|
||||
len = strlen( name ) ;
|
||||
if ( len+1 > bufLen )
|
||||
@ -179,16 +185,16 @@ int S4FUNCTION u4nameCurrent( char *buf, const int bufLen, const char *name )
|
||||
if ( len2 == 2 )
|
||||
break ;
|
||||
len2-- ;
|
||||
if ( buf[len2] == S4DIR )
|
||||
if ( buf[len2] == S4DIR || buf[len2] == S4DIR1 )
|
||||
break ;
|
||||
}
|
||||
namePos += 3 ;
|
||||
}
|
||||
if ( buf[len2-1] != S4DIR ) /* need to add the backslash */
|
||||
if ( buf[len2-1] != S4DIR || buf[len2-1] != S4DIR1 ) /* need to add the backslash */
|
||||
{
|
||||
if ( len2 + 1 >= bufLen )
|
||||
return error4( 0, e4parm, E94509 ) ;
|
||||
buf[len2] = S4DIR ;
|
||||
buf[len2] = S4DIR ; /* ???? */
|
||||
len2++ ;
|
||||
}
|
||||
len = strlen( name + namePos ) ;
|
||||
@ -238,7 +244,7 @@ int S4FUNCTION u4nameCurrent( char *buf, const int bufLen, const char *name )
|
||||
#endif
|
||||
buf[0] = 'A' + (char)(driveNo - 1) ;
|
||||
buf[1] = ':' ;
|
||||
if ( name[0] == '\\' ) /* just append the path */
|
||||
if ( name[0] == S4DIR || name[0] == S4DIR1 ) /* just append the path */
|
||||
{
|
||||
len = strlen( name ) ;
|
||||
if ( len + 3 > bufLen )
|
||||
@ -251,7 +257,7 @@ int S4FUNCTION u4nameCurrent( char *buf, const int bufLen, const char *name )
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( name[2] == '\\' ) /* have the full path, so done */
|
||||
if ( name[2] == S4DIR || name[2] == S4DIR1 ) /* have the full path, so done */
|
||||
{
|
||||
len = strlen( name ) ;
|
||||
if ( len + 1 > bufLen )
|
||||
@ -310,7 +316,7 @@ int S4FUNCTION u4nameCurrent( char *buf, const int bufLen, const char *name )
|
||||
len2 = strlen( buf ) ;
|
||||
for ( ;; )
|
||||
{
|
||||
if ( c4memcmp( name + namePos, "..\\", 3 ) != 0 )
|
||||
if ( c4memcmp( name + namePos, "..\\", 3 ) != 0 || c4memcmp( name + namePos, "../", 3 ) != 0 )
|
||||
break;
|
||||
/* must remove part of the current path */
|
||||
if ( len2 > 2 )
|
||||
@ -320,16 +326,16 @@ int S4FUNCTION u4nameCurrent( char *buf, const int bufLen, const char *name )
|
||||
if ( len2 == 2 )
|
||||
break ;
|
||||
len2-- ;
|
||||
if ( buf[len2] == '\\' )
|
||||
if ( buf[len2] == S4DIR || buf[len2] == S4DIR )
|
||||
break ;
|
||||
}
|
||||
namePos += 3 ;
|
||||
}
|
||||
if ( name[0] != '\\' && buf[len2-1] != '\\' ) /* need to add the backslash */
|
||||
if (( name[0] != S4DIR || name[0] != S4DIR1) && (buf[len2-1] != S4DIR || buf[len2-1] != S4DIR1)) /* need to add the backslash */
|
||||
{
|
||||
if ( len2 + 1 >= bufLen )
|
||||
return error4( 0, e4parm, E94509 ) ;
|
||||
buf[len2] = '\\' ;
|
||||
buf[len2] = S4DIR ;
|
||||
len2++ ;
|
||||
}
|
||||
len = strlen( name + namePos ) ;
|
||||
@ -360,12 +366,12 @@ void u4nameMake( char *buf, const int bufLen, const char *defaultDrive, const ch
|
||||
else
|
||||
defaultDirectoryLen = 0 ;
|
||||
|
||||
if ( fileName[0] != S4DIR && defaultDirectoryLen > 0 )
|
||||
if (( fileName[0] != S4DIR || fileName[0] != S4DIR1 ) && defaultDirectoryLen > 0 )
|
||||
{
|
||||
if ( pos+2 >= bufLen )
|
||||
return ;
|
||||
buf[pos++] = S4DIR ;
|
||||
if ( defaultDirectory[0] == S4DIR )
|
||||
if ( defaultDirectory[0] == S4DIR || defaultDirectory[0] == S4DIR1 )
|
||||
defaultDirectory++ ;
|
||||
|
||||
defaultDirectoryLen = strlen(defaultDirectory) ;
|
||||
@ -379,9 +385,9 @@ void u4nameMake( char *buf, const int bufLen, const char *defaultDrive, const ch
|
||||
|
||||
if ( pos > 0 )
|
||||
{
|
||||
if ( buf[pos-1] != S4DIR )
|
||||
if ( buf[pos-1] != S4DIR || buf[pos-1] != S4DIR1 )
|
||||
buf[pos++] = S4DIR ;
|
||||
if ( fileName[0] == S4DIR )
|
||||
if ( fileName[0] == S4DIR || fileName[0] == S4DIR1 )
|
||||
fileName++ ;
|
||||
}
|
||||
|
||||
@ -410,6 +416,7 @@ int S4FUNCTION u4namePiece( char *result, const unsigned int lenResult, const ch
|
||||
switch ( from[onPos] )
|
||||
{
|
||||
case S4DIR:
|
||||
case S4DIR1:
|
||||
case ':':
|
||||
if (namePos == 0) namePos = onPos + 1 ;
|
||||
arePastExt = 1 ;
|
||||
@ -525,7 +532,7 @@ int u4namePath( char *result, const unsigned int lenResult, const char *from )
|
||||
for( onPos = 0 ; result[onPos] != 0 ; onPos++ ) ;
|
||||
|
||||
for( ; onPos >= 0 ; onPos-- )
|
||||
if( result[onPos] == S4DIR || result[onPos] == ':' ) break ; /* end of path */
|
||||
if( result[onPos] == S4DIR || result[onPos] == S4DIR || result[onPos] == ':' ) break ; /* end of path */
|
||||
|
||||
if( onPos < (long)lenResult )
|
||||
result[++onPos] = '\0' ;
|
||||
|
Loading…
x
Reference in New Issue
Block a user