removed dependency on ctype.h functionality. also simplified NULL usage.

This commit is contained in:
sezero
2018-08-03 18:27:25 +03:00
parent 4819e38cc4
commit 76a8dc0416
6 changed files with 129 additions and 115 deletions

View File

@@ -83,7 +83,6 @@
*/ */
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <ctype.h>
#include <3dfx.h> #include <3dfx.h>
#define FX_DLL_DEFINITION #define FX_DLL_DEFINITION
@@ -408,7 +407,8 @@ GR_DIENTRY(gu3dfGetInfo, FxBool,
{ {
char *tempStr = (char*)color_format; char *tempStr = (char*)color_format;
while (*tempStr != '\0') { while (*tempStr != '\0') {
*tempStr = toupper(*tempStr); if (*tempStr >= 'a' && *tempStr <= 'z')
*tempStr -= ('a'-'A');
tempStr++; tempStr++;
} }
} }

View File

@@ -26,7 +26,6 @@
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <ctype.h>
#if __WIN32__ #if __WIN32__
#include <windows.h> #include <windows.h>
@@ -82,7 +81,7 @@ FX_ENTRY FxBool FX_CALL sst1InitVoodooFile()
#ifndef DIRECTX #ifndef DIRECTX
int inCfg, inDac; int inCfg, inDac;
FILE *file = (FILE *) NULL; FILE *file = NULL;
char buffer[1024], filename[256]; char buffer[1024], filename[256];
int helper = (getenv(("SSTV2_DEBUGDAC"))) ? 1 : 0; int helper = (getenv(("SSTV2_DEBUGDAC"))) ? 1 : 0;
@@ -232,7 +231,7 @@ FX_ENTRY FxBool FX_CALL sst1InitVoodooFile()
inCfg = inDac = 0; inCfg = inDac = 0;
while(sst1InitFgets(buffer, file)) { while(sst1InitFgets(buffer, file)) {
buffer[strlen(buffer)-1] = (char) NULL; buffer[strlen(buffer)-1] = 0;
if(!strcmp(buffer, "[VOODOO2]")) { if(!strcmp(buffer, "[VOODOO2]")) {
inCfg = 1; inDac = 0; inCfg = 1; inDac = 0;
continue; continue;
@@ -362,7 +361,7 @@ static void foo(int argc, char **argv)
inCfg = inDac = 0; inCfg = inDac = 0;
while(sst1InitFgets(buffer, file)) { while(sst1InitFgets(buffer, file)) {
buffer[strlen(buffer)-1] = (char) NULL; buffer[strlen(buffer)-1] = 0;
if(!strcmp(buffer, "[CFG]")) { if(!strcmp(buffer, "[CFG]")) {
inCfg = 1; inDac = 0; inCfg = 1; inDac = 0;
continue; continue;
@@ -439,7 +438,7 @@ static void sst1InitFixFilename(char *dst, char *src)
*dst++ = *src; *dst++ = *src;
src++; src++;
} }
*dst = (char) NULL; *dst = 0;
} }
#endif #endif
@@ -453,13 +452,23 @@ static int sst1InitFgets(char *string, FILE *stream)
*ptr++ = (char) charRead; *ptr++ = (char) charRead;
validChars++; validChars++;
if(charRead == '\n') { if(charRead == '\n') {
*ptr++ = (char) NULL; *ptr++ = 0;
break; break;
} }
} }
return(validChars); return(validChars);
} }
static __inline int sst1_isspace (int c)
{
switch(c) {
case ' ': case '\t':
case '\n': case '\r':
case '\f': case '\v': return 1;
}
return 0;
}
static int sst1InitFgetc(FILE *stream) static int sst1InitFgetc(FILE *stream)
{ {
static int column = 0; static int column = 0;
@@ -494,11 +503,13 @@ static int sst1InitFgetc(FILE *stream)
} else } else
continue; continue;
} else { } else {
if(isspace(charRead)) if(sst1_isspace(charRead))
continue; continue;
validChars++; validChars++;
column++; column++;
charReadL = (islower(charRead)) ? toupper(charRead) : charRead; charReadL = charRead;
if (charReadL >= 'a' && charReadL <= 'z')
charReadL -= ('a'-'A');
return(charReadL); return(charReadL);
} }
} }
@@ -512,7 +523,7 @@ static int sst1InitParseFieldCfg(char *string)
if((envName = strtok(string, "=")) == NULL) if((envName = strtok(string, "=")) == NULL)
return(0); return(0);
if((envVal = strtok((char *) NULL, "=")) == NULL) if((envVal = strtok(NULL, "=")) == NULL)
/* Valid environment variable, NULL value */ /* Valid environment variable, NULL value */
return(1); return(1);
@@ -520,25 +531,23 @@ static int sst1InitParseFieldCfg(char *string)
sst1InitToLower(envName); sst1InitToLower(envName);
sst1InitToLower(envVal); sst1InitToLower(envVal);
if(envVarsBase == (sst1InitEnvVarStruct *) NULL) { if(envVarsBase == NULL) {
if((envVarsPtr = malloc(sizeof(sst1InitEnvVarStruct))) == if((envVarsPtr = malloc(sizeof(sst1InitEnvVarStruct))) == NULL)
(sst1InitEnvVarStruct *) NULL)
return(0); return(0);
envVarsBase = envVarsPtr; envVarsBase = envVarsPtr;
} else { } else {
envVarsPtr = envVarsBase; envVarsPtr = envVarsBase;
while(1) { while(1) {
if(envVarsPtr->nextVar == (sst1InitEnvVarStruct *) NULL) if(envVarsPtr->nextVar == NULL)
break; break;
else else
envVarsPtr = envVarsPtr->nextVar; envVarsPtr = envVarsPtr->nextVar;
} }
if((envVarsPtr->nextVar = malloc(sizeof(sst1InitEnvVarStruct))) == if((envVarsPtr->nextVar = malloc(sizeof(sst1InitEnvVarStruct))) == NULL)
(sst1InitEnvVarStruct *) NULL)
return(0); return(0);
envVarsPtr = envVarsPtr->nextVar; envVarsPtr = envVarsPtr->nextVar;
} }
envVarsPtr->nextVar = (sst1InitEnvVarStruct *) NULL; envVarsPtr->nextVar = NULL;
strcpy(envVarsPtr->envVariable, envName); strcpy(envVarsPtr->envVariable, envName);
strcpy(envVarsPtr->envValue, envVal); strcpy(envVarsPtr->envValue, envVal);
@@ -549,64 +558,62 @@ static int sst1InitParseFieldCfg(char *string)
static int sst1InitParseFieldDac(char *string) static int sst1InitParseFieldDac(char *string)
{ {
char *dacFieldReference, *dacFieldValue; char *dacFieldReference, *dacFieldValue;
static sst1InitDacStruct *dacPtr = (sst1InitDacStruct *) NULL; static sst1InitDacStruct *dacPtr = NULL;
if((dacFieldReference = strtok(string, "=")) == NULL) if((dacFieldReference = strtok(string, "=")) == NULL)
return(0); return(0);
if(!strcmp(dacFieldReference, "MANUFACTURER")) { if(!strcmp(dacFieldReference, "MANUFACTURER")) {
/* Add new dac device */ /* Add new dac device */
if(dacStructBase == (sst1InitDacStruct *) NULL) { if(dacStructBase == NULL) {
if((dacPtr = malloc(sizeof(sst1InitDacStruct))) == if((dacPtr = malloc(sizeof(sst1InitDacStruct))) == NULL)
(sst1InitDacStruct *) NULL)
return(0); return(0);
dacStructBase = dacPtr; dacStructBase = dacPtr;
} else { } else {
dacPtr = dacStructBase; dacPtr = dacStructBase;
while(1) { while(1) {
if(dacPtr->nextDac == (sst1InitDacStruct *) NULL) if(dacPtr->nextDac == NULL)
break; break;
else else
dacPtr = dacPtr->nextDac; dacPtr = dacPtr->nextDac;
} }
if((dacPtr->nextDac = malloc(sizeof(sst1InitDacStruct))) == if((dacPtr->nextDac = malloc(sizeof(sst1InitDacStruct))) == NULL)
(sst1InitDacStruct *) NULL)
return(0); return(0);
dacPtr = dacPtr->nextDac; dacPtr = dacPtr->nextDac;
} }
dacPtr->nextDac = (sst1InitDacStruct *) NULL; dacPtr->nextDac = NULL;
dacPtr->dacManufacturer[0] = (char) NULL; dacPtr->dacManufacturer[0] = 0;
dacPtr->dacDevice[0] = (char) NULL; dacPtr->dacDevice[0] = 0;
dacPtr->detect = (sst1InitDacRdWrStruct *) NULL; dacPtr->detect = NULL;
dacPtr->setVideo = (sst1InitDacSetVideoStruct *) NULL; dacPtr->setVideo = NULL;
dacPtr->setMemClk = (sst1InitDacSetMemClkStruct *) NULL; dacPtr->setMemClk = NULL;
dacPtr->setVideoMode = (sst1InitDacSetVideoModeStruct *) NULL; dacPtr->setVideoMode = NULL;
if((dacFieldValue = strtok((char *) NULL, "=")) == NULL) if((dacFieldValue = strtok((char *) NULL, "=")) == NULL)
return(0); return(0);
strcpy(dacPtr->dacManufacturer, dacFieldValue); strcpy(dacPtr->dacManufacturer, dacFieldValue);
} else if(!strcmp(dacFieldReference, "DEVICE")) { } else if(!strcmp(dacFieldReference, "DEVICE")) {
if((dacFieldValue = strtok((char *) NULL, "=")) == NULL) if((dacFieldValue = strtok(NULL, "=")) == NULL)
return(0); return(0);
strcpy(dacPtr->dacDevice, dacFieldValue); strcpy(dacPtr->dacDevice, dacFieldValue);
} else if(!strcmp(dacFieldReference, "DETECT")) { } else if(!strcmp(dacFieldReference, "DETECT")) {
if((dacFieldValue = strtok((char *) NULL, "=")) == NULL) if((dacFieldValue = strtok(NULL, "=")) == NULL)
return(0); return(0);
sst1InitToLower(dacFieldValue); sst1InitToLower(dacFieldValue);
if(!sst1InitParseDacRdWrString(dacFieldValue, dacPtr)) if(!sst1InitParseDacRdWrString(dacFieldValue, dacPtr))
return(0); return(0);
} else if(!strcmp(dacFieldReference, "SETVIDEO")) { } else if(!strcmp(dacFieldReference, "SETVIDEO")) {
if((dacFieldValue = strtok((char *) NULL, "=")) == NULL) if((dacFieldValue = strtok(NULL, "=")) == NULL)
return(0); return(0);
sst1InitToLower(dacFieldValue); sst1InitToLower(dacFieldValue);
if(!sst1InitParseSetVideoString(dacFieldValue, dacPtr)) if(!sst1InitParseSetVideoString(dacFieldValue, dacPtr))
return(0); return(0);
} else if(!strcmp(dacFieldReference, "SETMEMCLK")) { } else if(!strcmp(dacFieldReference, "SETMEMCLK")) {
if((dacFieldValue = strtok((char *) NULL, "=")) == NULL) if((dacFieldValue = strtok(NULL, "=")) == NULL)
return(0); return(0);
sst1InitToLower(dacFieldValue); sst1InitToLower(dacFieldValue);
if(!sst1InitParseSetMemClkString(dacFieldValue, dacPtr)) if(!sst1InitParseSetMemClkString(dacFieldValue, dacPtr))
return(0); return(0);
} else if(!strcmp(dacFieldReference, "SETVIDEOMODE")) { } else if(!strcmp(dacFieldReference, "SETVIDEOMODE")) {
if((dacFieldValue = strtok((char *) NULL, "=")) == NULL) if((dacFieldValue = strtok(NULL, "=")) == NULL)
return(0); return(0);
sst1InitToLower(dacFieldValue); sst1InitToLower(dacFieldValue);
if(!sst1InitParseSetVideoModeString(dacFieldValue, dacPtr)) if(!sst1InitParseSetVideoModeString(dacFieldValue, dacPtr))
@@ -646,7 +653,7 @@ static int sst1InitParseDacRdWrString(char *string, sst1InitDacStruct *dacBase)
dacRdWrPtr = dacRdWrPtr->nextRdWr; dacRdWrPtr = dacRdWrPtr->nextRdWr;
} }
dacRdWrPtr->nextRdWr = (sst1InitDacRdWrStruct *) NULL; dacRdWrPtr->nextRdWr = NULL;
if(!sst1InitParseDacRdWr(dacRdWrCmd, dacRdWrPtr)) if(!sst1InitParseDacRdWr(dacRdWrCmd, dacRdWrPtr))
return(0); return(0);
cntr++; cntr++;
@@ -663,16 +670,16 @@ static int sst1InitParseDacRdWr(char *string, sst1InitDacRdWrStruct *dacRdWrPtr)
strcpy(stringCpy, string); strcpy(stringCpy, string);
if(stringCpy[5] == '(') { if(stringCpy[5] == '(') {
stringCpy[5] = (char) NULL; stringCpy[5] = 0;
addrDataCmd = &stringCpy[6]; addrDataCmd = &stringCpy[6];
} else if(stringCpy[7] == '(') { } else if(stringCpy[7] == '(') {
stringCpy[7] = (char) NULL; stringCpy[7] = 0;
addrDataCmd = &stringCpy[8]; addrDataCmd = &stringCpy[8];
} else if(stringCpy[8] == '(') { } else if(stringCpy[8] == '(') {
stringCpy[8] = (char) NULL; stringCpy[8] = 0;
addrDataCmd = &stringCpy[9]; addrDataCmd = &stringCpy[9];
} else if(stringCpy[9] == '(') { } else if(stringCpy[9] == '(') {
stringCpy[9] = (char) NULL; stringCpy[9] = 0;
addrDataCmd = &stringCpy[10]; addrDataCmd = &stringCpy[10];
} else } else
return(0); return(0);
@@ -701,7 +708,7 @@ static int sst1InitParseDacRdWr(char *string, sst1InitDacRdWrStruct *dacRdWrPtr)
return(0); return(0);
if(data[strlen(data)-1] != ')') if(data[strlen(data)-1] != ')')
return(0); return(0);
data[strlen(data)-1] = (char) NULL; data[strlen(data)-1] = 0;
dacRdWrPtr->type = DACRDWR_TYPE_WRMOD_POP; dacRdWrPtr->type = DACRDWR_TYPE_WRMOD_POP;
if (SSCANF(addr, "%i", &i1) != 1) if (SSCANF(addr, "%i", &i1) != 1)
return(0); return(0);
@@ -721,7 +728,7 @@ static int sst1InitParseDacRdWr(char *string, sst1InitDacRdWrStruct *dacRdWrPtr)
return(0); return(0);
if(data[strlen(data)-1] != ')') if(data[strlen(data)-1] != ')')
return(0); return(0);
data[strlen(data)-1] = (char) NULL; data[strlen(data)-1] = 0;
dacRdWrPtr->type = DACRDWR_TYPE_RDMODWR; dacRdWrPtr->type = DACRDWR_TYPE_RDMODWR;
if (SSCANF(addr, "%i", &i1) != 1) if (SSCANF(addr, "%i", &i1) != 1)
return(0); return(0);
@@ -746,7 +753,7 @@ static int sst1InitParseDacRdWr(char *string, sst1InitDacRdWrStruct *dacRdWrPtr)
return(0); return(0);
if(data[strlen(data)-1] != ')') if(data[strlen(data)-1] != ')')
return(0); return(0);
data[strlen(data)-1] = (char) NULL; data[strlen(data)-1] = 0;
if (SSCANF(addr, "%i", &i1) != 1) if (SSCANF(addr, "%i", &i1) != 1)
return(0); return(0);
if (SSCANF(data, "%i", &i2) != 1) if (SSCANF(data, "%i", &i2) != 1)
@@ -829,7 +836,7 @@ static int sst1InitParseSetVideoString(char *string, sst1InitDacStruct *dacBase)
return(0); return(0);
dacSetVideoPtr = dacSetVideoPtr->nextSetVideo; dacSetVideoPtr = dacSetVideoPtr->nextSetVideo;
} }
dacSetVideoPtr->nextSetVideo = (sst1InitDacSetVideoStruct *) NULL; dacSetVideoPtr->nextSetVideo = NULL;
/* Width */ /* Width */
if (SSCANF(dacRdWrCmd, "%i", &dacSetVideoPtr->width) != 1) if (SSCANF(dacRdWrCmd, "%i", &dacSetVideoPtr->width) != 1)
return(0); return(0);
@@ -867,7 +874,7 @@ static int sst1InitParseSetVideoString(char *string, sst1InitDacStruct *dacBase)
return(0); return(0);
dacRdWrPtr = dacRdWrPtr->nextRdWr; dacRdWrPtr = dacRdWrPtr->nextRdWr;
} }
dacRdWrPtr->nextRdWr = (sst1InitDacRdWrStruct *) NULL; dacRdWrPtr->nextRdWr = NULL;
if(!sst1InitParseDacRdWr(dacRdWrCmd, dacRdWrPtr)) if(!sst1InitParseDacRdWr(dacRdWrCmd, dacRdWrPtr))
return(0); return(0);
cntr++; cntr++;
@@ -907,8 +914,7 @@ static int sst1InitParseSetMemClkString(char *string,
return(0); return(0);
dacSetMemClkPtr = dacSetMemClkPtr->nextSetMemClk; dacSetMemClkPtr = dacSetMemClkPtr->nextSetMemClk;
} }
dacSetMemClkPtr->nextSetMemClk = (sst1InitDacSetMemClkStruct *) dacSetMemClkPtr->nextSetMemClk = NULL;
NULL;
/* Frequency */ /* Frequency */
if (SSCANF(dacRdWrCmd, "%i", &dacSetMemClkPtr->frequency) != 1) if (SSCANF(dacRdWrCmd, "%i", &dacSetMemClkPtr->frequency) != 1)
return(0); return(0);
@@ -932,7 +938,7 @@ static int sst1InitParseSetMemClkString(char *string,
return(0); return(0);
dacRdWrPtr = dacRdWrPtr->nextRdWr; dacRdWrPtr = dacRdWrPtr->nextRdWr;
} }
dacRdWrPtr->nextRdWr = (sst1InitDacRdWrStruct *) NULL; dacRdWrPtr->nextRdWr = NULL;
if(!sst1InitParseDacRdWr(dacRdWrCmd, dacRdWrPtr)) if(!sst1InitParseDacRdWr(dacRdWrCmd, dacRdWrPtr))
return(0); return(0);
cntr++; cntr++;
@@ -972,8 +978,7 @@ static int sst1InitParseSetVideoModeString(char *string,
return(0); return(0);
dacSetVideoModePtr = dacSetVideoModePtr->nextSetVideoMode; dacSetVideoModePtr = dacSetVideoModePtr->nextSetVideoMode;
} }
dacSetVideoModePtr->nextSetVideoMode = dacSetVideoModePtr->nextSetVideoMode = NULL;
(sst1InitDacSetVideoModeStruct *) NULL;
/* video16BPP */ /* video16BPP */
if (SSCANF(dacRdWrCmd, "%i", &dacSetVideoModePtr->video16BPP) != 1) if (SSCANF(dacRdWrCmd, "%i", &dacSetVideoModePtr->video16BPP) != 1)
return(0); return(0);
@@ -997,7 +1002,7 @@ static int sst1InitParseSetVideoModeString(char *string,
return(0); return(0);
dacRdWrPtr = dacRdWrPtr->nextRdWr; dacRdWrPtr = dacRdWrPtr->nextRdWr;
} }
dacRdWrPtr->nextRdWr = (sst1InitDacRdWrStruct *) NULL; dacRdWrPtr->nextRdWr = NULL;
if(!sst1InitParseDacRdWr(dacRdWrCmd, dacRdWrPtr)) if(!sst1InitParseDacRdWr(dacRdWrCmd, dacRdWrPtr))
return(0); return(0);
cntr++; cntr++;
@@ -1011,7 +1016,8 @@ static void sst1InitToLower(char *string)
char *ptr = string; char *ptr = string;
while(*ptr) { while(*ptr) {
*ptr = (isupper(*ptr)) ? tolower(*ptr) : *ptr; if (*ptr >= 'A' && *ptr <= 'Z')
*ptr += ('a'-'A');
ptr++; ptr++;
} }
} }

View File

@@ -85,7 +85,6 @@
*/ */
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <ctype.h>
#include <3dfx.h> #include <3dfx.h>
#define FX_DLL_DEFINITION #define FX_DLL_DEFINITION
@@ -413,7 +412,8 @@ GR_DIENTRY(gu3dfGetInfo, FxBool,
{ {
char *tempStr = (char*)color_format; char *tempStr = (char*)color_format;
while (*tempStr != '\0') { while (*tempStr != '\0') {
*tempStr = toupper(*tempStr); if (*tempStr >= 'a' && *tempStr <= 'z')
*tempStr -= ('a'-'A');
tempStr++; tempStr++;
} }
} }

View File

@@ -101,7 +101,6 @@
#include <ctype.h> #include <ctype.h>
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <ctype.h>
#include <3dfx.h> #include <3dfx.h>
#define FX_DLL_DEFINITION #define FX_DLL_DEFINITION
@@ -515,7 +514,8 @@ GR_DIENTRY(gu3dfGetInfo, FxBool,
{ {
char *tempStr = (char*)color_format; char *tempStr = (char*)color_format;
while (*tempStr != '\0') { while (*tempStr != '\0') {
*tempStr = toupper(*tempStr); if (*tempStr >= 'a' && *tempStr <= 'z')
*tempStr -= ('a'-'A');
tempStr++; tempStr++;
} }
} }

View File

@@ -88,7 +88,6 @@
*/ */
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <ctype.h>
#include <3dfx.h> #include <3dfx.h>
#define FX_DLL_DEFINITION #define FX_DLL_DEFINITION
@@ -314,7 +313,8 @@ GR_DIENTRY(gu3dfGetInfo, FxBool,
{ {
char *tempStr = (char*)color_format; char *tempStr = (char*)color_format;
while (*tempStr != '\0') { while (*tempStr != '\0') {
*tempStr = toupper(*tempStr); if (*tempStr >= 'a' && *tempStr <= 'z')
*tempStr -= ('a'-'A');
tempStr++; tempStr++;
} }
} }

View File

@@ -26,7 +26,6 @@
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <ctype.h>
#include <malloc.h> #include <malloc.h>
#include <3dfx.h> #include <3dfx.h>
#define FX_DLL_DEFINITION #define FX_DLL_DEFINITION
@@ -75,7 +74,7 @@ FX_ENTRY FxBool FX_CALL sst1InitVoodooFile()
#else #else
char filename[256], fixedFilename[512], *tmpPtr; char filename[256], fixedFilename[512], *tmpPtr;
char path[512]; char path[512];
FILE *file = (FILE *) NULL; FILE *file = NULL;
char buffer[1024]; char buffer[1024];
int inCfg, inDac; int inCfg, inDac;
int i; int i;
@@ -116,12 +115,12 @@ FX_ENTRY FxBool FX_CALL sst1InitVoodooFile()
break; break;
} }
} }
if(file == (FILE *) NULL) if(file == NULL)
return(FXFALSE); return(FXFALSE);
inCfg = inDac = 0; inCfg = inDac = 0;
while(sst1InitFgets(buffer, file)) { while(sst1InitFgets(buffer, file)) {
buffer[strlen(buffer)-1] = (char) NULL; buffer[strlen(buffer)-1] = 0;
if(!strcmp(buffer, "[CFG]")) { if(!strcmp(buffer, "[CFG]")) {
inCfg = 1; inDac = 0; inCfg = 1; inDac = 0;
continue; continue;
@@ -244,7 +243,7 @@ void main(int argc, char **argv)
inCfg = inDac = 0; inCfg = inDac = 0;
while(sst1InitFgets(buffer, file)) { while(sst1InitFgets(buffer, file)) {
buffer[strlen(buffer)-1] = (char) NULL; buffer[strlen(buffer)-1] = 0;
if(!strcmp(buffer, "[CFG]")) { if(!strcmp(buffer, "[CFG]")) {
inCfg = 1; inDac = 0; inCfg = 1; inDac = 0;
continue; continue;
@@ -321,7 +320,7 @@ static void sst1InitFixFilename(char *dst, char *src)
*dst++ = *src; *dst++ = *src;
src++; src++;
} }
*dst = (char) NULL; *dst = 0;
} }
#endif #endif
@@ -335,13 +334,23 @@ static int sst1InitFgets(char *string, FILE *stream)
*ptr++ = (char) charRead; *ptr++ = (char) charRead;
validChars++; validChars++;
if(charRead == '\n') { if(charRead == '\n') {
*ptr++ = (char) NULL; *ptr++ = 0;
break; break;
} }
} }
return(validChars); return(validChars);
} }
static __inline int sst1_isspace (int c)
{
switch(c) {
case ' ': case '\t':
case '\n': case '\r':
case '\f': case '\v': return 1;
}
return 0;
}
static int sst1InitFgetc(FILE *stream) static int sst1InitFgetc(FILE *stream)
{ {
static int column = 0; static int column = 0;
@@ -376,11 +385,13 @@ static int sst1InitFgetc(FILE *stream)
} else } else
continue; continue;
} else { } else {
if(isspace(charRead)) if(sst1_isspace(charRead))
continue; continue;
validChars++; validChars++;
column++; column++;
charReadL = (islower(charRead)) ? toupper(charRead) : charRead; charReadL = charRead;
if (charReadL >= 'a' && charReadL <= 'z')
charReadL -= ('a'-'A');
return(charReadL); return(charReadL);
} }
} }
@@ -394,30 +405,28 @@ static int sst1InitParseFieldCfg(char *string)
if((envName = strtok(string, "=")) == NULL) if((envName = strtok(string, "=")) == NULL)
return(0); return(0);
if((envVal = strtok((char *) NULL, "=")) == NULL) if((envVal = strtok(NULL, "=")) == NULL)
/* Valid environment variable, NULL value */ /* Valid environment variable, NULL value */
return(1); return(1);
sst1InitToLower(envVal); sst1InitToLower(envVal);
if(envVarsBase == (sst1InitEnvVarStruct *) NULL) { if(envVarsBase == NULL) {
if((envVarsPtr = malloc(sizeof(sst1InitEnvVarStruct))) == if((envVarsPtr = malloc(sizeof(sst1InitEnvVarStruct))) == NULL)
(sst1InitEnvVarStruct *) NULL)
return(0); return(0);
envVarsBase = envVarsPtr; envVarsBase = envVarsPtr;
} else { } else {
envVarsPtr = envVarsBase; envVarsPtr = envVarsBase;
while(1) { while(1) {
if(envVarsPtr->nextVar == (sst1InitEnvVarStruct *) NULL) if(envVarsPtr->nextVar == NULL)
break; break;
else else
envVarsPtr = envVarsPtr->nextVar; envVarsPtr = envVarsPtr->nextVar;
} }
if((envVarsPtr->nextVar = malloc(sizeof(sst1InitEnvVarStruct))) == if((envVarsPtr->nextVar = malloc(sizeof(sst1InitEnvVarStruct))) == NULL)
(sst1InitEnvVarStruct *) NULL)
return(0); return(0);
envVarsPtr = envVarsPtr->nextVar; envVarsPtr = envVarsPtr->nextVar;
} }
envVarsPtr->nextVar = (sst1InitEnvVarStruct *) NULL; envVarsPtr->nextVar = NULL;
strcpy(envVarsPtr->envVariable, envName); strcpy(envVarsPtr->envVariable, envName);
strcpy(envVarsPtr->envValue, envVal); strcpy(envVarsPtr->envValue, envVal);
@@ -428,64 +437,62 @@ static int sst1InitParseFieldCfg(char *string)
static int sst1InitParseFieldDac(char *string) static int sst1InitParseFieldDac(char *string)
{ {
char *dacFieldReference, *dacFieldValue; char *dacFieldReference, *dacFieldValue;
static sst1InitDacStruct *dacPtr = (sst1InitDacStruct *) NULL; static sst1InitDacStruct *dacPtr = NULL;
if((dacFieldReference = strtok(string, "=")) == NULL) if((dacFieldReference = strtok(string, "=")) == NULL)
return(0); return(0);
if(!strcmp(dacFieldReference, "MANUFACTURER")) { if(!strcmp(dacFieldReference, "MANUFACTURER")) {
/* Add new dac device */ /* Add new dac device */
if(dacStructBase == (sst1InitDacStruct *) NULL) { if(dacStructBase == NULL) {
if((dacPtr = malloc(sizeof(sst1InitDacStruct))) == if((dacPtr = malloc(sizeof(sst1InitDacStruct))) == NULL)
(sst1InitDacStruct *) NULL)
return(0); return(0);
dacStructBase = dacPtr; dacStructBase = dacPtr;
} else { } else {
dacPtr = dacStructBase; dacPtr = dacStructBase;
while(1) { while(1) {
if(dacPtr->nextDac == (sst1InitDacStruct *) NULL) if(dacPtr->nextDac == NULL)
break; break;
else else
dacPtr = dacPtr->nextDac; dacPtr = dacPtr->nextDac;
} }
if((dacPtr->nextDac = malloc(sizeof(sst1InitDacStruct))) == if((dacPtr->nextDac = malloc(sizeof(sst1InitDacStruct))) == NULL)
(sst1InitDacStruct *) NULL)
return(0); return(0);
dacPtr = dacPtr->nextDac; dacPtr = dacPtr->nextDac;
} }
dacPtr->nextDac = (sst1InitDacStruct *) NULL; dacPtr->nextDac = NULL;
dacPtr->dacManufacturer[0] = (char) NULL; dacPtr->dacManufacturer[0] = 0;
dacPtr->dacDevice[0] = (char) NULL; dacPtr->dacDevice[0] = 0;
dacPtr->detect = (sst1InitDacRdWrStruct *) NULL; dacPtr->detect = NULL;
dacPtr->setVideo = (sst1InitDacSetVideoStruct *) NULL; dacPtr->setVideo = NULL;
dacPtr->setMemClk = (sst1InitDacSetMemClkStruct *) NULL; dacPtr->setMemClk = NULL;
dacPtr->setVideoMode = (sst1InitDacSetVideoModeStruct *) NULL; dacPtr->setVideoMode = NULL;
if((dacFieldValue = strtok((char *) NULL, "=")) == NULL) if((dacFieldValue = strtok(NULL, "=")) == NULL)
return(0); return(0);
strcpy(dacPtr->dacManufacturer, dacFieldValue); strcpy(dacPtr->dacManufacturer, dacFieldValue);
} else if(!strcmp(dacFieldReference, "DEVICE")) { } else if(!strcmp(dacFieldReference, "DEVICE")) {
if((dacFieldValue = strtok((char *) NULL, "=")) == NULL) if((dacFieldValue = strtok(NULL, "=")) == NULL)
return(0); return(0);
strcpy(dacPtr->dacDevice, dacFieldValue); strcpy(dacPtr->dacDevice, dacFieldValue);
} else if(!strcmp(dacFieldReference, "DETECT")) { } else if(!strcmp(dacFieldReference, "DETECT")) {
if((dacFieldValue = strtok((char *) NULL, "=")) == NULL) if((dacFieldValue = strtok(NULL, "=")) == NULL)
return(0); return(0);
sst1InitToLower(dacFieldValue); sst1InitToLower(dacFieldValue);
if(!sst1InitParseDacRdWrString(dacFieldValue, dacPtr)) if(!sst1InitParseDacRdWrString(dacFieldValue, dacPtr))
return(0); return(0);
} else if(!strcmp(dacFieldReference, "SETVIDEO")) { } else if(!strcmp(dacFieldReference, "SETVIDEO")) {
if((dacFieldValue = strtok((char *) NULL, "=")) == NULL) if((dacFieldValue = strtok(NULL, "=")) == NULL)
return(0); return(0);
sst1InitToLower(dacFieldValue); sst1InitToLower(dacFieldValue);
if(!sst1InitParseSetVideoString(dacFieldValue, dacPtr)) if(!sst1InitParseSetVideoString(dacFieldValue, dacPtr))
return(0); return(0);
} else if(!strcmp(dacFieldReference, "SETMEMCLK")) { } else if(!strcmp(dacFieldReference, "SETMEMCLK")) {
if((dacFieldValue = strtok((char *) NULL, "=")) == NULL) if((dacFieldValue = strtok(NULL, "=")) == NULL)
return(0); return(0);
sst1InitToLower(dacFieldValue); sst1InitToLower(dacFieldValue);
if(!sst1InitParseSetMemClkString(dacFieldValue, dacPtr)) if(!sst1InitParseSetMemClkString(dacFieldValue, dacPtr))
return(0); return(0);
} else if(!strcmp(dacFieldReference, "SETVIDEOMODE")) { } else if(!strcmp(dacFieldReference, "SETVIDEOMODE")) {
if((dacFieldValue = strtok((char *) NULL, "=")) == NULL) if((dacFieldValue = strtok(NULL, "=")) == NULL)
return(0); return(0);
sst1InitToLower(dacFieldValue); sst1InitToLower(dacFieldValue);
if(!sst1InitParseSetVideoModeString(dacFieldValue, dacPtr)) if(!sst1InitParseSetVideoModeString(dacFieldValue, dacPtr))
@@ -525,7 +532,7 @@ static int sst1InitParseDacRdWrString(char *string, sst1InitDacStruct *dacBase)
dacRdWrPtr = dacRdWrPtr->nextRdWr; dacRdWrPtr = dacRdWrPtr->nextRdWr;
} }
dacRdWrPtr->nextRdWr = (sst1InitDacRdWrStruct *) NULL; dacRdWrPtr->nextRdWr = NULL;
if(!sst1InitParseDacRdWr(dacRdWrCmd, dacRdWrPtr)) if(!sst1InitParseDacRdWr(dacRdWrCmd, dacRdWrPtr))
return(0); return(0);
cntr++; cntr++;
@@ -542,16 +549,16 @@ static int sst1InitParseDacRdWr(char *string, sst1InitDacRdWrStruct *dacRdWrPtr)
strcpy(stringCpy, string); strcpy(stringCpy, string);
if(stringCpy[5] == '(') { if(stringCpy[5] == '(') {
stringCpy[5] = (char) NULL; stringCpy[5] = 0;
addrDataCmd = &stringCpy[6]; addrDataCmd = &stringCpy[6];
} else if(stringCpy[7] == '(') { } else if(stringCpy[7] == '(') {
stringCpy[7] = (char) NULL; stringCpy[7] = 0;
addrDataCmd = &stringCpy[8]; addrDataCmd = &stringCpy[8];
} else if(stringCpy[8] == '(') { } else if(stringCpy[8] == '(') {
stringCpy[8] = (char) NULL; stringCpy[8] = 0;
addrDataCmd = &stringCpy[9]; addrDataCmd = &stringCpy[9];
} else if(stringCpy[9] == '(') { } else if(stringCpy[9] == '(') {
stringCpy[9] = (char) NULL; stringCpy[9] = 0;
addrDataCmd = &stringCpy[10]; addrDataCmd = &stringCpy[10];
} else } else
return(0); return(0);
@@ -580,7 +587,7 @@ static int sst1InitParseDacRdWr(char *string, sst1InitDacRdWrStruct *dacRdWrPtr)
return(0); return(0);
if(data[strlen(data)-1] != ')') if(data[strlen(data)-1] != ')')
return(0); return(0);
data[strlen(data)-1] = (char) NULL; data[strlen(data)-1] = 0;
dacRdWrPtr->type = DACRDWR_TYPE_WRMOD_POP; dacRdWrPtr->type = DACRDWR_TYPE_WRMOD_POP;
if (SSCANF(addr, "%i", &i1) != 1) if (SSCANF(addr, "%i", &i1) != 1)
return(0); return(0);
@@ -600,7 +607,7 @@ static int sst1InitParseDacRdWr(char *string, sst1InitDacRdWrStruct *dacRdWrPtr)
return(0); return(0);
if(data[strlen(data)-1] != ')') if(data[strlen(data)-1] != ')')
return(0); return(0);
data[strlen(data)-1] = (char) NULL; data[strlen(data)-1] = 0;
dacRdWrPtr->type = DACRDWR_TYPE_RDMODWR; dacRdWrPtr->type = DACRDWR_TYPE_RDMODWR;
if (SSCANF(addr, "%i", &i1) != 1) if (SSCANF(addr, "%i", &i1) != 1)
return(0); return(0);
@@ -625,7 +632,7 @@ static int sst1InitParseDacRdWr(char *string, sst1InitDacRdWrStruct *dacRdWrPtr)
return(0); return(0);
if(data[strlen(data)-1] != ')') if(data[strlen(data)-1] != ')')
return(0); return(0);
data[strlen(data)-1] = (char) NULL; data[strlen(data)-1] = 0;
if (SSCANF(addr, "%i", &i1) != 1) if (SSCANF(addr, "%i", &i1) != 1)
return(0); return(0);
if (SSCANF(data, "%i", &i2) != 1) if (SSCANF(data, "%i", &i2) != 1)
@@ -650,6 +657,7 @@ static int sst1InitParseDacRdWr(char *string, sst1InitDacRdWrStruct *dacRdWrPtr)
return(1); return(1);
} }
#if TEST
static void sst1InitPrintDacRdWr(sst1InitDacRdWrStruct *dacRdWrBase, static void sst1InitPrintDacRdWr(sst1InitDacRdWrStruct *dacRdWrBase,
char *prefix) char *prefix)
{ {
@@ -674,6 +682,7 @@ static void sst1InitPrintDacRdWr(sst1InitDacRdWrStruct *dacRdWrBase,
dacRdWrPtr = dacRdWrPtr->nextRdWr; dacRdWrPtr = dacRdWrPtr->nextRdWr;
} }
} }
#endif /* TEST */
static int sst1InitParseSetVideoString(char *string, sst1InitDacStruct *dacBase) static int sst1InitParseSetVideoString(char *string, sst1InitDacStruct *dacBase)
{ {
@@ -706,7 +715,7 @@ static int sst1InitParseSetVideoString(char *string, sst1InitDacStruct *dacBase)
return(0); return(0);
dacSetVideoPtr = dacSetVideoPtr->nextSetVideo; dacSetVideoPtr = dacSetVideoPtr->nextSetVideo;
} }
dacSetVideoPtr->nextSetVideo = (sst1InitDacSetVideoStruct *) NULL; dacSetVideoPtr->nextSetVideo = NULL;
/* Width */ /* Width */
if (SSCANF(dacRdWrCmd, "%i", &dacSetVideoPtr->width) != 1) if (SSCANF(dacRdWrCmd, "%i", &dacSetVideoPtr->width) != 1)
return(0); return(0);
@@ -744,7 +753,7 @@ static int sst1InitParseSetVideoString(char *string, sst1InitDacStruct *dacBase)
return(0); return(0);
dacRdWrPtr = dacRdWrPtr->nextRdWr; dacRdWrPtr = dacRdWrPtr->nextRdWr;
} }
dacRdWrPtr->nextRdWr = (sst1InitDacRdWrStruct *) NULL; dacRdWrPtr->nextRdWr = NULL;
if(!sst1InitParseDacRdWr(dacRdWrCmd, dacRdWrPtr)) if(!sst1InitParseDacRdWr(dacRdWrCmd, dacRdWrPtr))
return(0); return(0);
cntr++; cntr++;
@@ -784,8 +793,7 @@ static int sst1InitParseSetMemClkString(char *string,
return(0); return(0);
dacSetMemClkPtr = dacSetMemClkPtr->nextSetMemClk; dacSetMemClkPtr = dacSetMemClkPtr->nextSetMemClk;
} }
dacSetMemClkPtr->nextSetMemClk = (sst1InitDacSetMemClkStruct *) dacSetMemClkPtr->nextSetMemClk = NULL;
NULL;
/* Frequency */ /* Frequency */
if (SSCANF(dacRdWrCmd, "%i", &dacSetMemClkPtr->frequency) != 1) if (SSCANF(dacRdWrCmd, "%i", &dacSetMemClkPtr->frequency) != 1)
return(0); return(0);
@@ -809,7 +817,7 @@ static int sst1InitParseSetMemClkString(char *string,
return(0); return(0);
dacRdWrPtr = dacRdWrPtr->nextRdWr; dacRdWrPtr = dacRdWrPtr->nextRdWr;
} }
dacRdWrPtr->nextRdWr = (sst1InitDacRdWrStruct *) NULL; dacRdWrPtr->nextRdWr = NULL;
if(!sst1InitParseDacRdWr(dacRdWrCmd, dacRdWrPtr)) if(!sst1InitParseDacRdWr(dacRdWrCmd, dacRdWrPtr))
return(0); return(0);
cntr++; cntr++;
@@ -849,8 +857,7 @@ static int sst1InitParseSetVideoModeString(char *string,
return(0); return(0);
dacSetVideoModePtr = dacSetVideoModePtr->nextSetVideoMode; dacSetVideoModePtr = dacSetVideoModePtr->nextSetVideoMode;
} }
dacSetVideoModePtr->nextSetVideoMode = dacSetVideoModePtr->nextSetVideoMode = NULL;
(sst1InitDacSetVideoModeStruct *) NULL;
/* video16BPP */ /* video16BPP */
if (SSCANF(dacRdWrCmd, "%i", &dacSetVideoModePtr->video16BPP) != 1) if (SSCANF(dacRdWrCmd, "%i", &dacSetVideoModePtr->video16BPP) != 1)
return(0); return(0);
@@ -874,7 +881,7 @@ static int sst1InitParseSetVideoModeString(char *string,
return(0); return(0);
dacRdWrPtr = dacRdWrPtr->nextRdWr; dacRdWrPtr = dacRdWrPtr->nextRdWr;
} }
dacRdWrPtr->nextRdWr = (sst1InitDacRdWrStruct *) NULL; dacRdWrPtr->nextRdWr = NULL;
if(!sst1InitParseDacRdWr(dacRdWrCmd, dacRdWrPtr)) if(!sst1InitParseDacRdWr(dacRdWrCmd, dacRdWrPtr))
return(0); return(0);
cntr++; cntr++;
@@ -888,7 +895,8 @@ static void sst1InitToLower(char *string)
char *ptr = string; char *ptr = string;
while(*ptr) { while(*ptr) {
*ptr = (isupper(*ptr)) ? tolower(*ptr) : *ptr; if (*ptr >= 'A' && *ptr <= 'Z')
*ptr += ('a'-'A');
ptr++; ptr++;
} }
} }
@@ -907,7 +915,7 @@ static void sst1InitToLower(char *string)
FX_ENTRY char * FX_CALL sst1InitGetenv(char *string) FX_ENTRY char * FX_CALL sst1InitGetenv(char *string)
{ {
sst1InitEnvVarStruct *envVarsPtr; sst1InitEnvVarStruct *envVarsPtr;
char *retVal = (char *) NULL; char *retVal = NULL;
/* Does the real environment variable exist? */ /* Does the real environment variable exist? */
if(myGetenv(string)) if(myGetenv(string))