Thread View: gnu.gcc.bug
1 messages
1 total messages
Started by harold
Mon, 08 Jan 1996 00:00
bugreport
Author: harold
Date: Mon, 08 Jan 1996 00:00
Date: Mon, 08 Jan 1996 00:00
2655 lines
40629 bytes
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