1
0
mirror of https://github.com/Interlisp/maiko.git synced 2026-03-05 10:44:07 +00:00

Correct types in array header and sequence descriptors to match Lisp datatypes

The "fillpointer" and "totalsize" fields of the array header and the "offst"
   of the sequence descriptor were declared as LispPTR, an unsigned type that
   represents an offset into the Lisp memory, however the Lisp datatype
   declaration indicates that these are FIXP (int32_t) rather than pointers.
This commit is contained in:
Nick Briggs
2023-01-15 15:48:15 -08:00
parent ff7cf4f139
commit 4cc267856b

View File

@@ -24,8 +24,8 @@ typedef struct sequencedescriptor {
unsigned nil2 :1;
unsigned base :28;
unsigned typ :4;
unsigned length: 28;
LispPTR offst;
unsigned length :28;
int32_t offst;
} Arrayp;
struct arrayheader {
@@ -41,8 +41,8 @@ struct arrayheader {
unsigned extendablep :1;
unsigned typenumber :8;
DLword offset;
LispPTR fillpointer;
LispPTR totalsize;
int32_t fillpointer;
int32_t totalsize;
};
#else
typedef struct sequencedescriptor {
@@ -100,9 +100,9 @@ typedef struct sequencedescriptor {
unsigned readonly :1;
unsigned nil :1;
unsigned orig :1;
unsigned length: 28;
unsigned length :28;
unsigned typ :4;
LispPTR offst;
int32_t offst;
} Arrayp;
struct arrayheader {
@@ -118,8 +118,8 @@ struct arrayheader {
unsigned bitp :1;
unsigned indirectp :1;
unsigned readonlyp :1;
LispPTR totalsize;
LispPTR fillpointer;
int32_t totalsize;
int32_t fillpointer;
};
#else
typedef struct sequencedescriptor {
@@ -216,14 +216,6 @@ struct abdum
#define FIRSTARRAYSEGMENT 19
#define MAXCELLSPERHUNK 64
/****************** The following are for codereclaimer *********************/
#define BITSPERBITE 8
/********************* End of codereclaimer *********************************/
/****************************************************************************/
/* */
/* End of Definitions */