?RCS: $Id: bitpbyte.U 167 2013-05-08 17:58:00Z rmanfredi $ ?RCS: ?RCS: Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi ?RCS: ?RCS: You may redistribute only under the terms of the Artistic License, ?RCS: as specified in the README file that comes with the distribution. ?RCS: You may reuse parts of this distribution only within the terms of ?RCS: that same Artistic License; a copy of which may be found at the root ?RCS: of the source tree for dist 4.0. ?RCS: ?RCS: $Log: bitpbyte.U,v $ ?RCS: Revision 3.0.1.1 1994/10/29 16:02:54 ram ?RCS: patch36: added ?F: line for metalint file checking ?RCS: ?RCS: Revision 3.0 1993/08/18 12:05:27 ram ?RCS: Baseline for dist 3.0 netwide release. ?RCS: ?MAKE:bitpbyte: cat rm Myread +cc +ccflags ?MAKE: -pick add $@ %< ?S:bitpbyte: ?S: This variable contains the value of the BITS_PER_BYTE symbol, which ?S: indicates to the C program how many bits there are in a byte. ?S:. ?C:BITS_PER_BYTE: ?C: This symbol contains the number of bits in a byte, so that the C ?C: preprocessor can make decisions based on it. ?C:. ?H:#define BITS_PER_BYTE $bitpbyte /**/ ?H:. ?F:!try : check for length of byte echo " " case "$bitpbyte" in '') echo "Checking to see how many bits there are in a byte..." >&4 $cat >try.c <<'EOCP' #include ?X: Standard C requires a macro CHAR_BIT in #ifdef __STDC__ #include #ifndef CHAR_BIT #define CHAR_BIT 8 #endif #ifndef BITSPERBYTE #define BITSPERBYTE CHAR_BIT #endif #else ?X: On non standard C, try with #include #ifndef BITSPERBYTE #define BITSPERBYTE 8 #endif #endif int main() { printf("%d\n", BITSPERBYTE); } EOCP if $cc $ccflags -o try try.c >/dev/null 2>&1 ; then dflt=`./try` else dflt='8' echo "(I can't seem to compile the test program. Guessing...)" fi ;; *) dflt="$bitpbyte" ;; esac rp="What is the length of a byte (in bits)?" . ./myread bitpbyte="$ans" $rm -f try.c try