1 /*------------------------------------------------------------\
7 | Authors : Jacomme Ludovic |
10 \------------------------------------------------------------*/
30 #include "XYA_cgvfig.h"
31 #include "XYA_error.h"
34 cgvfig_list
*XyagFigureCgv
= (cgvfig_list
*) NULL
;
36 /*------------------------------------------------------------\
37 | For parser exit handler |
38 \------------------------------------------------------------*/
40 static sigjmp_buf XyagJumpBuffer
;
41 static void (*OldExitHandler
) () = NULL
;
43 /*------------------------------------------------------------\
45 \------------------------------------------------------------*/
50 // XyagFlushErrorMessage();
51 signal(SIGTERM
, OldExitHandler
);
52 siglongjmp(XyagJumpBuffer
, 1);
55 /*------------------------------------------------------------\
56 | XyagActiveExitHandler |
57 \------------------------------------------------------------*/
60 XyagActiveExitHandler()
62 OldExitHandler
= signal(SIGTERM
, XyagExitHandler
);
65 /*------------------------------------------------------------\
66 | XyagResetExitHandler |
67 \------------------------------------------------------------*/
70 XyagResetExitHandler()
72 signal(SIGTERM
, OldExitHandler
);
75 /*------------------------------------------------------------\
77 \------------------------------------------------------------*/
80 Xyaggetcgvfig(char *Name
, int Mode
, char *filename
)
82 cgvfig_list
*FigureCgv
;
84 #ifndef __ALL__WARNING__
87 // for (FigureCgv = HEAD_CGVFIG; FigureCgv; FigureCgv = rmvcgvfig(FigureCgv));
91 XyagActiveExitHandler();
93 if (sigsetjmp(XyagJumpBuffer
, 1) == 0) {
94 XyagSetJmpEnv (&XyagJumpBuffer
);
95 FigureCgv
= getcgvfig(Name
, Mode
, NULL
);
96 // buildcgvfig(FigureCgv);
97 XyagGetWarningMess() ;
99 XyagResetExitHandler();
103 XyagGetWarningMess();
109 /*------------------------------------------------------------\
111 \------------------------------------------------------------*/
114 Xyaggetbefig(FileName
)
117 befig_list
*FigureBeh
;
119 if (XyagEditBehBefig
!= NULL
) {
120 XyagEditBehBefig
= beh_delbefig(XyagEditBehBefig
, XyagEditBehBefig
, 'Y');
121 printf("remove BEH\n");
124 if (findbefig(FileName
)==NULL
) return NULL
;
127 XyagActiveExitHandler();
129 if (sigsetjmp(XyagJumpBuffer
, 1) == 0) {
130 XyagSetJmpEnv (&XyagJumpBuffer
);
131 FigureBeh
= loadbefig(NULL
, FileName
, BVL_TRACE
| BVL_KEEPAUX
);
133 XyagResetExitHandler();