🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

1 total messages Started by Tim Murnaghan ime196tpm Sat, 23 Jan 1993 02:25
setjmp problem
#1401
Author: Tim Murnaghan ime196tpm
Date: Sat, 23 Jan 1993 02:25
4097 lines
48021 bytes
The following program which calls setjmp causes endless recursion in
setjmp_protect because of a circular block chain.
It's pretty simple to have setjmp_protect protect itself against this; but how
did the block chain get to be circular ?

+ g++ -v -O -g -I. -I../. -I.././inc -I.././clib -DTRACE -c ../vsxconf.cc -o vsxconf.o 
gcc version 2.3.3
 /usr/local/lib/gcc-lib/i386-sco3.2v4.0/2.3.3/cpp -lang-c++ -v -I. -I../. 
-I.././inc -I.././clib -undef -D__GNUC__=2 -D__GNUG__=2 -D__cplusplus -Di386 
-Dunix -D__i386__ -D__unix__ -D__i386 -D__unix -D__OPTIMIZE__ -g -D_M_I386 
-D_M_I86 -D_M_I86SM -D_M_SDATA -D_M_STEXT -D_M_UNIX -D_M_XENIX -D_M_SYS5 
-D_M_SYSV -D_M_SYS3 -D_M_SYSIII -D_M_COFF -D_M_BITFIELDS -D_M_WORDSWAP 
-DM_I386 -DM_I86 -DM_I86SM -DM_SDATA -DM_STEXT -DM_UNIX -DM_XENIX -DM_SYS5 
-DM_SYSV -DM_SYS3 -DM_SYSIII -DM_COFF -DM_BITFIELDS -DM_WORDSWAP -DTRACE 
../vsxconf.cc /usr/tmp/cca14751.i
GNU CPP version 2.3.3 (80386, ATT syntax)
/usr/local/lib/gcc-lib/i386-sco3.2v4.0/2.3.3/cc1plus /usr/tmp/cca14751.i -quiet
 -dumpbase vsxconf.cc -g -O -version -o /usr/tmp/cca14751.s
GNU C++ version 2.3.3 (80386, ATT syntax) compiled by GNU C version 2.3.3.
..... wait a long time for a core dump
-------------------- cut here --------------------
# 1 "../vsxconf.cc"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
extern yyparse();
extern yydebug;
extern init_lex();

# 1 "/usr/local/lib/g++-include/std.h" 1 3
 
 




















# 1 "/usr/local/lib/g++-include/_G_config.h" 1 3
  






typedef long _G_clock_t;
typedef short _G_dev_t;
typedef long _G_fpos_t;
typedef unsigned short _G_gid_t;
typedef unsigned short _G_ino_t;
typedef unsigned short _G_mode_t;
typedef short _G_nlink_t;
typedef long _G_off_t;
typedef short _G_pid_t;
typedef int _G_ptrdiff_t;
typedef int   _G_sigset_t;
typedef unsigned int _G_size_t;
typedef long _G_time_t;
typedef unsigned short _G_uid_t;
typedef long int _G_wchar_t;
typedef  int   _G_ssize_t;
typedef char * _G_va_list;











 






 
 

# 23 "/usr/local/lib/g++-include/std.h" 2 3

# 1 "/usr/local/lib/g++-include/stddef.h" 1 3


extern "C" {



# 1 "/usr/local/lib/gcc-lib/i386-sco3.2v4.0/2.3.3/include/stddef.h" 1 3




 






 




 


 





 

# 43 "/usr/local/lib/gcc-lib/i386-sco3.2v4.0/2.3.3/include/stddef.h" 3


 





 

 



















typedef int ptrdiff_t;








 




 

 





















typedef unsigned int size_t;












 




 




















 

typedef __wchar_t wchar_t;














 



# 179 "/usr/local/lib/gcc-lib/i386-sco3.2v4.0/2.3.3/include/stddef.h" 3




 









 








# 7 "/usr/local/lib/g++-include/stddef.h" 2 3




}

# 24 "/usr/local/lib/g++-include/std.h" 2 3

# 1 "/usr/local/lib/g++-include/stdlib.h" 1 3







extern "C" {

int       abs(int);


void volatile abort(void);




double    atof(const char*);
int       atoi(const char*);
long      atol(const char*);

int       atexit(auto void (*p) (void));
int       bsearch (const void *, const void *, size_t, 
                   size_t, auto int (*ptf)(const void*, const void*));
void*     calloc(size_t, size_t);
void      cfree(void*);


void volatile exit(int);




char*     fcvt(double, int, int*, int*);
void      free(void*);
char*     getenv(const char*);
int       getopt(int, char * const *, const char*);
int       getpw(int, char*);
char*     gcvt(double, int, char*);
char*     ecvt(double, int, int*, int*);
extern char**   environ;

long      labs(long);
void*     malloc(size_t);
size_t    malloc_usable_size(void*);
int       putenv(const char*);
extern char*    optarg;
extern int      opterr;
extern int      optind;
void      qsort(void*, size_t, size_t, auto int (*ptf)(void*,void*));
int       rand(void);
void*     realloc(void*, size_t);
int       setkey(const char*);
int       srand(unsigned int);
double    strtod(const char*, char**);
long      strtol(const char*, char**, int);
unsigned long stroul(const char**, int);
int       system(const char*);

long      random(void);
void      srandom(int);
char*     setstate(char*);
char*     initstate(unsigned, char*, int);

double    drand48(void);
void      lcong48(short*);
long      jrand48(short*);
long      lrand48(void);
long      mrand48(void);
long      nrand48(short*);
short*    seed48(short*);
void      srand48(long);

char*     ctermid(char*);
char*     cuserid(char*);
char*     tempnam(const char*, const char*);
char*     tmpnam(char*);

}

# 25 "/usr/local/lib/g++-include/std.h" 2 3

# 1 "/usr/local/lib/g++-include/string.h" 1 3














extern "C" {

char*     strcat(char*, const char*);
char*     strchr(const char*, int);
int       strcmp(const char*, const char*);
int       strcoll(const char*, const char*);
char*     strcpy(char*, const char*);
_G_size_t     strcspn(const char*, const char*);
char*     strdup(const char*);
 
 
 
 
_G_size_t     strlen(const char*);
char*     strncat(char*, const char*, _G_size_t );
int       strncmp(const char*, const char*, _G_size_t );
char*     strncpy(char*, const char*, _G_size_t );
char*     strpbrk(const char*, const char*);
char*     strrchr(const char*, int);
_G_size_t     strspn(const char*, const char*);
char*     strstr(const char*, const char *);
char*     strtok(char*, const char*);
_G_size_t     strxfrm(char*, const char*, _G_size_t );

char*     index(const char*, int);
char*     rindex(const char*, int);
}

# 1 "/usr/local/lib/g++-include/memory.h" 1 3







extern "C" {

void*     memalign (...) ;
void*     memccpy (...) ;
void*     memchr (...) ;
int       memcmp (...) ;
void*     memcpy (...) ;
void*     memmove (...) ;
void*     memset (...) ;
int       ffs (...) ;



_G_size_t    getpagesize (...) ;

void*     valloc (...) ;

void      bcopy (...) ;
int       bcmp (...) ;
void      bzero (...) ;
}














# 43 "/usr/local/lib/g++-include/string.h" 2 3



# 26 "/usr/local/lib/g++-include/std.h" 2 3


# 1 "/usr/local/lib/g++-include/unistd.h" 1 3





extern "C" {


















# 1 "/usr/local/lib/gcc-lib/i386-sco3.2v4.0/2.3.3/include/unistd.h" 1 3
 













#pragma comment(exestr, "@(#) unistd.h 7.1 91/08/14 ")




# 1 "/usr/local/lib/g++-include/sys/types.h" 1 3


extern "C"
{










# 1 "/usr/local/lib/gcc-lib/i386-sco3.2v4.0/2.3.3/include/sys/types.h" 1 3



#pragma comment(exestr, "@(#) types.h 23.14 91/11/23 ")



 









 
 

 
 
 

 
 

 
 


















typedef	struct { int r[1]; } *physadr;
typedef	long		daddr_t;	 
typedef	char *		caddr_t;	 

 


typedef	unsigned char	unchar;
typedef unsigned char   u_char;
typedef unsigned char	uchar_t;

typedef	unsigned short	ushort;
typedef unsigned short  u_short;

typedef	unsigned int	uint;
typedef unsigned int    u_int;

typedef	unsigned long	ulong;
typedef unsigned long   u_long;
typedef unsigned long	ulong_t;





typedef	unsigned short		ino_t;		 



	typedef short		cnt_t;		 







	typedef	long		time_t;		 



typedef	int		label_t[6];


typedef unsigned short	mode_t;
typedef short		nlink_t;
typedef	short		dev_t;		 
typedef	long		off_t;		 


typedef	unsigned long	paddr_t;	 
typedef unsigned short	mloc_t;		 



typedef	long		key_t;		 



typedef int		pfn_t;
typedef	unsigned short	use_t;		 







	typedef	char *		faddr_t;








struct saddr {
	unsigned short	sa_seg;
	long			sa_off;
};

typedef	short		sysid_t;
typedef	short		index_t;
typedef	short		lock_t;		 











typedef ushort		sel_t;		 


 


	typedef	long	clock_t;	 










	typedef long	fpos_t;	 




	typedef	int	sig_atomic_t;	 




	typedef	struct {
		int	quot;
		int	rem;
	} div_t;




typedef	struct {
	long	quot;
	long	rem;
} ldiv_t;




typedef unsigned short	uid_t;
typedef unsigned short	gid_t;

typedef short	pid_t;                   




 













typedef long	fd_mask;






typedef	struct fd_set {
	fd_mask	fds_bits[(((150 )+(( (sizeof(fd_mask) * 8		)	)-1))/( (sizeof(fd_mask) * 8		)	)) ];
} fd_set;






							 
typedef unsigned long	mask_t;		 
typedef mask_t		priv_t;		 
							 



# 15 "/usr/local/lib/g++-include/sys/types.h" 2 3






}




# 20 "/usr/local/lib/gcc-lib/i386-sco3.2v4.0/2.3.3/include/unistd.h" 2 3

# 1 "/usr/include/sys/unistd.h" 1 3



#pragma comment(exestr, "@(#) unistd.h 23.6 91/10/01 ")



 









 
 

 
 
 

 

 



  
 












 





 




 


















 












 





















# 21 "/usr/local/lib/gcc-lib/i386-sco3.2v4.0/2.3.3/include/unistd.h" 2 3


# 31 "/usr/local/lib/gcc-lib/i386-sco3.2v4.0/2.3.3/include/unistd.h" 3


# 82 "/usr/local/lib/gcc-lib/i386-sco3.2v4.0/2.3.3/include/unistd.h" 3



extern "C" {
extern int utime(const char *, struct utimbuf *);  


extern int        __hide_chown (const char *, uid_t, gid_t);
extern pid_t      fork(void);
extern gid_t      getegid(void);
extern uid_t      geteuid(void);
extern gid_t      getgid(void);
extern int        getgroups(int, gid_t *);
extern pid_t      getpgrp(void);
extern pid_t      getpid(void);
extern pid_t      getppid(void);
extern uid_t      getuid(void);
extern off_t      lseek(int, off_t, int);
extern int        __hide_setgid (gid_t);
extern int        setpgid(pid_t, pid_t);
extern pid_t      setsid(void);
extern int        __hide_setuid (uid_t);
extern pid_t      tcgetpgrp(int);
extern int        tcsetpgrp(int, pid_t);
extern char*        getcwd(char *, int);
extern char*        getlogin(void);
extern char*        ttyname(int);
extern void         _exit(int);
extern int          access(const char *, int);
extern unsigned int alarm(unsigned int);
extern int          chdir(const char *);
extern int          close(int);
extern char*        ctermid(char *);
extern char*        cuserid(char *);
extern int          dup(int);
extern int          dup2(int, int);
extern int          __hide_execl (const char *, const char *, ...);
extern int          __hide_execle (const char *, const char *, ...);
extern int          __hide_execlp (const char *, const char *, ...);
extern int          execv(const char *, const char *[]);
extern int          execve(const char *, const char * [], const char * []);
extern int          execvp(const char *, const char * []);
extern long         fpathconf(int, int);
extern int          isatty(int);
extern int          link(const char *, const char *);
extern long         pathconf(const char *, int);
extern int          pause(void);
extern int          pipe(int *);
extern int          read(int, void *, unsigned int);
extern int          rename(const char *, const char *);
extern int          rmdir(const char *);
extern unsigned int sleep(unsigned int);
extern long         sysconf(int);
extern int          unlink(const char *);
extern int          write(int, const void *, unsigned int);


};





# 25 "/usr/local/lib/g++-include/unistd.h" 2 3















# 59 "/usr/local/lib/g++-include/unistd.h" 3



extern void volatile _exit(int);




extern unsigned alarm (...) ;
extern int      brk (...) ;
extern int      chdir (...) ;
extern int      chmod  (...) ;
extern int      chown (const char*, _G_uid_t, _G_gid_t);
extern int      close (...) ;
extern char*    crypt (...) ;
extern int      dup (...) ;
extern int      dup2 (...) ;
extern void	encrypt (...) ;
extern int      execl (const char*, const char *, ...);
extern int      execle (const char*, const char *, ...);
extern int      execlp (const char*, const char*, ...);
extern int      exect (...) ;
extern int      execv (...) ;
extern int      execve (...) ;
extern int      execvp (...) ;
extern int      fchown (int, _G_uid_t, _G_gid_t);
extern _G_pid_t fork (...) ;
extern int      fsync (...) ;
extern int      ftruncate (...) ;
extern char*    getcwd (...) ;
extern int      getdomainname (...) ;
extern int      getdtablesize (...) ;
extern int      getgroups (...) ;
extern _G_uid_t geteuid (...) ;
extern _G_gid_t getegid (...) ;
extern _G_gid_t getgid (...) ;
extern long     gethostid (...) ;
extern int      gethostname (...) ;
extern _G_pid_t getpgrp (...) ;
extern _G_pid_t getpid (...) ;
extern _G_pid_t getppid (...) ;
extern char*    getlogin (...) ;
extern char*    getpass (...) ;
extern _G_uid_t getuid (...) ;
extern int      ioctl (int, int, ... );
extern int      isatty (...) ;
extern int      link (...) ;
extern int      mkstemp (...) ;
extern char*    mktemp (...) ;
extern int      nice (...) ;
extern int      pause (...) ;
extern int      pipe (...) ;
extern int      readlink (...) ;
extern int      rename (...) ;
extern int      rmdir (...) ; 



extern void*    sbrk (...) ; 

extern int      syscall (...) ;
extern int      setgid (_G_gid_t);
extern int      sethostname (...) ;




extern _G_pid_t setpgrp (...) ;

extern int      setregid (...) ;
extern int      setreuid (...) ;
extern int      setuid (_G_uid_t);
extern unsigned sleep (...) ;
extern void     swab (...) ;
extern int      symlink (...) ;
extern long     sysconf (...) ;
extern int      truncate (...) ;
extern char*    ttyname (...) ;
extern int      ttyslot (...) ;
 
extern int      unlink (...) ;
extern _G_pid_t vfork (...) ;
extern int      vadvise (...) ;
extern int      vhangup (...) ;
extern _G_off_t lseek (...) ;
extern _G_ssize_t read (...) ;
extern _G_ssize_t write (...) ;
extern int      access (...) ;

extern int      flock (...) ;


}


# 28 "/usr/local/lib/g++-include/std.h" 2 3

# 1 "/usr/local/lib/g++-include/stdio.h" 1 3
 
 


















#pragma interface







 
 
 



extern "C" {

































# 1 "/usr/local/lib/gcc-lib/i386-sco3.2v4.0/2.3.3/include/stdio.h" 1 3

# 1 "/usr/local/lib/g++-include/stdarg.h" 1 3
extern "C" {
# 1 "/usr/local/lib/gcc-lib/i386-sco3.2v4.0/2.3.3/include/stdarg.h" 1 3
 







































 




typedef char *__gnuc_va_list;





 

# 85 "/usr/local/lib/gcc-lib/i386-sco3.2v4.0/2.3.3/include/stdarg.h" 3










# 137 "/usr/local/lib/gcc-lib/i386-sco3.2v4.0/2.3.3/include/stdarg.h" 3





# 2 "/usr/local/lib/g++-include/stdarg.h" 2 3

}
# 2 "/usr/local/lib/gcc-lib/i386-sco3.2v4.0/2.3.3/include/stdio.h" 2 3



#pragma comment(exestr, "@(#) stdio.h 7.5 91/10/24 ")



 






 


















#pragma comment(exestr, "@(#) stdio.h 7.1 91/08/14 ")








# 1 "/usr/local/lib/gcc-lib/i386-sco3.2v4.0/2.3.3/include/limits.h" 1 3
 


 





 
# 1 "/usr/local/lib/gcc-lib/i386-sco3.2v4.0/2.3.3/include/limits.h" 1 3
 


 

# 99 "/usr/local/lib/gcc-lib/i386-sco3.2v4.0/2.3.3/include/limits.h" 3

# 11 "/usr/local/lib/gcc-lib/i386-sco3.2v4.0/2.3.3/include/limits.h" 2 3





 



 



 



 





 



 












 





 



 





 



 






 




 





 






 



# 44 "/usr/local/lib/gcc-lib/i386-sco3.2v4.0/2.3.3/include/stdio.h" 2 3













		














typedef   char         *__va_list__;












 





















typedef struct {

	int            __cnt;
	unsigned char   *__ptr;




	unsigned char   *__base;
	char            __flag;
	char            __file;
} FILE;




































extern "C" {


# 229 "/usr/local/lib/gcc-lib/i386-sco3.2v4.0/2.3.3/include/stdio.h" 3

extern   int            remove(const char *);
extern   int            rename(const char *, const char *);
extern   FILE           *tmpfile(void);
extern   char           *tmpnam(char *);
extern   int            fclose(FILE *);
extern   int            fflush(FILE *);
extern   FILE           *__hide_fopen (const char *, const char *);
extern   FILE           *__hide_freopen (const char *, const char *, FILE *);
extern   void           __hide_setbuf (FILE *, char *);
extern   int            __hide_setvbuf (FILE *, char *, int, _G_size_t );
extern   int            __hide_fprintf (FILE *, const char *, ...);
extern   int            __hide_fscanf (FILE *, const char *, ...); 
extern   int            __hide_printf (const char *, ...);
extern   int            __hide_scanf (const char *, ...);
extern   int            __hide_sprintf (char *, const char *, ...);
extern   int            __hide_sscanf (const char *, const char *, ...);

extern   int            __hide_vfprintf (FILE *, const char *, __va_list__);
extern   int            __hide_vprintf (const char *, __va_list__);
extern   int            __hide_vsprintf (char *, const char *, __va_list__);





extern   int            fgetc(FILE *);
extern   char           *fgets(char *, int, FILE *);
extern   int            fputc(int, FILE *);
extern   int            __hide_fputs (const char *, FILE *);
extern   int            getc(FILE *);
extern   int            getchar(void);
extern   char           *gets(char *);
extern   int            putc(int, FILE *);
extern   int            putchar(int);
extern   int            __hide_puts (const char *);
extern   int            ungetc(int, FILE *);




extern   _G_size_t          __hide_fread (void *, _G_size_t , _G_size_t , FILE *);
extern   _G_size_t          __hide_fwrite (const void *, _G_size_t , _G_size_t , FILE *);

extern   int            fgetpos(FILE *, fpos_t *);
extern   int            fseek(FILE *, long int, int);
extern   int            fsetpos(FILE *, const fpos_t *);
extern   long           __hide_ftell (const FILE *);
extern   void           __hide_rewind (FILE *);
extern   void           clearerr(FILE *);
extern   int            feof(FILE *);
extern   int            ferror(FILE *);
extern   void           __hide_perror (const char *);

extern   int            unlink(const char *);
extern   int            _filbuf(FILE *);
extern   int            __hide__flsbuf (unsigned char, FILE *);
extern   char           *ctermid(char *);
extern   char           *cuserid(char *);
extern   int            system(const char *);





















extern   unsigned char  *    _bufendtab [];
extern   FILE           _iob [       60 ];


};












# 1 "/usr/local/lib/g++-include/errno.h" 1 3


extern "C" {





# 1 "/usr/include/errno.h" 1 3
 





















 




#pragma comment(exestr, "@(#) errno.h 6.1 91/06/06 ")




# 1 "/usr/include/sys/errno.h" 1 3



#pragma comment(exestr, "@(#) errno.h 23.4 91/05/03 ")



 









 
 

 
 
 

 









# 76 "/usr/include/sys/errno.h" 3










# 95 "/usr/include/sys/errno.h" 3







# 133 "/usr/include/sys/errno.h" 3






# 150 "/usr/include/sys/errno.h" 3






# 211 "/usr/include/sys/errno.h" 3






# 246 "/usr/include/sys/errno.h" 3



# 33 "/usr/include/errno.h" 2 3



extern "C" {


extern int errno;

# 49 "/usr/include/errno.h" 3



};



# 9 "/usr/local/lib/g++-include/errno.h" 2 3




extern char*    sys_errlist[];
extern int      sys_nerr;

extern int      errno;

void      __hide_perror (const char*);
char*     strerr(int);


}


# 327 "/usr/local/lib/gcc-lib/i386-sco3.2v4.0/2.3.3/include/stdio.h" 2 3


















# 353 "/usr/local/lib/gcc-lib/i386-sco3.2v4.0/2.3.3/include/stdio.h" 3
















# 69 "/usr/local/lib/g++-include/stdio.h" 2 3







































}

extern "C" {

int    fclose(FILE*);
FILE*  fdopen(int, const char*);
int    fflush(FILE*);
int    fgetc(FILE*);
char*  fgets(char*, int, FILE *);
FILE*  fopen(const char*, const char*);
int    fprintf(FILE*, const char* ...);
int    fputc(int, FILE*);
int    fputs(const char*, FILE*);
_G_size_t  fread(void*, _G_size_t , _G_size_t , FILE*);



FILE*  freopen(const char*, const char*, FILE*);

int    fscanf(FILE*, const char* ...);
int    fseek(FILE*, long, int);
long   ftell(FILE *);
_G_size_t  fwrite(const void*, _G_size_t , _G_size_t , FILE*);
char*  gets(char*);
int    getw(FILE*);
int    pclose(FILE*);
void   perror(const char*);
FILE*  popen(const char*, const char*);
int    printf(const char* ...);
int    puts(const char*);
int    putw(int, FILE*);
int    rewind(FILE*);
int    scanf(const char* ...);
void   setbuf(FILE*, char*);
void   setbuffer(FILE*, char*, int);
int    setlinebuf(FILE*);
int    setvbuf(FILE*, char*, int, _G_size_t );
int    sscanf(char*, const char* ...);
FILE*  tmpfile();
int    ungetc(int, FILE*);
int    vfprintf (...) ;
int    vprintf (...) ;
int  sprintf (...) ;
int  vsprintf (...) ;

extern int _filbuf (...) ;
extern int _flsbuf (...) ;

}


















# 29 "/usr/local/lib/g++-include/std.h" 2 3


# 1 "/usr/local/lib/g++-include/fcntl.h" 1 3


extern "C" {










# 1 "/usr/local/lib/gcc-lib/i386-sco3.2v4.0/2.3.3/include/fcntl.h" 1 3
 
























#pragma comment(exestr, "@(#) fcntl.h 7.1 91/08/14 ")




# 1 "/usr/local/lib/g++-include/sys/fcntl.h" 1 3


extern "C"
{




# 1 "/usr/local/lib/gcc-lib/i386-sco3.2v4.0/2.3.3/include/sys/fcntl.h" 1 3



#pragma comment(exestr, "@(#) fcntl.h 23.8 91/10/15 ")



 









 
 

 
 
 

 
 

 
 

 























 
 






















 





 

















 




 






 












 
struct flock {
	short	l_type;
	short	l_whence;
	off_t	l_start;
	off_t	l_len;		 




	short   l_sysid;

	pid_t  	l_pid;




};

 















# 9 "/usr/local/lib/g++-include/sys/fcntl.h" 2 3



}



# 31 "/usr/local/lib/gcc-lib/i386-sco3.2v4.0/2.3.3/include/fcntl.h" 2 3












extern "C" {





extern int __hide_creat (const char *, unsigned short);

extern int __hide_fcntl (int, int, ...);



extern int  __hide_open (const char *, int, int mode = 0666);







};













# 14 "/usr/local/lib/g++-include/fcntl.h" 2 3








int       fcntl(int, int, ...);
int	  creat (...) ;

int       open (...) ;


}

# 31 "/usr/local/lib/g++-include/std.h" 2 3


extern "C" {
int strcasecmp (...) ;
}


# 24 "../vsxconf.cc" 2

# 1 "/usr/local/lib/g++-include/time.h" 1 3


extern "C" {








 


















# 44 "/usr/local/lib/g++-include/time.h" 3





# 1 "/usr/local/lib/gcc-lib/i386-sco3.2v4.0/2.3.3/include/time.h" 1 3
 
























#pragma comment(exestr, "@(#) time.h 7.2 91/08/14 ")




# 39 "/usr/local/lib/gcc-lib/i386-sco3.2v4.0/2.3.3/include/time.h" 3


 















struct tm {                      
 int tm_sec;                     
 int tm_min;                     
 int tm_hour;                    
 int tm_mday;                    
 int tm_mon;                     
 int tm_year;                    
 int tm_wday;                    
 int tm_yday;                    
 int tm_isdst;                   

 long __tm_tzadj;                  

   char __tm_name[50 ];        





};

# 88 "/usr/local/lib/gcc-lib/i386-sco3.2v4.0/2.3.3/include/time.h" 3



extern "C" {


extern clock_t __hide_clock (void);
extern double __hide_difftime (time_t, time_t);
extern time_t __hide_mktime (struct tm *);
extern time_t __hide_time (time_t *);
extern char *__hide_asctime (const struct tm *);
extern char  *__hide_ctime (const time_t *);
extern struct tm *__hide_gmtime (const time_t *);
extern struct tm *__hide_localtime (const time_t *);
extern _G_size_t  __hide_strftime (char *, _G_size_t , const char *, const struct tm *);


};




 




# 136 "/usr/local/lib/gcc-lib/i386-sco3.2v4.0/2.3.3/include/time.h" 3







# 49 "/usr/local/lib/g++-include/time.h" 2 3






















extern char* asctime (...) ;
extern char* ctime (...) ;
double difftime (...) ;
extern struct tm* gmtime (...) ;
extern struct tm* localtime (...) ;
extern _G_time_t mktime(struct tm*);
extern _G_size_t strftime (...) ;
extern void tzset();
extern void tzsetwall();

extern int getitimer(int, struct itimerval*);
extern int setitimer (...) ;
extern int gettimeofday(struct timeval*, struct timezone*);
extern int settimeofday (...) ;
extern int stime (...) ;
extern int dysize(int);






long      clock(void);

_G_time_t      time(_G_time_t*);
unsigned  ualarm(unsigned, unsigned);
unsigned  usleep(unsigned);
void      profil (...) ;


}

# 25 "../vsxconf.cc" 2


# 1 ".././inc/CurCU.h" 1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 



class ControlUnit;
class Diu;
class Scu;
class sym_ent;
class CpuHw;
class SmIdent;
# 1 ".././inc/Fixup.h" 1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


# 1 ".././inc/Stamp.h" 1
 
 



# 1 "./istring.h" 1
 
 


 
 
 
 
 
 
 
 

# 1 "/usr/local/lib/g++-include/std.h" 1 3
 
 

















# 37 "/usr/local/lib/g++-include/std.h" 3

# 14 "./istring.h" 2

# 1 "/usr/local/lib/g++-include/stdio.h" 1 3
 
 
















# 174 "/usr/local/lib/g++-include/stdio.h" 3

# 15 "./istring.h" 2

# 1 "./istr_buf.h" 1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 



class istr_buf
{
  unsigned int buf_len;
  void resize(unsigned int min);
 public:
  void *string;
  unsigned int len;
  istr_buf() { string = 0; len = 0, buf_len = 0; };
  void clear() { if (string) delete string; string = 0; len = 0; buf_len = 0; };
  ~istr_buf() { clear(); }
  void put(const void *p, unsigned int l, int offset = 0);
};

# 16 "./istring.h" 2


class istring : public istr_buf
{
public:
  istring();
  void puts() { ::fputs((char *)string,        (&_iob [2]) ); ::fputc('\n',        (&_iob [2]) );};
  operator char *() { return (char *)string; };
  operator const char *() { return (const char *)string; };
  istring & operator <<(const char *);
  istring & operator <<(const int );
  istring & operator <<(const unsigned int );
  istring & operator <<(const char );
  istring & operator <<(const void *);
  istring & operator <<(istring &p) { return *this << (char *)p.string; };
};

# 6 ".././inc/Stamp.h" 2

# 1 ".././inc/trace.h" 1
 
 


# 1 ".././inc/Object.h" 1
 
 


 
 
 
 
 
 
 

class Object
{
  int j;       
               
public:
	int operator == (Object &x) { return this == &x; };
};

# 5 ".././inc/trace.h" 2


class trace
{
public:

	int con;  
	trace() { con = 0; };



};


# 1 "/usr/local/lib/g++-include/std.h" 1 3
 
 

















# 37 "/usr/local/lib/g++-include/std.h" 3

# 19 ".././inc/trace.h" 2


void trputs(int, char *);
extern int Trace_Indent;















# 46 ".././inc/trace.h"


















# 1 "./istring.h" 1
 
 
# 32 "./istring.h"

# 64 ".././inc/trace.h" 2










# 7 ".././inc/Stamp.h" 2


class Stamp : public trace
{
public:
    const char *file;
    int line;
    Stamp();
    friend istring & operator << (istring &, const Stamp &);
};

# 53 ".././inc/Fixup.h" 2

# 1 "./List.h" 1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 


# 1 "/usr/local/lib/g++-include/std.h" 1 3
 
 

















# 37 "/usr/local/lib/g++-include/std.h" 3

# 138 "./List.h" 2




class ListEnt
{
public:
    void  *car;
    ListEnt *cdr;
    ListEnt(void  *a) : car(a) { cdr = 0; };
    ListEnt(void  *a, ListEnt *d) : car(a), cdr(d) { } ;
};

class ListBase {
public:
	int len;
};

class List : public ListBase {
public:
	ListEnt *cdr;
	List() { cdr = 0; len = 0; };
	void  *& operator>>=(void  *);	 
	void *& operator<<=(void  *p)	 
	{ cdr = new ListEnt (p, cdr);
	  len++;
	  return cdr->car;
	};
	void clear();			 
	void *& operator [] (int);	 
	List & operator = (List &l) {
	  clear();
	  cdr = l.cdr;
	  len = l.len;
	  return  *this;
	};
    	~List() { clear(); };
};



class ListIterator
{
	ListEnt *Iterator;
public:
	ListIterator(List &);
	void *& operator()();	     
	int operator()(void *&);     
	void operator =(List &);     
};

class SpliceListIterator
{
    ListEnt *Iterator;
    ListEnt **splice_before;
    ListEnt **splice_after;
    List *list;
public:
    SpliceListIterator(List &l);
    void operator = (List &l);	     
    void operator >>= (void *p);     
    void operator <<= (void *p);     
    int operator () (void *&);	     
    void *& operator ()();	     
    void operator ! ();		     
};





# 248 "./List.h"


# 262 "./List.h"











# 297 "./List.h"



# 54 ".././inc/Fixup.h" 2


 

 

 
 
class Cdecl;
class baseCdecl;
class sym_ent;

 
class Fixer
{
private:
protected:
public:
	Stamp stamp;
	Fixer();
	virtual void callback();
};

class Fixup : public Stamp
{
private:
protected:
	sym_ent *sy;         
	void **where; 	     
	char *type;          
	Fixer *who;          
public:
	Fixup(sym_ent *s, char *t, void **w, Fixer *wh = 0);
	friend istring & operator << (istring &, Fixup &);
	void fixit();         
	void callit();       
};

class FixupList : public List {public:	FixupList () : List() {};
	FixupList & operator =(List &l) { *(List *)this = l; return *this; };
	Fixup *& operator[](int i) { return *(Fixup **)&((*(List*)this)[i]); }; };
class FixupListIterator : public ListIterator {public:	FixupListIterator ( FixupList &l) : ListIterator(l) {};
	Fixup *& operator()() { return *(Fixup **)&((*(ListIterator *)this)()); };
	int operator()(Fixup *&p) { return (*(ListIterator *)this)(*( void **)&p); };
	void operator =(FixupList &l) { *(ListIterator *)this = *(List *)&l; };};
class FixupSpliceListIterator : public SpliceListIterator {public:	FixupSpliceListIterator ( FixupList &l) : SpliceListIterator(l) {};
	Fixup *& operator()() { return *(Fixup **)&((*(SpliceListIterator *)this)()); };
	int operator()(Fixup *&p) { return (*(SpliceListIterator *)this)(*(void **)&p); };
	void operator =(FixupList &l) { *(SpliceListIterator *)this = *(List *)&l; };
}  ;

void FixList(List &, sym_ent *, char*);



# 41 ".././inc/CurCU.h" 2


class CurCU {
 private:
  ControlUnit *cu;
 protected:
  FixupList      fixups;        
                                
  void doFixups();              
 public:
  CurCU();

  int parsing() { return (int)cu; }      
  int isDiu();
  int isScu();

  ControlUnit * Cu();                    
  Diu * getDiu();                        
  Scu * getScu();                        

  void newCu(sym_ent *Nam, CpuHw *Hw, int Type, SmIdent *smid);
					 
  void makeDiu(sym_ent *Nam, CpuHw *Hw, SmIdent *smid); 
  void makeScu(sym_ent *Nam, CpuHw *Hw, SmIdent *smid); 

  ~CurCU() {}

  void doCurCU();                        

  friend void operator >>= (CurCU &, Fixup *);
};

extern CurCU * ccu;


# 27 "../vsxconf.cc" 2

# 1 ".././inc/Hardware.h" 1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


# 1 "./istring.h" 1
 
 
# 32 "./istring.h"

# 40 ".././inc/Hardware.h" 2

# 1 ".././inc/Port.h" 1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


# 1 ".././inc/Fixup.h" 1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
# 96 ".././inc/Fixup.h"


# 38 ".././inc/Port.h" 2

# 1 ".././inc/Index.h" 1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


# 1 "./istring.h" 1
 
 
# 32 "./istring.h"

# 39 ".././inc/Index.h" 2



 

 

 
 

 
class Index
{
	int val;
public:
	Index(int);

	Index(const Index &i) : val(i.val) {};

	Index() : val(0) {};
	operator int() const { return val; };
	Index & operator ++()  { val++; return * this; };
	Index & operator = (int i) { val = i; return * this; };
	friend istring & operator <<(istring &s, const Index &i)
	{ s << i.val + 1; return s; };
};


# 39 ".././inc/Port.h" 2

class Card;
class Dsac;
class Sac;
class sym_ent;
class Service;
class ser_cars;

enum PortUserType { _Illegal,
		    _Line, _Connect, _Ded,
		    _Mouse_In, _Mouse_Out, _Miu, _Pcu };


enum multproto {
  NONE,
  RMJ,
  MABON
};



 
 
 
 
 
 
 
class Port : public Fixer
{
private:
  void  con_sub();                        
  static PortUserType CurUse;             
                                          
  static ser_cars *CurSC;                 
                                          
protected:
  Card *card;                             
  Index ssbd_index;                       
  int   vsx_addr;                         
  PortUserType t;                         
  ser_cars *SerCars;                      
  int   comi_indx;                        
                                          
  virtual void PortName(istring &);       
                                          
public:
  Port(sym_ent*, int);                    
                                          
  Port(int);                              
                                          
  Port(Port &);                           
  virtual ~Port() {}
  void callback();                        
                                          
                                          


  static void setCurUse(PortUserType T);
  static PortUserType getCurUse();
  static ser_cars * getCurSerC();

  int getAddr();                          
  int isSwitchingLine(Service *s);        
  int setVideoPortUsed();                 
  const char *getCardName();              
  int getCardType();                      
  int onSwitchCard();                     
  Dsac * getDsacCard();                   
  Sac  * getSacCard();                    
  int getCardAddr();                      
  Index getSSBDIndex();                   
  PortUserType getUserType();             
  int getComiIndx() { return comi_indx; }
  ser_cars * getSerC() { return SerCars; }
  virtual multproto getProtocol();        
  virtual int getStation();               
                                          
  friend istring & operator << (istring &, Port &);
  
};

 
 
 
 
 
 
 
class PortList : public List {public:	PortList () : List() {};
	PortList & operator =(List &l) { *(List *)this = l; return *this; };
	Port *& operator[](int i) { return *(Port **)&((*(List*)this)[i]); }; };
class PortListIterator : public ListIterator {public:	PortListIterator ( PortList &l) : ListIterator(l) {};
	Port *& operator()() { return *(Port **)&((*(ListIterator *)this)()); };
	int operator()(Port *&p) { return (*(ListIterator *)this)(*( void **)&p); };
	void operator =(PortList &l) { *(ListIterator *)this = *(List *)&l; };};
class PortSpliceListIterator : public SpliceListIterator {public:	PortSpliceListIterator ( PortList &l) : SpliceListIterator(l) {};
	Port *& operator()() { return *(Port **)&((*(SpliceListIterator *)this)()); };
	int operator()(Port *&p) { return (*(SpliceListIterator *)this)(*(void **)&p);
 };
	void operator =(PortList &l) { *(SpliceListIterator *)this = *(List *)&l; };}  ;

class MultiPort;
 
 
 
 
 
 
 
class MultiPortList : public List {public:	MultiPortList () : List() {};
	MultiPortList & operator =(List &l) { *(List *)this = l; return *this; };
	MultiPort *& operator[](int i) { return *(MultiPort **)&((*(List*)this)[i]); }; };
class MultiPortListIterator : public ListIterator {public:	MultiPortListIterator ( MultiPortList &l) : ListIterator(l) {};
	MultiPort *& operator()() { return *(MultiPort **)&((*(ListIterator *)this)()); };
	int operator()(MultiPort *&p) { return (*(ListIterator *)this)(*( void **)&p); };
	void operator =(MultiPortList &l) { *(ListIterator *)this = *(List *)&l; };};
class MultiPortSpliceListIterator : public SpliceListIterator {public:	MultiPortSpliceListIterator ( MultiPortList &l) : SpliceListIterator(l) {};
	MultiPort *& operator()() { return *(MultiPort **)&((*(SpliceListIterator *)this)()); };
	int operator()(MultiPort *&p) { return (*(SpliceListIterator *)this)(*(void **)&p); };
	void operator =(MultiPortList &l) { *(SpliceListIterator *)this = *(List *)&l; };}  ;

 
 
 
 
 
 
 
 
 
class MultiPort : public Port
{
private:
  static MultiPortList * mps;            
                                         
                                         
                                         

  Index station;                         
  multproto protocol;                    
  int p_p_addr;                          
protected:
public:
  static void initMultiPorts();           
  static void gvalidMultiPorts();         
                                          
                                          
  MultiPort(multproto p, sym_ent *s, int port, int stat);

  void callback();                        
                                          

  virtual multproto getProtocol() { return protocol; }
  virtual int getStation() { return station; }

  ~MultiPort() {};
};

class mpCheck
{
private:
  int bca;              
  int numlog;           
  MultiPort * as[16];   
                        
                        
public:
  mpCheck(int b);
  int getBCA() { return bca; }
  void setStation(MultiPort * mp, int s, int pp);
  ~mpCheck();

  friend class MultiPort;
};

class mpCheckList : public List {public:	mpCheckList () : List() {};
	mpCheckList & operator =(List &l) { *(List *)this = l; return *this; };
	mpCheck *& operator[](int i) { return *(mpCheck **)&((*(List*)this)[i]); };
 friend mpCheck * operator >> (mpCheckList &, int);  
};
class mpCheckListIterator : public ListIterator {public:
	mpCheckListIterator ( mpCheckList &l) : ListIterator(l) {};
	mpCheck *& operator()() { return *(mpCheck **)&((*(ListIterator *)this)()); };
	int operator()(mpCheck *&p) { return (*(ListIterator *)this)(*( void **)&p); };
	void operator =(mpCheckList &l) { *(ListIterator *)this = *(List *)&l; };};
class mpCheckSpliceListIterator : public SpliceListIterator {public:
	mpCheckSpliceListIterator ( mpCheckList &l) : SpliceListIterator(l) {};
	mpCheck *& operator()() { return *(mpCheck **)&((*(SpliceListIterator *)this)()); };
	int operator()(mpCheck *&p) { return (*(SpliceListIterator *)this)(*(void **)&p); };
	void operator =(mpCheckList &l) { *(SpliceListIterator *)this = *(List *)&l; };} ;




 
 
 
 
 
 
 
 
 
class PortMap
{
private:
protected:
public:
  PortMap();
  virtual void doPortMap() = 0;           
  virtual ~PortMap() {}
};

 
 
 
 
 
 
 
 
class PortMapList : public List {public:	PortMapList () : List() {};
	PortMapList & operator =(List &l) { *(List *)this = l; return *this; };
	PortMap *& operator[](int i) { return *(PortMap **)&((*(List*)this)[i]); }; };
class PortMapListIterator : public ListIterator {public:	PortMapListIterator ( PortMapList &l) : ListIterator(l) {};
	PortMap *& operator()() { return *(PortMap **)&((*(ListIterator *)this)()); };
	int operator()(PortMap *&p) { return (*(ListIterator *)this)(*( void **)&p); };
	void operator =(PortMapList &l) { *(ListIterator *)this = *(List *)&l; };};
class PortMapSpliceListIterator : public SpliceListIterator {public:	PortMapSpliceListIterator ( PortMapList &l) : SpliceListIterator(l) {};
	PortMap *& operator()() { return *(PortMap **)&((*(SpliceListIterator *)this)()); };
	int operator()(PortMap *&p) { return (*(SpliceListIterator *)this)(*(void **)&p); };
	void operator =(PortMapList &l) { *(SpliceListIterator *)this = *(List *)&l; };}  ;




 
 
 
 
 
 
 
 
 
 
 
class ServerPort : public Port, virtual public PortMap
{
private:
protected:
public:
  ServerPort();
  ~ServerPort() {};
};


 
 
 
 
 
 
class TtyPort : virtual public ServerPort
{
private:
  istring *tty;          
protected:
public:
  TtyPort(istring *ttyn);
  ~TtyPort() {};
  virtual void PortName(istring &);          
  void doPortMap();                          
};


 
 
 
 
 
 
 
 
class NetPort : virtual public ServerPort
{
private:
  char *netaddrs;      
  int   sckt;          
  int   sess;          
protected:
public:
  NetPort(char *neta, int sk, int se);
  ~NetPort();
  virtual void PortName(istring &);        
  void doPortMap();                        
};


 
 
 
 
 
 
 
 
class DcuPort : virtual public PortMap
{
private:
  istring *tty;          
protected:
public:
  DcuPort(istring *ttyn);
  ~DcuPort() {};
  void doPortMap();                          
};



# 41 ".././inc/Hardware.h" 2





 
 
 
 
 
enum CpuType{
  I8086,             
  I80286,            
  UHOST              
};

enum RamSize {
  RAM256K,
  RAM512K,
  RAM1M,
  URAM
};

enum HramSize {
  NOHRAM,
  HRAM2M,
  HRAM4M,
  UFILE
};
    


 
 
 
 
 
 
 
 
class CpuHw {
private:
  static int rev;          
  static int rel;          
  static int iss;          
  static char *vs;         
  static int getvd(char **);

  CpuType  Cpu;
  RamSize  Ram;
  HramSize Hram;
protected:
public:
  CpuHw(CpuType c, RamSize r, HramSize h);       
  CpuHw();                                       
  ~CpuHw() {}

  static void setVsxRel(char *rs);   
  static int  postVsxRel(int rel);   

  int atleastV6();                   
  int atleast512K();                 
  int hasHram();                     
  int isUnixHost();                  

  istring & prntHw(istring &s);

  friend istring & operator << (istring &s, CpuHw  &c) 
      { c.prntHw(s); return s; };
};

extern void syntax();
class SmConnect;

 
 
 
 
 
 
 
 
 
class SmIdent
{
private:
  int  port;         
  char *na;          
protected:
public:
  SmIdent(int ttyp);
  SmIdent(char *neta, int tsp);
  void validate(CpuHw *);                  
  ~SmIdent();
  friend class SmConnect;
};

 
 
 
 
 
 
 
 
 
class SmConnect : virtual public PortMap
{
private:
  int  sckt;         
  int  ses;          
  char *na;          
protected:
public:
  SmConnect();
  void setSmCon(char *neta, int so, int se);
  void doPortMap();                        
  ~SmConnect();
};



# 28 "../vsxconf.cc" 2



# 1 ".././inc/Error.h" 1
 
 



extern int errors;
extern int error_limit;
extern void Error();

# 1 "./except.h" 1
 
 


 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
# 1 "/usr/local/lib/g++-include/setjmp.h" 1


extern "C" {











# 1 "/usr/local/lib/gcc-lib/i386-sco3.2v4.0/2.3.3/include/setjmp.h" 1 3
 
























#pragma comment(exestr, "@(#) setjmp.h 7.1 91/08/14 ")
















































 






# 95 "/usr/local/lib/gcc-lib/i386-sco3.2v4.0/2.3.3/include/setjmp.h" 3


typedef int jmp_buf[6 ];







extern "C" {


extern int  C_header_setjmp (jmp_buf);
extern void C_header_longjmp (jmp_buf, int);


};




# 136 "/usr/local/lib/gcc-lib/i386-sco3.2v4.0/2.3.3/include/setjmp.h" 3

  

# 15 "/usr/local/lib/g++-include/setjmp.h" 2








extern int setjmp(jmp_buf);
extern void longjmp(jmp_buf, int);


}


# 77 "./except.h" 2









jmp_buf except_stack[10 ];
int except_lev = 0;
volatile int except_val;















# 10 ".././inc/Error.h" 2






# 31 "../vsxconf.cc" 2


int rep_level=1;                           
char * p_nam;
char * p_ver = "Pre-Rel-1.2.1";

void syntax();
int opt_text_output = 0;
int opt_binary_output = 1;

main(int argc, char ** argv)
{
  p_nam = argv[0];

  CpuHw::setVsxRel("6.7.7" );

  while ( (--argc) ) {
    if ( argv[argc][0] == '-' ) {
      switch( argv[argc][1] ) {
      case 'v' :
	rep_level = atoi( &argv[argc][2] );
	break;
      case 'r' :
	CpuHw::setVsxRel(&argv[argc][2]);
	break;
      case 't' :
	opt_text_output = 1;
	break;
      default :
	syntax();
	break;
      }
    } else
      syntax();
  }




	init_lex();               
	if ((except_val = setjmp(except_stack[except_lev++])) == 0)  {
	  yyparse();                
	  ccu->doCurCU();           
	}
	else if (1  == except_val)  {
	  exit(1);
	}
	else if (2  == except_val)  { exit(1); }
	else { if (--except_lev) { { longjmp(except_stack[except_lev-1], except_val); }  } else { fprintf(       (&_iob [2]) , "unhandled exception %d\n", except_val); exit(1); }} except_lev--; ;
	exit(0);
}

void syntax()
{
  printf("\n\n%s [-t] [-rn.n.n] [-vn]\n\n",p_nam);
  puts("Where :");
  puts("\t-t      Sets the text configuration output option on");
  puts("\t-rn.n.n Sets the VSX software release to generate config for");
  puts("\t-vn     Sets verbose mode to level n where :");
  puts("\t        \t0 - Errors 1 - & Warnings 2 - & Information");
  exit(1);
}

void write_file_hd(FILE *f, char c)
{
  time_t l;
  char ts[30];
  strcpy(ts,ctime(&(l = time((time_t *)0))));
  ts[23]='\0';                  

  fprintf(f, "%c/* AUTOMATICALLY GENERATED FILE - DO NOT EDIT */\n",c);
  fprintf(f, "%c/* Generated by  : %s \tV%s */\n",c,p_nam,p_ver);
  fprintf(f, "%c/* Creation date : %s */\n",c,ts);
}
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads