119b7111fSedward /* 2*a24bc1f8Sbostic * Copyright (c) 1983, 1993 3*a24bc1f8Sbostic * The Regents of the University of California. All rights reserved. 4bac0d407Sbostic * 58e751acfSbostic * This code is derived from software contributed to Berkeley by 68e751acfSbostic * Edward Wang at The University of California, Berkeley. 78e751acfSbostic * 8122a1d9eSbostic * %sccs.include.redist.c% 9bac0d407Sbostic * 10*a24bc1f8Sbostic * @(#)value.h 8.1 (Berkeley) 06/06/93 1119b7111fSedward */ 1219b7111fSedward 1319b7111fSedward struct value { 1419b7111fSedward char v_type; 1519b7111fSedward union { 1619b7111fSedward int V_num; 1719b7111fSedward char *V_str; 1819b7111fSedward } v_un; 1919b7111fSedward }; 2019b7111fSedward #define v_num v_un.V_num 2119b7111fSedward #define v_str v_un.V_str 2219b7111fSedward 2319b7111fSedward #define V_NUM 1 2419b7111fSedward #define V_STR 2 2533430d37Sedward #define V_ERR 3 26026706c3Sedward 27026706c3Sedward #define val_free(v) ((v).v_type == V_STR ? str_free((v).v_str) : 0) 28