🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

1 total messages Started by harold Mon, 08 Jan 1996 00:00
bugreport
#6287
Author: harold
Date: Mon, 08 Jan 1996 00:00
2655 lines
40629 bytes
Hi there,
I'd like to report a compiler bug.

* it occurs when gcc is invoked as:
gcc -c omain.c

* the errormessage:
gcc: Internal compiler error: program cc1 got fatal signal 6

* the version:
Reading specs from /usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/specs
gcc version 2.6.3

* the machine:
HP Apollo Series 735 running HP-UX A.09.03
I guess you're now gonna mail me saying the problem is my OS, right? ;-)

* the files:
I'm including the sourcefile "omain.c", the headerfile "oconfig.h"
as well as the CPP output below.

* the problem:
is in de second last line of oconfig.h which reads:
	void 	 print_postitem(PostItem *p, int verbose) {
(it should read: void  print_postitem(PostItem *p, int verbose); )
but the compiler fails to report error(s), and dumps core.

* I can be reached at: 
harold@hoyte.nl

Best regards and happy reproducing,

		Bo.
--

	"We are root. You will be assimilated. Resistance is futile."



----- oconfig.h -------

/************************************
* config.h - edit to fit your needs *
* Wed Nov 29 15:03:11 WET 1995  Bo. *
************************************/



/*************************************
* Where to look for the ADS library? *
*************************************/

#include "/acad/ads/adslib.h"



/*********************************************
* Add the names & pointers of your functions *
* here. Also, don't forget to prototype them *
* Note: genf is a generic template function. *
*********************************************/

#define EXFUNS {"c:genf",genf},\
{"c:idma",idma},\
{"c:ipost",ipost},\
{"c:post",post},\
{"c:plist",plist},\
{"c:psync",psync},

int genf _((struct resbuf *));
int idma _(());
int ipost _(());
int post _(());
int plist _(());
int psync _(());



/*****************************************
* This is where the partlist output goes *
*****************************************/

#define PARTLIST "part.list"



/*******************************************************************************
* Better not change anything below this, unless - of course - you know exactly *
* what you are doing, which - of course - you really can't be sure (enough) of *
*******************************************************************************/

#include <stdio.h>
#include <strings.h>
#include <string.h>
#include <math.h>


#define APPN "POST221295123930BO1"

#define MAXSTRL	255

#define ARRAYSIZE(x) (sizeof(x)/sizeof((x)[0]))


int	set_space(const char *);
void 	print_restype(struct resbuf *);
void 	print_restype_list(struct resbuf *);
void 	print_3dpt(const char *, struct resbuf *);
void 	print_resbuf(struct resbuf *);
void 	print_resbuf_list(struct resbuf *);
int 	get_resbuf_val(union ads_u_val *, struct resbuf *, short);
int 	has_dxf_code(struct resbuf *, short);
int 	has_extended_data(ads_name);
int 	get_dxf_strval(struct resbuf *, short, char *);
int 	get_dxf_intval(struct resbuf *, short, short *);
int 	put_dxf_strval(struct resbuf *, short, char *);
int     get_attribute(ads_name, const char *, char *);
void	idma_ent(ads_name);
void	idma_set(ads_name);


typedef struct postitem {
	short 	number;
	char	name[MAXSTRL+1]; 
	char	bin_no[MAXSTRL+1], description[MAXSTRL+1], manufacturer[MAXSTRL+1],   /* must be defined! */
		part_number[MAXSTRL+1], component_name[MAXSTRL+1], supplier[MAXSTRL+1], quantity[MAXSTRL+1];
	struct 	postitem *next;
} PostItem;


PostItem *find_postitem_by_number(PostItem *, long);
PostItem *find_postitem_by_name(PostItem *, const char *);
void 	 print_postitem(PostItem *p, int verbose) {
PostItem *get_postitem_data(void);

---------- omain.c ----------

/*************************************** 
* main.c - no need to edit this I hope *
* Tue Nov 28 09:42:36 WET 1995     Bo. *
***************************************/


#include  "oconfig.h"


typedef struct exfunc { 
	char *name; 
	int (*pntr) _((struct resbuf *)); 
} ExFunc;

ExFunc exfun[] = { EXFUNS };


static int loadfuncs();
static int unloadfuncs();
static int dofuncs();



void main(int argc, char *argv[]) {

    int stat;
    short scode=RSRSLT;		/* This is the default result code */

    ads_init(argc, argv);	/* Initialize the interface */

    for (;;) {

        if ((stat=ads_link(scode))<0) {
            /* Can't use ads_printf to display this message, because the link failed */
            printf("TEMPLATE: bad status from ads_link()=%d\n",stat); fflush(stdout); exit(1);
        }

        scode=RSRSLT;	/* default return value */

        switch (stat) {

	/* register your ADS external functions */
        case RQXLOAD:                
            scode = (loadfuncs()==RTNORM) ? RSRSLT : RSERR;
	    ads_printf("OK.\n");
            break;

	/* handle request for external function */
        case RQSUBR:
	    scode = (dofuncs()==RTNORM) ? RSRSLT : RSERR;
            break;

	/* do C program cleanup here */
        case RQXUNLD:                 
	    scode = (unloadfuncs()==RTNORM) ? RSRSLT : RSERR;
	    ads_printf("OK.\n");
            break;

	/* AutoCAD SAVE command notification */
        case RQSAVE:                  
	    ads_printf("Save request.\n");
            break;

	/* AutoCAD QUIT command notification */
        case RQQUIT:
	    ads_printf("Quit request.\n");
            break;

	/* AutoCAD END command notification */
        case RQEND:
	    ads_printf("End request.\n");
            break;

        default:
	    ads_printf("Unknown request?\n");
            break;
        }
    }
}



/* define external functions with AutoLISP */
static int loadfuncs() {

	int i;

	for (i=0; i<ARRAYSIZE(exfun); ++i) {
		ads_printf("\n%s\n",exfun[i].name);
		if (!ads_defun(exfun[i].name,i)) {
			ads_printf("ACK! Couldn't defun \"%s\"\n",exfun[i].name); return RTERROR;
		}
	} 
	return RTNORM;
}



/* get rid of external functions */
static int unloadfuncs() {

	int i;

	for (i=0; i<ARRAYSIZE(exfun); ++i) {
		ads_printf("\n%s\n",exfun[i].name);
		if (!ads_undef(exfun[i].name,i)) {
			ads_printf("ACK! Couldn't undef \"%s\"\n",exfun[i].name); return RTERROR;
		}
	} 
	return RTNORM;
}



/* execute external function */
static int dofuncs() {

	int fun,res;
	struct resbuf *rb=ads_getargs();

	if ((fun=ads_getfuncode())<0 || fun>=ARRAYSIZE(exfun)) {
		ads_fail("Nonexisting function code."); return RTERROR;
	}

	res=(*exfun[fun].pntr)(rb); ads_relrb(rb); return res;
}

--------- CPP output ----------

# 1 "omain.c"
 





# 1 "oconfig.h" 1
 






 



# 1 "/acad/ads/adslib.h" 1
 
































  
 










































 




 






















 



# 1 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdlib.h" 1 3
 




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













# 64 "/usr/include/sys/stdsyms.h" 3








# 88 "/usr/include/sys/stdsyms.h" 3






































# 139 "/usr/include/sys/stdsyms.h" 3











# 6 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdlib.h" 2 3











   extern int __nl_char_size;






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








     typedef unsigned int size_t;








     typedef unsigned int wchar_t;





       extern double atof(const char *);

     extern int atoi(const char *);
     extern long int atol(const char *);
     extern double strtod(const char *, char **);
     extern long int strtol(const char *, char **, int);
     extern unsigned long int strtoul(const char *, char **, int);
     extern int rand(void);
     extern void srand(unsigned int);
     extern int atexit(void (*) (void));
     extern void exit(int);
     extern char *getenv(const char *);
     extern int system(const char *);

       extern int abs(int);





     extern div_t div(int, int);
     extern ldiv_t ldiv(long int, long int);
     extern long int labs(long int);
     extern int mblen(const char *, size_t);
     extern int mbtowc(wchar_t *, const char *, size_t);
     extern int wctomb(char *, wchar_t);
     extern size_t mbstowcs(wchar_t *, const char *, size_t);
     extern size_t wcstombs(char *, const wchar_t *, size_t);
     extern void free(void *);
     extern void qsort(void *, size_t, size_t, int (*)(const void *, const void *));
# 112 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdlib.h" 3










       extern void abort(void);
       extern void *bsearch(const void *, const void *, size_t, size_t, int (*) (const void *, const void *));
       extern void *calloc(size_t, size_t);
       extern void *malloc(size_t);
       extern void *realloc(void *, size_t);














     extern void setkey(const char *);
     extern void lcong48( unsigned short [] );









     extern double drand48(void);
     extern double erand48(unsigned short []);
     extern long jrand48(unsigned short []);
     extern long lrand48(void);
     extern long mrand48(void);
     extern long nrand48(unsigned short []);
     extern void srand48(long);
     extern unsigned short *seed48(unsigned short []);
     extern int putenv(const char *);
# 171 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdlib.h" 3






    extern int clearenv(void);
    extern int getopt(int, char * const [], const char *);
    extern char *getpass(const char *);






  extern char *optarg;
  extern int optind;
  extern int opterr;




 













   
  struct mallinfo  {
	int arena;	 
	int ordblks;	 
	int smblks;	 
	int hblks;	 
	int hblkhd;	 
	int usmblks;	 
	int fsmblks;	 
	int uordblks;	 
	int fordblks;	 
	int keepcost;	 
  };	




     typedef struct {
       unsigned int word1, word2, word3, word4;
     } long_double;




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















     typedef long gid_t;




     typedef long uid_t;


   struct passwd {
	char	*pw_name;
	char 	*pw_passwd;




	uid_t	pw_uid;
	gid_t	pw_gid;

	char 	*pw_age;
	char	*pw_comment;
	char	*pw_gecos;
	char	*pw_dir;
	char	*pw_shell;
	long	pw_audid;
	int	pw_audflg;
   };


     extern struct passwd *getpwuid(uid_t);
     extern struct passwd *getpwnam(const char *);







   struct s_passwd {
       char    *pw_name;
       char    *pw_passwd;
       char    *pw_age;
       long     pw_audid;
       int     pw_audflg;
   };




# 1 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdio.h" 1 3

# 1 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdarg.h" 1 3
 






















# 1 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/va-pa.h" 1 3

 




typedef double *__gnuc_va_list;


 

# 49 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/va-pa.h" 3

# 24 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdarg.h" 2 3

# 98 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdarg.h" 3





# 156 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdarg.h" 3




# 2 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdio.h" 2 3

 

















 


   typedef struct {
	int		 __cnt;
	unsigned char	*__ptr;
	unsigned char	*__base;
	unsigned short	 __flag;
	unsigned char 	 __fileL;		 
	unsigned char 	 __fileH;		 
   } FILE;

   typedef struct {
	int		 __cnt;
	unsigned char	*__ptr;
	unsigned char	*__base;
	unsigned short	 __flag;
	unsigned char 	 __fileL;		 
	unsigned char 	 __fileH;		 
	unsigned char	*__bufendp;	 
	unsigned char	 __smbuf[8 ];  
   } _FILEX;

 

























   typedef long int fpos_t;






     typedef double *__va_list;























   




   extern FILE __iob[];


     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 *fopen(const char *, const char *);
     extern FILE *freopen(const char *, const char *, FILE *);
     extern void setbuf(FILE *, char *);
     extern int setvbuf(FILE *, char *, int, size_t);
     extern int fprintf(FILE *, const char *, ...);
     extern int fscanf(FILE *, const char *,...);
     extern int printf(const char *,...);
     extern int scanf(const char *,...);
     extern int sprintf(char *, const char *,...);
     extern int sscanf(const char *, const char *,...);
     extern int vprintf(const char *, __gnuc_va_list);
     extern int vfprintf(FILE *, const char *, __gnuc_va_list);
     extern int vsprintf(char *, const char *, __gnuc_va_list);
     extern int fgetc(FILE *);
     extern char *fgets(char *, int, FILE *);
     extern int fputc(int, FILE *);
     extern int 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 puts(const char *);
     extern int ungetc(int, FILE *);
     extern int fgetpos(FILE *, fpos_t *);
     extern int fseek(FILE *, long int, int);
     extern int fsetpos(FILE *, const fpos_t *);
     extern long int ftell(FILE *);
     extern void rewind(FILE *);
     extern void clearerr(FILE *);
     extern int feof(FILE *);
     extern int ferror(FILE *);
     extern void perror(const char *);
# 188 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdio.h" 3







       extern size_t fread(void *, size_t, size_t, FILE *);
       extern size_t fwrite(const void *, size_t, size_t, FILE *);






 







     extern int __flsbuf(unsigned char, FILE *);
     extern int __filbuf(FILE *);




  






















     extern char *ctermid(char *);
     extern int fileno(FILE *);
     extern FILE *fdopen(int, const char *);




















         typedef double *__va_list__;



     extern char *optarg;
     extern int opterr;
     extern int optind;
     extern int optopt;


       extern int getopt(int, char * const [], const char *);
       extern char *cuserid(char *);











     extern int getw(FILE *);
     extern int putw(int, FILE *);
     extern int pclose(FILE *);
     extern FILE *popen(const char *, const char *);
     extern char *tempnam(const char *, const char *);















     extern int nl_fprintf(FILE *, const char * ,...);
     extern int nl_fscanf(FILE *, const char * ,...);
     extern int nl_printf(const char * ,...);
     extern int nl_scanf(const char * ,...);
     extern int nl_sprintf(char *, const char * ,...);
     extern int nl_sscanf(const char *, const char * ,...);
     extern int vscanf(const char *, __gnuc_va_list);
     extern int vfscanf(FILE *, const char *, __gnuc_va_list);
     extern int vsscanf(char *, const char *, __gnuc_va_list);







   extern unsigned char *__bufendtab[];


















# 65 "/usr/include/pwd.h" 2 3



     extern void setpwent(void);
     extern void endpwent(void);
     extern struct passwd *getpwent(void);
     extern struct passwd *fgetpwent(FILE *);
     extern struct s_passwd *getspwent(void);
     extern struct s_passwd *getspwuid(int);
     extern struct s_passwd *getspwaid(int);
     extern struct s_passwd *getspwnam(char *);
     extern struct s_passwd *fgetspwent(FILE *);
# 87 "/usr/include/pwd.h" 3












# 231 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdlib.h" 2 3




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







extern int errno;
# 1 "/usr/include/sys/errno.h" 1 3
 




 











    





         extern int errno;





    






 







































 









 




 




 




























 



 








 

 














	 































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



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


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




# 235 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdlib.h" 2 3



     extern const char *fcvt(double, size_t, int *, int *);
     extern char *gcvt(double, size_t, char *);
     extern char *ecvt(double, size_t, int *, int *);
     extern char *nl_gcvt(double, size_t, char *, int);
     extern char *_ldecvt(long_double, size_t, int *, int *);
     extern char *_ldfcvt(long_double, size_t, int *, int *);
     extern char *_ldgcvt(long_double, size_t, char *);
     extern int getpw(int, char *);
     extern long a64l(const char *);
     extern char *l64a(long);
     extern void l3tol(long *, const char *, int);
     extern void ltol3(char *, const long *, int);
     extern double nl_atof(const char *, int);
     extern double nl_strtod(const char *, char **, int);
     extern char *ltostr(long, int);
     extern char *ultostr(unsigned long, int);
     extern char *ltoa(long);
     extern char *ultoa(unsigned long);
     extern void memorymap(int);
     extern struct mallinfo mallinfo(void);
     extern int mallopt(int, int);
     extern long_double strtold(const char *, char **);
# 276 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdlib.h" 3









# 110 "/acad/ads/adslib.h" 2

# 142 "/acad/ads/adslib.h"


# 1 "/acad/ads/ads.h" 1
 





























 









 






 

typedef double ads_real;

 


typedef ads_real ads_point[3];
typedef long ads_name[2];

 

typedef ads_real ads_matrix[4][4];

 




 


 


 












 

struct ads_binary {                    
    short clen;                        
    char *buf;                         
};

 
 
union ads_u_val {
   ads_real rreal;
   ads_real rpoint[3];
   short rint;
   char *rstring;
   long rlname[2];
   long rlong;   
   struct ads_binary rbinary;
}; 
 
 




struct resbuf {                                                  
        struct resbuf *rbnext;         
        short restype;
        union ads_u_val resval;
};

 

 
void           ads_init  (int argc, char *argv[])  ;

 
void           ads_fail  (const char *str)  ;

 
void           ads_abort  (const char *str)  ;

 
void           ads_exit  (int status)  ;

 
int            ads_regfunc  (int (*fhdl) (void), int fcode)  ;

 
int            ads_link  (int cbc)  ;

 
struct resbuf *ads_newrb  (int v)  ;

 
int            ads_relrb  (struct resbuf *rb)  ;

 
int            ads_usrbrk  (void)  ;


 
int            ads_defun  (const char *sname, short funcno)  ;

 
int            ads_undef  (const char *sname, short funcno)  ;

 
int            ads_getfuncode  (void)  ;
struct resbuf *ads_getargs  (void)  ;

 
int            ads_retlist  (const struct resbuf *rbuf)  ;
int            ads_retval  (const struct resbuf *rbuf)  ;
int            ads_retpoint  (const ads_point pt)  ;
int            ads_retstr  (const char *s)  ;
int            ads_retname  (const ads_name aname, int type)  ;
int            ads_retint  (int ival)  ;
int            ads_retreal  (ads_real rval)  ;
int            ads_rett  (void)  ;
int            ads_retnil  (void)  ;
int            ads_retvoid  (void)  ;


 

int            ads_entdel  (const ads_name ent)  ;
struct resbuf *ads_entgetx  (const ads_name ent, const struct resbuf *args)  ;
struct resbuf *ads_entget  (const ads_name ent)  ;
int            ads_entlast  (ads_name result)  ;
int            ads_entnext  (const ads_name ent, ads_name result)  ;
int            ads_entupd  (const ads_name ent)  ;
int            ads_entmod  (const struct resbuf *ent)  ;
int            ads_entmake  (const struct resbuf *ent)  ;
int            ads_entsel  (const char *str, ads_name entres,
                             ads_point ptres)  ;
int            ads_nentsel  (const char *str, ads_name entres,
                              ads_point ptres, ads_point xformres[4],
                              struct resbuf **refstkres)  ;
int            ads_nentselp  (const char *str, ads_name entres,
                              ads_point ptres, int pickflag,
                              ads_matrix xformres,
                              struct resbuf **refstkres)  ;
int            ads_ssget  (const char *str, const void *pt1,
                            const ads_point pt2, const struct resbuf *filter,
                            ads_name ss)  ;
int            ads_ssfree  (const ads_name sname)  ;
int            ads_sslength  (const ads_name sname, long *len)  ;
int            ads_ssadd  (const ads_name ename, const ads_name sname,
                            ads_name result)  ;
int            ads_ssdel  (const ads_name ename, const ads_name ss)  ;
int            ads_ssmemb  (const ads_name ename, const ads_name ss)  ;
int            ads_ssname  (const ads_name ss, long i, ads_name entres)  ;

 
int            ads_xdroom  (const ads_name ent, long *result)  ;
int            ads_xdsize  (const struct resbuf *rb, long *result)  ;

 
struct resbuf *ads_tblnext  (const char *tblname, int rewind)  ;
struct resbuf *ads_tblsearch  (const char *tblname, const char *sym,
                                int setnext)  ;

 
int            ads_handent  (const char *handle, ads_name entres)  ;
int            ads_trans  (const ads_point pt, const struct resbuf *from,
                            const struct resbuf *to, int disp,
                            ads_point result)  ;

 
int            ads_angtos  (ads_real v, int unit, int prec, char *str)  ;
int            ads_cvunit  (ads_real value, const char *oldunit,
                             const char *newunit, ads_real *result)  ;
int            ads_wcmatch  (const char *string, const char *pattern)  ;
int            ads_rtos  (ads_real val, int unit, int prec, char *str)  ;
int            ads_angtof  (const char *str, int unit, ads_real *v)  ;
int            ads_distof  (const char *str, int unit, ads_real *v)  ;
int            ads_setvar  (const char *sym, const struct resbuf *val)  ;
int            ads_initget  (int val, const char *kwl)  ;

int            ads_getsym  (const char *sname, struct resbuf **value)  ;
int            ads_putsym  (const char *sname, struct resbuf *value)  ;
struct resbuf  *ads_loaded  (void)  ;
int            ads_xload  (const char *app)  ;
int            ads_xunload  (const char *app)  ;





int            ads_command  (int rtype, ...)  ;
struct resbuf *ads_buildlist  (int rtype, ...)  ;
int            ads_printf  (const char *format, ...)  ;

int            ads_cmd  (const struct resbuf *rbp)  ;
int            ads_invoke  (const struct resbuf *args,
                             struct resbuf **result)  ;
int            ads_inters  (const ads_point from1, const ads_point to1,
                             const ads_point from2, const ads_point to2,
                             int teston, ads_point result)  ;

 
int            ads_getvar  (const char *sym, struct resbuf *result)  ;
int            ads_findfile  (const char *fname, char *result)  ;

 
int            ads_getstring  (int cronly, const char *prompt, char *result)  ;

 
int            ads_menucmd  (const char *str)  ;
int            ads_prompt  (const char *str)  ;
int            ads_alert  (const char *str)  ;

 
int            ads_regapp  (const char *appname)  ;

 
int            ads_getangle  (const ads_point pt, const char *prompt,
                               ads_real *result)  ;
int            ads_getcorner  (const ads_point pt, const char *prompt,
                                ads_point result)  ;
int            ads_getdist  (const ads_point pt, const char *prompt,
                              ads_real *result)  ;
int            ads_getorient  (const ads_point pt, const char *prompt,
                                ads_real *result)  ;
int            ads_getpoint  (const ads_point pt, const char *prompt,
                               ads_point result)  ;
int            ads_getint  (const char *prompt, int *result)  ;
int            ads_getkword  (const char *prompt, char *result)  ;
int            ads_getreal  (const char *prompt, ads_real *result)  ;
int            ads_getinput  (char *str)  ;
int            ads_vports  (struct resbuf **vlist)  ;

 
int            ads_textscr  (void)  ;
int            ads_graphscr  (void)  ;
int            ads_textpage  (void)  ;

 
int            ads_grclear  (void)  ;
int            ads_redraw  (const ads_name ent, int mode)  ;
int            ads_osnap  (const ads_point pt, const char *mode,
                            ads_point result)  ;
int            ads_grread  (int track, int *type, struct resbuf *result)  ;
int            ads_grtext  (int box, const char *text, int hl)  ;
int            ads_grdraw  (const ads_point from, const ads_point to,
                             int color, int hl)  ;
int            ads_grvecs  (const struct resbuf *vlist, ads_matrix mat)  ;
int            ads_xformss  (const ads_name ssname,
                              ads_matrix genmat)  ;
int            ads_draggen  (const ads_name ss, const char *pmt, int cursor,
                              int (*scnf)  (ads_point pt, ads_matrix mt)  ,
                              ads_point p)  ;

 
ads_real       ads_angle  (const ads_point pt1, const ads_point pt2)  ;
ads_real       ads_distance  (const ads_point pt1, const ads_point pt2)  ;
void           ads_polar  (const ads_point pt, ads_real angle,
                            ads_real dist, ads_point ptres)  ;

 
int            ads_getfiled  (const char *title, const char *defawlt,
                               const char *ext, int flags,
                               struct resbuf *result)  ;

int            ads_textbox  (const struct resbuf *args,
                              ads_point pt1, ads_point pt2)  ;

 
int            ads_tablet   (const struct resbuf *args,
                              struct resbuf **result)  ;

 
int            ads_recfgport  (int *idvc, int iotype, int baudrate,
                                int parity, int databits, int stopbits,
                                int hhflag, char *devname)  ;
void           ads_adiinfo    (void *dsinfoptr)  ;
void           ads_dscfg      (void *dspktptr)  ;
void           ads_dsxqt      (void *dspktptr)  ;
void           ads_dispt      (void *dspktptr)  ;
void           ads_adistart   (void *dsactptr)  ;
void           ads_adiend     (void *dsactptr)  ;






 
int            ads_isalpha  (int c)  ;
int            ads_isupper  (int c)  ;
int            ads_islower  (int c)  ;
int            ads_isdigit  (int c)  ;
int            ads_isxdigit  (int c)  ;
int            ads_isspace  (int c)  ;
int            ads_ispunct  (int c)  ;
int            ads_isalnum  (int c)  ;
int            ads_isprint  (int c)  ;
int            ads_isgraph  (int c)  ;
int            ads_iscntrl  (int c)  ;
int            ads_toupper  (int c)  ;
int            ads_tolower  (int c)  ;

 


typedef ads_real *ads_pointp;
typedef long     *ads_namep;

 









 














 









# 144 "/acad/ads/adslib.h" 2

# 1 "/acad/ads/adscodes.h" 1
 

 

























 






 






 




 
 
 
 
     




 



















 





 

 
 





 


# 145 "/acad/ads/adslib.h" 2









# 12 "oconfig.h" 2




 












int genf  (struct resbuf *)  ;
int idma  ()  ;
int ipost  ()  ;
int post  ()  ;
int plist  ()  ;
int psync  ()  ;



 







 




# 1 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdio.h" 1 3

# 1 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdarg.h" 1 3
 






















# 1 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/va-pa.h" 1 3

 







 

# 49 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/va-pa.h" 3

# 24 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdarg.h" 2 3

# 98 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdarg.h" 3





# 156 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdarg.h" 3




# 2 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdio.h" 2 3

 
# 340 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdio.h" 3

# 51 "oconfig.h" 2

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



 





# 1 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/string.h" 1 3
 






















     extern int memcmp(const void *, const void *, size_t);
     extern char *strncat(char *, const char *, size_t);
     extern int strncmp(const char *, const char *, size_t);
     extern void *memmove(void *, const void *, size_t);
     extern char *strcpy(char *, const char *);
     extern char *strncpy(char *, const char *, size_t);
     extern char *strcat(char *, const char *);
     extern int strcmp(const char *, const char *);
     extern int strcoll(const char *, const char *);
     extern size_t strxfrm(char *, const char *, size_t);
     extern char *strchr(const char *, int);
     extern char *strpbrk(const char *, const char *);
     extern char *strrchr(const char *, int);
     extern char *strstr(const char *, const char *);
     extern char *strtok(char *, const char *);
     extern char *strerror(int);
# 57 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/string.h" 3











       extern void *memcpy(void *, const void *, size_t);
       extern void *memchr(const void *, int, size_t);
       extern void *memset(void *, int, size_t);
       extern size_t strcspn(const char *, const char *);
       extern size_t strspn(const char *, const char *);



          extern size_t strlen(const char *);

















       extern void *memccpy(void *, const void *, int, size_t);



















     extern char *strrstr(const char *, const char *);
     extern int strcasecmp(const char *, const char *);
     extern int strncasecmp(const char *, const char *, size_t);
     extern char *strdup(const char *);
     extern int nl_strcmp(const char *, const char *);
     extern int nl_strncmp(const char *, const char *, size_t);















# 11 "/usr/include/strings.h" 2 3









     extern char *index(const char *, char);
     extern char *rindex(const char *, char);
     extern void bcopy(const char *, char *, int);
     extern int bcmp(const char *, const char *, int);
     extern void bzero(char *, int);
     extern int ffs(int);















# 52 "oconfig.h" 2


# 1 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/math.h" 1 3
 











# 27 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/math.h" 3







     extern double acos(double);
     extern double asin(double);
     extern double atan(double);
     extern double atan2(double, double);
     extern double cos(double);
     extern double sin(double);
     extern double tan(double);
 

     extern double acosd(double);
     extern double asind(double);
     extern double atand(double);
     extern double atan2d(double, double);
     extern double cosd(double);
     extern double sind(double);
     extern double tand(double);

     extern double cosh(double);
     extern double sinh(double);
     extern double tanh(double);

     extern double acosh(double);
     extern double asinh(double);
     extern double atanh(double);

     extern double exp(double);
     extern double frexp(double, int *);
     extern double ldexp(double, int);
     extern double log(double);
     extern double log10(double);

     extern double log2(double);

     extern double modf(double, double *);
     extern double pow(double, double);








     extern double sqrt(double);
     extern double ceil(double);
     extern double fabs(double);
     extern double floor(double);
     extern double fmod(double, double);


 








     extern float acosf( float);
     extern float asinf( float);
     extern float atanf( float);
     extern float atan2f( float, float);
     extern float cosf( float);
     extern float sinf( float);
     extern float tanf( float);
     extern float sinhf( float);     
     extern float coshf( float);
     extern float tanhf( float);
     extern float acosdf( float);
     extern float asindf( float);
     extern float atandf( float);
     extern float atan2df( float, float);
     extern float cosdf( float);
     extern float sindf( float);
     extern float tandf( float);
     extern float expf( float);
     extern float fabsf( float);
     extern float logf( float);
     extern float log10f( float);
     extern float log2f( float);
     extern float powf( float, float );
     extern float sqrtf(float);
     extern float fmodf(float,float);

 





     extern double rint(double);
     extern int    finite(double);
     extern int    finitef(float);
     extern double copysign(double,double);
     extern float  copysignf(float,float);
     extern double scalb(double,int);
     extern int    logb(double);
     extern double drem(double, double);



# 186 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/math.h" 3





 























     extern double erf(double);
     extern double erfc(double);
     extern double gamma(double);
     extern double lgamma(double);
     extern int    isnan(double);

     extern int    isnanf(float);
     extern int    isinf(double);
     extern int    isinff(float);

     extern double hypot(double, double);
     extern double j0(double);
     extern double j1(double);
     extern double jn(int, double);
     extern double y0(double);
     extern double y1(double);
     extern double yn(int, double);
# 246 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/math.h" 3


   extern int signgam;














   struct exception {
	int type;
	char *name;
	double arg1;
	double arg2;
	double retval;
   };

   extern int errno;








struct exception;
     extern int matherr(struct exception *);
     extern double cabs();




# 295 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/math.h" 3























 
 
 

 













     extern int fpclassify(double);
     extern int fpclassifyf(float);
     extern int isnan(double);
     extern int isnanf(float);





 
 
 

 

typedef long fp_control;
typedef int fp_except;
typedef enum {
    FP_RZ=0,
    FP_RN,
    FP_RP,
    FP_RM 
    } fp_rnd;


extern fp_rnd fpgetround(void);
extern fp_rnd fpsetround(fp_rnd);






 






                             
extern fp_except fpgetmask();


extern fp_except fpgetmask(void);
extern fp_except fpsetmask(fp_except);
extern fp_except fpgetsticky(void);
extern fp_except fpsetsticky(fp_except);  






                        
 









extern void       fpsetdefaults(void);
extern int        fpgetfastmode(void);
extern int        fpsetfastmode(int);
extern fp_control fpgetcontrol(void);
extern fp_control fpsetcontrol(fp_control);








 























# 448 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/math.h" 3






# 54 "oconfig.h" 2










int	set_space(const char *);
void 	print_restype(struct resbuf *);
void 	print_restype_list(struct resbuf *);
void 	print_3dpt(const char *, struct resbuf *);
void 	print_resbuf(struct resbuf *);
void 	print_resbuf_list(struct resbuf *);
int 	get_resbuf_val(union ads_u_val *, struct resbuf *, short);
int 	has_dxf_code(struct resbuf *, short);
int 	has_extended_data(ads_name);
int 	get_dxf_strval(struct resbuf *, short, char *);
int 	get_dxf_intval(struct resbuf *, short, short *);
int 	put_dxf_strval(struct resbuf *, short, char *);
int     get_attribute(ads_name, const char *, char *);
void	idma_ent(ads_name);
void	idma_set(ads_name);


typedef struct postitem {
	short 	number;
	char	name[255 +1]; 
	char	bin_no[255 +1], description[255 +1], manufacturer[255 +1],    
		part_number[255 +1], component_name[255 +1], supplier[255 +1], quantity[255 +1];
	struct 	postitem *next;
} PostItem;


PostItem *find_postitem_by_number(PostItem *, long);
PostItem *find_postitem_by_name(PostItem *, const char *);
void 	 print_postitem(PostItem *p, int verbose) {
PostItem *get_postitem_data(void);

# 7 "omain.c" 2



typedef struct exfunc { 
	char *name; 
	int (*pntr)  (struct resbuf *)  ; 
} ExFunc;

ExFunc exfun[] = { {"c:genf",genf},{"c:idma",idma},{"c:ipost",ipost},{"c:post",post},{"c:plist",plist},{"c:psync",psync},  };


static int loadfuncs();
static int unloadfuncs();
static int dofuncs();



void main(int argc, char *argv[]) {

    int stat;
    short scode=1 ;		 

    ads_init(argc, argv);	 

    for (;;) {

        if ((stat=ads_link(scode))<0) {
             
            printf("TEMPLATE: bad status from ads_link()=%d\n",stat); fflush((&__iob[1]) ); exit(1);
        }

        scode=1 ;	 

        switch (stat) {

	 
        case 100 :                
            scode = (loadfuncs()==5100 ) ? 1  : 3 ;
	    ads_printf("OK.\n");
            break;

	 
        case 102 :
	    scode = (dofuncs()==5100 ) ? 1  : 3 ;
            break;

	 
        case 101 :                 
	    scode = (unloadfuncs()==5100 ) ? 1  : 3 ;
	    ads_printf("OK.\n");
            break;

	 
        case 14 :                  
	    ads_printf("Save request.\n");
            break;

	 
        case 16 :
	    ads_printf("Quit request.\n");
            break;

	 
        case 15 :
	    ads_printf("End request.\n");
            break;

        default:
	    ads_printf("Unknown request?\n");
            break;
        }
    }
}



 
static int loadfuncs() {

	int i;

	for (i=0; i<(sizeof( exfun )/sizeof(( exfun )[0])) ; ++i) {
		ads_printf("\n%s\n",exfun[i].name);
		if (!ads_defun(exfun[i].name,i)) {
			ads_printf("ACK! Couldn't defun \"%s\"\n",exfun[i].name); return -5001 ;
		}
	} 
	return 5100 ;
}



 
static int unloadfuncs() {

	int i;

	for (i=0; i<(sizeof( exfun )/sizeof(( exfun )[0])) ; ++i) {
		ads_printf("\n%s\n",exfun[i].name);
		if (!ads_undef(exfun[i].name,i)) {
			ads_printf("ACK! Couldn't undef \"%s\"\n",exfun[i].name); return -5001 ;
		}
	} 
	return 5100 ;
}



 
static int dofuncs() {

	int fun,res;
	struct resbuf *rb=ads_getargs();

	if ((fun=ads_getfuncode())<0 || fun>=(sizeof( exfun )/sizeof(( exfun )[0])) ) {
		ads_fail("Nonexisting function code."); return -5001 ;
	}

	res=(*exfun[fun].pntr)(rb); ads_relrb(rb); return res;
}
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