diff --git a/alliance/src/mbk/src/alc_pars_p.c b/alliance/src/mbk/src/alc_pars_p.c index b3065e7b..742108c3 100644 --- a/alliance/src/mbk/src/alc_pars_p.c +++ b/alliance/src/mbk/src/alc_pars_p.c @@ -1341,4 +1341,10 @@ char buffer[BUFSIZ]; if (fclose(parser.file) != 0) alc_printerror(ECLOSE); + + revphins(ptfig); + revphcon(ptfig); + revphseg(ptfig); + revphvia(ptfig); + revphref(ptfig); } diff --git a/alliance/src/mbk/src/mbk_ph.c b/alliance/src/mbk/src/mbk_ph.c index 240c8a5e..f72c575d 100644 --- a/alliance/src/mbk/src/mbk_ph.c +++ b/alliance/src/mbk/src/mbk_ph.c @@ -251,6 +251,23 @@ char *insname; return ptins; } +/******************************************************************************* +* fonction revphins * +*******************************************************************************/ +phins_list* revphins ( phfig_list* ptfig ) +{ + phins_list* ptprev1 = NULL; + phins_list* ptprev2 = NULL; + phins_list* ptins = ptfig->PHINS; + while ( ptins != NULL ) { + ptprev2 = ptprev1; + ptprev1 = ptins; + ptins = ptins->NEXT; + ptprev1->NEXT = ptprev2; + } + ptfig->PHINS = ptprev1; +} + /******************************************************************************* * fonction addphvia * *******************************************************************************/ @@ -291,6 +308,23 @@ char *name; return ptvia; } +/******************************************************************************* +* fonction revphvia * +*******************************************************************************/ +phvia_list* revphvia ( phfig_list* ptfig ) +{ + phvia_list* ptprev1 = NULL; + phvia_list* ptprev2 = NULL; + phvia_list* ptvia = ptfig->PHVIA; + while ( ptvia != NULL ) { + ptprev2 = ptprev1; + ptprev1 = ptvia; + ptvia = ptvia->NEXT; + ptprev1->NEXT = ptprev2; + } + ptfig->PHVIA = ptprev1; +} + /******************************************************************************* * fonction addphref * *******************************************************************************/ @@ -320,6 +354,23 @@ char *name; return ptref; } +/******************************************************************************* +* fonction revphref * +*******************************************************************************/ +phref_list* revphref ( phfig_list* ptfig ) +{ + phref_list* ptprev1 = NULL; + phref_list* ptprev2 = NULL; + phref_list* ptref = ptfig->PHREF; + while ( ptref != NULL ) { + ptprev2 = ptprev1; + ptprev1 = ptref; + ptref = ptref->NEXT; + ptprev1->NEXT = ptprev2; + } + ptfig->PHREF = ptprev1; +} + /******************************************************************************* * fonction addphseg * *******************************************************************************/ @@ -398,6 +449,23 @@ char *nodename = namealloc(sname); return ptseg; } +/******************************************************************************* +* fonction revphseg * +*******************************************************************************/ +phseg_list* revphseg ( phfig_list* ptfig ) +{ + phseg_list* ptprev1 = NULL; + phseg_list* ptprev2 = NULL; + phseg_list* ptseg = ptfig->PHSEG; + while ( ptseg != NULL ) { + ptprev2 = ptprev1; + ptprev1 = ptseg; + ptseg = ptseg->NEXT; + ptprev1->NEXT = ptprev2; + } + ptfig->PHSEG = ptprev1; +} + /******************************************************************************* * fonction addsorted * *******************************************************************************/ @@ -530,6 +598,23 @@ char *conname; return ptcon; } +/******************************************************************************* +* fonction revphcon * +*******************************************************************************/ +phcon_list* revphcon ( phfig_list* ptfig ) +{ + phcon_list* ptprev1 = NULL; + phcon_list* ptprev2 = NULL; + phcon_list* ptcon = ptfig->PHCON; + while ( ptcon != NULL ) { + ptprev2 = ptprev1; + ptprev1 = ptcon; + ptcon = ptcon->NEXT; + ptprev1->NEXT = ptprev2; + } + ptfig->PHCON = ptprev1; +} + /******************************************************************************* * fonction defab * *******************************************************************************/ diff --git a/alliance/src/mbk/src/mph.h b/alliance/src/mbk/src/mph.h index 1be27738..c0ca6c7e 100644 --- a/alliance/src/mbk/src/mph.h +++ b/alliance/src/mbk/src/mph.h @@ -231,27 +231,32 @@ phins_list; /******************************************************************************* * externals for physical view * *******************************************************************************/ -extern phfig_list *HEAD_PHFIG; /* physical figure list head */ - extern phfig_list * addphfig __P((const char *figname)); - extern phins_list * addphins __P((phfig_list *ptfig, const char *figname, const char *insname, char sym, long x, long y)); - extern phvia_list * addphvia __P((phfig_list *ptfig, char viatype, long x, long y, long dx, long dy, const char *name)); - extern phref_list * addphref __P((phfig_list *ptfig, const char *type, const char *name, long x, long y)); - extern phseg_list * addphseg __P((phfig_list *ptfig, char layer, long width, long x1, long y1, long x2, long y2, const char *nodename)); - extern phcon_list * addphcon __P((phfig_list *ptfig, char orient, const char *conname, long x, long y, char layer, long width)); - extern void defab __P((phfig_list *ptfig, long x1, long y1, long x2, long y2)); - extern phfig_list * getphfig __P((const char *figname, char mode)); - extern phins_list * getphins __P((phfig_list *ptfig, const char *insname)); - extern phcon_list * getphcon __P((phfig_list *ptfig, const char *conname, long index)); - extern phref_list * getphref __P((phfig_list *ptfig, const char *refname)); - extern int delphcon __P((phfig_list *ptfig, phcon_list *ptdelcon)); - extern int delphins __P((phfig_list *ptfig, const char *insname)); - extern int delphfig __P((const char *name)); - extern int delphvia __P((phfig_list *ptfig, phvia_list *ptvia)); - extern int delphseg __P((phfig_list *ptfig, phseg_list *ptseg)); - extern int delphref __P((phfig_list *ptfig, phref_list *ptref)); - extern void xyflat __P((long *xout, long *yout, long x, long y, long xins, long yins, long x1, long y1, long x2, long y2, char trsf)); - extern void invxyflat __P((long *x, long *y, long xout, long yout, long xins, long yins, long x1, long y1, long x2, long y2, char trsf)); - extern void viewph __P(()); + extern phfig_list* HEAD_PHFIG; /* physical figure list head */ + extern phfig_list* addphfig __P((const char *figname)); + extern phins_list* addphins __P((phfig_list *ptfig, const char *figname, const char *insname, char sym, long x, long y)); + extern phvia_list* addphvia __P((phfig_list *ptfig, char viatype, long x, long y, long dx, long dy, const char *name)); + extern phref_list* addphref __P((phfig_list *ptfig, const char *type, const char *name, long x, long y)); + extern phseg_list* addphseg __P((phfig_list *ptfig, char layer, long width, long x1, long y1, long x2, long y2, const char *nodename)); + extern phcon_list* addphcon __P((phfig_list *ptfig, char orient, const char *conname, long x, long y, char layer, long width)); + extern void defab __P((phfig_list *ptfig, long x1, long y1, long x2, long y2)); + extern phfig_list* getphfig __P((const char *figname, char mode)); + extern phins_list* getphins __P((phfig_list *ptfig, const char *insname)); + extern phcon_list* getphcon __P((phfig_list *ptfig, const char *conname, long index)); + extern phref_list* getphref __P((phfig_list *ptfig, const char *refname)); + extern int delphcon __P((phfig_list *ptfig, phcon_list *ptdelcon)); + extern int delphins __P((phfig_list *ptfig, const char *insname)); + extern int delphfig __P((const char *name)); + extern int delphvia __P((phfig_list *ptfig, phvia_list *ptvia)); + extern int delphseg __P((phfig_list *ptfig, phseg_list *ptseg)); + extern int delphref __P((phfig_list *ptfig, phref_list *ptref)); + extern void xyflat __P((long *xout, long *yout, long x, long y, long xins, long yins, long x1, long y1, long x2, long y2, char trsf)); + extern void invxyflat __P((long *x, long *y, long xout, long yout, long xins, long yins, long x1, long y1, long x2, long y2, char trsf)); + extern void viewph __P(()); + extern phins_list* revphins __P((phfig_list *ptfig)); + extern phvia_list* revphvia __P((phfig_list *ptfig)); + extern phref_list* revphref __P((phfig_list *ptfig)); + extern phseg_list* revphseg __P((phfig_list *ptfig)); + extern phcon_list* revphcon __P((phfig_list *ptfig)); #ifdef __cplusplus }