|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T p
Length: 1178 (0x49a) Types: TextFile Names: »prim2num.c«
└─⟦3d0c2be1b⟧ Bits:30001254 ISODE-5.0 Tape └─⟦eba4602b1⟧ »./isode-5.0.tar.Z« └─⟦d3ac74d73⟧ └─⟦this⟧ »isode-5.0/psap/prim2num.c«
/* prim2num.c - presentation element to integer */ #ifndef lint static char *rcsid = "$Header: /f/osi/psap/RCS/prim2num.c,v 6.0 89/03/18 23:38:54 mrose Rel $"; #endif /* * $Header: /f/osi/psap/RCS/prim2num.c,v 6.0 89/03/18 23:38:54 mrose Rel $ * * * $Log: prim2num.c,v $ * Revision 6.0 89/03/18 23:38:54 mrose * Release 5.0 * */ /* * NOTICE * * Acquisition, use, and distribution of this module and related * materials are subject to the restrictions of a license agreement. * Consult the Preface in the User's Manual for the full terms of * this agreement. * */ /* LINTLIBRARY */ #include <stdio.h> #include "psap.h" /* \f */ int prim2num (pe) register PE pe; { register int i; register PElementData dp, ep; if (pe -> pe_form != PE_FORM_PRIM || pe -> pe_prim == NULLPED) return pe_seterr (pe, PE_ERR_PRIM, NOTOK); if (pe -> pe_len > sizeof (int)) return pe_seterr (pe, PE_ERR_OVER, NOTOK); pe -> pe_errno = PE_ERR_NONE;/* in case integer is NOTOK-valued */ i = (*(dp = pe -> pe_prim) & 0x80) ? (-1) : 0; for (ep = dp + pe -> pe_len; dp < ep;) i = (i << 8) | (*dp++ & 0xff); return i; }