Diff for /gforth/fflib.fs between versions 1.25 and 1.26

version 1.25, 2008/07/29 09:24:31 version 1.26, 2008/09/18 02:42:24
Line 24  s" callback" add-lib Line 24  s" callback" add-lib
   
 \c #include <avcall.h>  \c #include <avcall.h>
 \c #include <callback.h>  \c #include <callback.h>
 \c extern Cell *gforth_RP;  
 \c extern unsigned char *gforth_LP;  
 \c static av_alist alist;  \c static av_alist alist;
 \c static va_alist gforth_clist;  \c static va_alist gforth_clist;
   \c #ifndef HAS_BACKLINK
   \c static void **saved_gforth_pointers;
   \c #endif
 \c static float frv;  \c static float frv;
 \c static int irv;  \c static int irv;
 \c static double drv;  \c static double drv;
Line 35  s" callback" add-lib Line 36  s" callback" add-lib
 \c static void * prv;  \c static void * prv;
 \c typedef void *Label;  \c typedef void *Label;
 \c typedef Label *Xt;  \c typedef Label *Xt;
 \c Label *gforth_engine(Xt *ip, Cell *sp, Cell *rp0, Float *fp, char *lp);  
 \c   \c 
 \c void gforth_callback_ffcall(Xt* fcall, void * alist)  \c void gforth_callback_ffcall(Xt* fcall, void * alist)
 \c {  \c {
 \c   /* save global valiables */  \c #ifndef HAS_BACKLINK
 \c   Cell *rp = gforth_RP;  \c   void **gforth_pointers = saved_gforth_pointers;
 \c   Cell *sp = gforth_SP;  \c #endif
 \c   Float *fp = gforth_FP;  \c   {
 \c   char *lp = gforth_LP;  \c     /* save global valiables */
 \c   va_alist clist = gforth_clist;  \c     Cell *rp = gforth_RP;
   \c     Cell *sp = gforth_SP;
   \c     Float *fp = gforth_FP;
   \c     char *lp = gforth_LP;
   \c     va_alist clist = gforth_clist;
 \c   \c 
 \c   gforth_clist = (va_alist)alist;  \c     gforth_clist = (va_alist)alist;
 \c   \c 
 \c   gforth_engine(fcall, sp, rp, fp, lp);  \c     gforth_engine(fcall, sp, rp, fp, lp, gforth_UP);
 \c   \c 
 \c   /* restore global variables */  \c     /* restore global variables */
 \c   gforth_RP = rp;  \c     gforth_RP = rp;
 \c   gforth_SP = sp;  \c     gforth_SP = sp;
 \c   gforth_FP = fp;  \c     gforth_FP = fp;
 \c   gforth_LP = lp;  \c     gforth_LP = lp;
 \c   gforth_clist = clist;  \c     gforth_clist = clist;
   \c   }
 \c }  \c }
   
 \c #define av_start_void1(c_addr) av_start_void(alist, c_addr)  \c #define av_start_void1(c_addr) av_start_void(alist, c_addr)

Removed from v.1.25  
changed lines
  Added in v.1.26


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>