1: #include "../h/rt.h" 2: 3: /* 4: * \x - test x for non-null value. 5: */ 6: 7: nonnull(nargs, arg1, arg0) 8: int nargs; 9: struct descrip arg1, arg0; 10: { 11: 12: DclSave 13: SetBound; 14: 15: /* 16: * If x is not null, it is returned, otherwise, the function fails. 17: * Because the pre-dereference value of x is the return value (if 18: * any), x is copied into arg0. 19: */ 20: arg0 = arg1; 21: DeRef(arg1) 22: if (NULLDESC(arg1)) 23: fail(); 24: ClearBound; 25: } 26: 27: Opblock(nonnull,1,"\\")