- Adapted indenation to new agreed upon system
- Added support for second generation scriptcontext based counter
This commit is contained in:
62
nxstack.c
62
nxstack.c
@@ -33,68 +33,88 @@ typedef struct {
|
||||
pNexusFunction pDriver;
|
||||
NXlink closeID;
|
||||
char filename[1024];
|
||||
}fileStackEntry;
|
||||
} fileStackEntry;
|
||||
|
||||
|
||||
typedef struct __fileStack {
|
||||
int fileStackPointer;
|
||||
fileStackEntry fileStack[MAXEXTERNALDEPTH];
|
||||
}fileStack;
|
||||
} fileStack;
|
||||
/*---------------------------------------------------------------------*/
|
||||
pFileStack makeFileStack(){
|
||||
pFileStack makeFileStack()
|
||||
{
|
||||
pFileStack pNew = NULL;
|
||||
|
||||
|
||||
pNew = malloc(sizeof(fileStack));
|
||||
if(pNew == NULL){
|
||||
if (pNew == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
memset(pNew,0,sizeof(fileStack));
|
||||
memset(pNew, 0, sizeof(fileStack));
|
||||
pNew->fileStackPointer = -1;
|
||||
return pNew;
|
||||
}
|
||||
|
||||
/*---------------------------------------------------------------------*/
|
||||
void killFileStack(pFileStack self){
|
||||
if(self != NULL){
|
||||
void killFileStack(pFileStack self)
|
||||
{
|
||||
if (self != NULL) {
|
||||
free(self);
|
||||
}
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
void pushFileStack(pFileStack self, pNexusFunction pDriv, char *file){
|
||||
void pushFileStack(pFileStack self, pNexusFunction pDriv, char *file)
|
||||
{
|
||||
int length;
|
||||
|
||||
self->fileStackPointer++;
|
||||
self->fileStack[self->fileStackPointer].pDriver = pDriv;
|
||||
memset(&self->fileStack[self->fileStackPointer].closeID,0,sizeof(NXlink));
|
||||
memset(&self->fileStack[self->fileStackPointer].closeID, 0,
|
||||
sizeof(NXlink));
|
||||
length = strlen(file);
|
||||
if(length >= 1024){
|
||||
if (length >= 1024) {
|
||||
length = 1023;
|
||||
}
|
||||
memcpy(&self->fileStack[self->fileStackPointer].filename,file,length);
|
||||
memcpy(&self->fileStack[self->fileStackPointer].filename, file, length);
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
void popFileStack(pFileStack self){
|
||||
void popFileStack(pFileStack self)
|
||||
{
|
||||
self->fileStackPointer--;
|
||||
if(self->fileStackPointer < -1){
|
||||
if (self->fileStackPointer < -1) {
|
||||
self->fileStackPointer = -1;
|
||||
}
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
pNexusFunction peekFileOnStack(pFileStack self){
|
||||
pNexusFunction peekFileOnStack(pFileStack self)
|
||||
{
|
||||
return self->fileStack[self->fileStackPointer].pDriver;
|
||||
}
|
||||
|
||||
/*---------------------------------------------------------------------*/
|
||||
char *peekFilenameOnStack(pFileStack self){
|
||||
char *peekFilenameOnStack(pFileStack self)
|
||||
{
|
||||
return self->fileStack[self->fileStackPointer].filename;
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
void peekIDOnStack(pFileStack self, NXlink *id){
|
||||
memcpy(id, &self->fileStack[self->fileStackPointer].closeID, sizeof(NXlink));
|
||||
void peekIDOnStack(pFileStack self, NXlink * id)
|
||||
{
|
||||
memcpy(id, &self->fileStack[self->fileStackPointer].closeID,
|
||||
sizeof(NXlink));
|
||||
}
|
||||
|
||||
/*---------------------------------------------------------------------*/
|
||||
void setCloseID(pFileStack self, NXlink id){
|
||||
memcpy(&self->fileStack[self->fileStackPointer].closeID, &id, sizeof(NXlink));
|
||||
void setCloseID(pFileStack self, NXlink id)
|
||||
{
|
||||
memcpy(&self->fileStack[self->fileStackPointer].closeID, &id,
|
||||
sizeof(NXlink));
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
int fileStackDepth(pFileStack self){
|
||||
int fileStackDepth(pFileStack self)
|
||||
{
|
||||
return self->fileStackPointer;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user