[BACK]Return to tip.h CVS log [TXT][DIR] Up to [local] / src / usr.bin / tip

Diff for /src/usr.bin/tip/Attic/tip.h between version 1.4 and 1.5

version 1.4, 1996/10/15 23:47:22 version 1.5, 1997/04/02 01:47:03
Line 1 
Line 1 
 /*      $OpenBSD$       */  /*      $OpenBSD$       */
 /*      $NetBSD: tip.h,v 1.4 1995/10/29 00:49:43 pk Exp $       */  /*      $NetBSD: tip.h,v 1.5 1996/12/29 10:34:11 cgd Exp $      */
   
 /*  /*
  * Copyright (c) 1989, 1993   * Copyright (c) 1989, 1993
Line 144 
Line 144 
  *   initialize it in vars.c, so we cast it as needed to keep lint   *   initialize it in vars.c, so we cast it as needed to keep lint
  *   happy.   *   happy.
  */   */
 typedef  
         union {  
                 int     zz_number;  
                 short   zz_boolean[2];  
                 char    zz_character[4];  
                 int     *zz_address;  
         }  
         zzhack;  
   
 #define value(v)        vtable[v].v_value  #define value(v)        vtable[v].v_value
   
 #define number(v)       ((((zzhack *)(&(v))))->zz_number)  #define number(v)       ((long)(v))
   #define boolean(v)      ((short)(long)(v))
   #define character(v)    ((char)(long)(v))
   #define address(v)      ((long *)(v))
   
 #if BYTE_ORDER == LITTLE_ENDIAN  #define setnumber(v,n)          do { (v) = (char *)(long)(n); } while (0)
 #define boolean(v)      ((((zzhack *)(&(v))))->zz_boolean[0])  #define setboolean(v,n)         do { (v) = (char *)(long)(n); } while (0)
 #define character(v)    ((((zzhack *)(&(v))))->zz_character[0])  #define setcharacter(v,n)       do { (v) = (char *)(long)(n); } while (0)
 #endif  #define setaddress(v,n)         do { (v) = (char *)(n); } while (0)
   
 #if BYTE_ORDER == BIG_ENDIAN  
 #define boolean(v)      ((((zzhack *)(&(v))))->zz_boolean[1])  
 #define character(v)    ((((zzhack *)(&(v))))->zz_character[3])  
 #endif  
   
 #define address(v)      ((((zzhack *)(&(v))))->zz_address)  
   
 /*  /*
  * Escape command table definitions --   * Escape command table definitions --

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5