$ od -c -N 50000 [_CDCSL_93-16_]<1>Cedar>release>SHS>SHSTest.c 0000000 / * \n * C o p y r i g h t 0000020 323 1 9 9 2 b y X e r o x 0000040 C o r p o r a t i o n . A 0000060 l l r i g h t s r e s e r v 0000100 e d . \n * S e p t e m b e r 0000120 3 0 , 1 9 9 2 \n * R u n 0000140 s t h e t h r e e t e s t 0000160 s f r o m t h e S H S d 0000200 o c u m e n t \n * \n * / \n 0000220 \n \n # i n c l u d e < s t d 0000240 i o . h > \n # i n c l u d e " 0000260 S H S . h " \n \n \n v o i d o n 0000300 e f i l e ( f ) \n F I 0000320 L E * f ; \n { \n \n S H 0000340 S _ C T X * c t x = ( S H 0000360 S _ C T X * ) m a l l o c ( 0000400 s i z e o f ( S H S _ C T X ) 0000420 ) ; \n u n s i g n e d 0000440 c h a r h a s h [ 2 0 ] ; \n 0000460 i n t j ; \n \n 0000500 S H S I n i t ( c t x ) 0000520 ; \n w h i l e ( 1 ) 0000540 { \n c h a r b 0000560 u f [ 5 2 0 ] ; \n 0000600 i n t n r e a d = f r e 0000620 a d ( b u f , 1 , 5 2 0 , 0000640 f ) ; \n i f ( 0000660 n r e a d = = 0 ) b r e a k ; 0000700 \n S H S U p d a 0000720 t e ( c t x , b u f , n r 0000740 e a d ) ; \n } ; \n 0000760 S H S F i n a l ( h a s h 0001000 , c t x ) ; \n p r i 0001020 n t f ( " t e s t i n t s : 0001040 % 0 8 X % 0 8 X % 0 8 X 0001060 % 0 8 X % 0 8 X \ n " , c t 0001100 x - > s t a t e [ 0 ] , c t x 0001120 - > s t a t e [ 1 ] , c t x - 0001140 > s t a t e [ 2 ] , c t x - > 0001160 s t a t e [ 3 ] , c t x - > s 0001200 t a t e [ 4 ] ) ; \n p 0001220 r i n t f ( " t e s t c h a r 0001240 s : " ) ; \n f o r ( 0001260 j = 0 ; j < 2 0 ; j + + ) 0001300 { \n p r i n t f 0001320 ( " % 0 2 X " , h a s h [ j ] 0001340 ) ; \n i f ( j 0001360 % 4 = = 3 ) p r i n t f ( " 0001400 " ) ; \n } ; \n p 0001420 r i n t f ( " \ n " ) ; \n } \n \n 0001440 v o i d m i l l i o n A s ( ) 0001460 \n { \n \n S H S _ C T X 0001500 * c t x = ( S H S _ C T X 0001520 * ) m a l l o c ( s i z e 0001540 o f ( S H S _ C T X ) ) ; \n 0001560 u n s i g n e d c h a r 0001600 h a s h [ 2 0 ] ; \n c 0001620 h a r * a = " a " ; \n 0001640 i n t j ; \n \n 0001660 S H S I n i t ( c t x ) ; \n 0001700 f o r ( j = 0 ; j < 0001720 1 0 0 0 0 0 0 ; j + + ) { \n 0001740 S H S U p d a t 0001760 e ( c t x , a , 1 ) ; \n 0002000 } ; \n S H S F i 0002020 n a l ( h a s h , c t x ) 0002040 ; \n p r i n t f ( " t e 0002060 s t i n t s : % 0 8 X % 0002100 0 8 X % 0 8 X % 0 8 X % 0 0002120 8 X \ n " , c t x - > s t a t 0002140 e [ 0 ] , c t x - > s t a t e 0002160 [ 1 ] , c t x - > s t a t e [ 0002200 2 ] , c t x - > s t a t e [ 3 0002220 ] , c t x - > s t a t e [ 4 ] 0002240 ) ; \n p r i n t f ( " 0002260 t e s t c h a r s : " ) ; \n 0002300 f o r ( j = 0 ; j < 0002320 2 0 ; j + + ) { \n 0002340 p r i n t f ( " % 0 2 X " 0002360 , h a s h [ j ] ) ; \n 0002400 i f ( j % 4 = = 3 ) 0002420 p r i n t f ( " " ) ; \n 0002440 } ; \n p r i n t f ( " 0002460 \ n " ) ; \n } \n \n m a i n ( ) 0002500 \n { \n F I L E * f = 0002520 f o p e n ( " t e s t 2 " , 0002540 " r " ) ; \n p r i n t f 0002560 ( " c o r r e c t : % 0 0002600 8 X % 0 8 X % 0 8 X % 0 8 0002620 X % 0 8 X \ n " , 0 x 1 6 4 0002640 B 8 A 9 , 0 x 1 4 C D 2 A 5 E 0002660 , 0 x 7 4 C 4 F 7 F F , 0 x 0002700 8 2 C 4 D 9 7 , 0 x F 1 E D F 0002720 8 8 0 ) ; \n o n e f i 0002740 l e ( f ) ; \n f c l o s 0002760 e ( f ) ; \n f = f o 0003000 p e n ( " t e s t 3 " , " r " 0003020 ) ; \n p r i n t f ( " c 0003040 o r r e c t : % 0 8 X 0003060 % 0 8 X % 0 8 X % 0 8 X % 0003100 0 8 X \ n " , 0 x D 2 5 1 6 E 0003120 E 1 , 0 x A C F A 5 B A F , 0003140 0 x 3 3 D F C 1 C 4 , 0 x 7 1 0003160 E 4 3 8 4 4 , 0 x 9 E F 1 3 4 0003200 C 8 ) ; \n o n e f i l 0003220 e ( f ) ; \n f c l o s e 0003240 ( f ) ; \n p r i n t f ( 0003260 " c o r r e c t : % 0 8 0003300 X % 0 8 X % 0 8 X % 0 8 X 0003320 % 0 8 X \ n " , 0 x 3 2 3 2 0003340 A F F A , 0 x 4 8 6 2 8 A 2 6 0003360 , 0 x 6 5 3 B 5 A A A , 0 x 0003400 4 4 5 4 1 F D 9 , 0 x D 6 9 0 0003420 6 0 3 ) ; \n m i l l i 0003440 o n A s ( ) ; \n } 0003451