$ od -c -N 50000 [Indigo]<XPort>CRuntime>Private>BWSUtilImpl.mesa!1 0000000 - - C o p y r i g h t ( C ) 0000020 1 9 8 6 b y X e r o x 0000040 C o r p o r a t i o n . A l l 0000060 r i g h t s r e s e r v e d 0000100 . \r - - B W S U t i l I m p 0000120 l . m e s a \r - - D W R \t \t 2 0000140 4 - J a n - 8 6 1 4 : 2 0 : 2 0000160 2 \r - - M E W \t \t 8 - M a y 0000200 - 8 6 8 : 4 3 : 3 4 \r - - 0000220 N F S \t \t 1 5 - M a y - 8 6 0000240 9 : 0 9 : 2 3 \r \r D I R E C T O 0000260 R Y \r B W S U t i l U S I 0000300 N G [ A c c e s s ] , \r H 0000320 e a p U S I N G [ s y s t e 0000340 m Z o n e ] , \r M F i l e , 0000360 \r M F i l e O n N S F i l e 0000400 , \r M S t r e a m , \r N 0000420 S F i l e , \r N S F i l e S 0000440 t r e a m U S I N G [ C r e 0000460 a t e ] , \r N S S t r i n g 0000500 U S I N G [ A p p e n d T o 0000520 M e s a S t r i n g , F r e e 0000540 S t r i n g , L o g i c a l L 0000560 e n g t h , S t r i n g ] , \r 0000600 S t a r D e s k t o p U S 0000620 I N G [ A d d R e f e r e n c 0000640 e T o D e s k t o p ] , \r S 0000660 t r e a m U S I N G [ D e l 0000700 e t e , G e t B y t e P r o c 0000720 e d u r e , H a n d l e ] , \r 0000740 S t r i n g U S I N G [ 0000760 M a k e S t r i n g , S u b S 0001000 t r i n g D e s c r i p t o r ] 0001020 , \r X S t r i n g U S I N 0001040 G [ N S S t r i n g F r o m R 0001060 e a d e r , R e a d e r ] ; \r 0001100 \r B W S U t i l I m p l : 0001120 P R O G R A M \r I M P O R T 0001140 S H e a p , M F i l e O n N 0001160 S F i l e , M F i l e , M S 0001200 t r e a m , N S F i l e , N 0001220 S F i l e S t r e a m , N S S 0001240 t r i n g , S t a r D e s k t 0001260 o p , S t r e a m , S t r i 0001300 n g , X S t r i n g \r E X 0001320 P O R T S B W S U t i l \r 0001340 S H A R E S X S t r i n g = 0001360 { \r O P E N B W S U t i 0001400 l ; \r \r M a k e S t r e 0001420 a m : P U B L I C P R O C E 0001440 D U R E [ \r f i l e : 0001460 L O N G S T R I N G , a c 0001500 c e s s : A c c e s s 254 r 0001520 e a d O n l y , \r t y p 0001540 e : M F i l e . T y p e 254 0001560 t e x t ] \r R E T U R N 0001600 S [ s : S t r e a m . H a n 0001620 d l e 254 N I L ] = { \r 0001640 f h : M F i l e . H a n 0001660 d l e 254 N I L ; \r B 0001700 E G I N \r E N A B L E \r 0001720 M F i l e . E r r o 0001740 r , M S t r e a m . E r r o r 0001760 = > { \r I F 0002000 f h # N I L T H E N M 0002020 F i l e . R e l e a s e [ f h ] 0002040 ; C O N T I N U E ; } ; \r 0002060 f h 254 M F i l e . A 0002100 c q u i r e [ n a m e : f i l 0002120 e , a c c e s s : a c c e s 0002140 s , r e l e a s e : [ ] , 0002160 t y p e : t y p e ] ; \r 0002200 R E T U R N [ M S t r e a 0002220 m . C r e a t e [ f h , [ ] ] 0002240 ] \r E N D \r } ; \r 0002260 \r M a k e S t r e a m R 0002300 e a d e r : P U B L I C P R 0002320 O C E D U R E [ \r f i 0002340 l e : X S t r i n g . R e a d 0002360 e r , a c c e s s : A c c e 0002400 s s 254 r e a d O n l y , \r 0002420 t y p e : M F i l e . T 0002440 y p e 254 t e x t ] \r 0002460 R E T U R N S [ s : S t r e 0002500 a m . H a n d l e 254 N I L ] 0002520 = { \r n a m e : N 0002540 S S t r i n g . S t r i n g = 0002560 X S t r i n g . N S S t r i n 0002600 g F r o m R e a d e r [ f i l e 0002620 , H e a p . s y s t e m Z o n 0002640 e ] ; \r s 254 M a k e 0002660 S t r e a m N S S t r i n g [ n 0002700 a m e , a c c e s s , t y p 0002720 e ] ; \r N S S t r i n g 0002740 . F r e e S t r i n g [ H e a p 0002760 . s y s t e m Z o n e , n a m 0003000 e ] ; \r } ; \r \r M a k e 0003020 S t r e a m N S S t r i n g : 0003040 P U B L I C P R O C E D U R E 0003060 [ \r f i l e : N S S 0003100 t r i n g . S t r i n g , a c 0003120 c e s s : A c c e s s 254 r 0003140 e a d O n l y , \r t y p 0003160 e : M F i l e . T y p e 254 0003200 t e x t ] \r R E T U R N 0003220 S [ s : S t r e a m . H a n 0003240 d l e 254 N I L ] = { \r 0003260 n a m e : L O N G S T 0003300 R I N G 254 S t r i n g . M a 0003320 k e S t r i n g [ H e a p . s y 0003340 s t e m Z o n e , N S S t r i 0003360 n g . L o g i c a l L e n g t h 0003400 [ f i l e ] ] ; \r N S S 0003420 t r i n g . A p p e n d T o M e 0003440 s a S t r i n g [ n a m e , f 0003460 i l e ] ; \r s 254 M a 0003500 k e S t r e a m [ n a m e , a 0003520 c c e s s , t y p e ] ; \r 0003540 H e a p . s y s t e m Z o n 0003560 e . F R E E [ @ n a m e ] ; \r 0003600 } ; \r \r 253 N o O p S e t P 0003620 o s i t i o n : S t r e a m . 0003640 S e t P o s i t i o n P r o c e 0003660 d u r e = { } ; 273 \r \r 0003700 A d d I c o n T o D e s k t 0003720 o p : P R O C [ f i l e : 0003740 N S F i l e . H a n d l e ] = 0003760 { \r a t t r i b : N 0004000 S F i l e . A t t r i b u t e s 0004020 R e c o r d ; \r s e l e 0004040 c t i o n s : N S F i l e . S 0004060 e l e c t i o n s 254 [ i n t 0004100 e r p r e t e d : [ f i l e I 0004120 D : T R U E , s e r v i c e 0004140 : T R U E ] ] ; \r N S 0004160 F i l e . G e t A t t r i b u t 0004200 e s [ f i l e , s e l e c t i 0004220 o n s , @ a t t r i b ] ; \r 0004240 S t a r D e s k t o p . A 0004260 d d R e f e r e n c e T o D e s 0004300 k t o p [ N S F i l e . M a k e 0004320 R e f e r e n c e [ a t t r i b 0004340 . f i l e I D , a t t r i b . 0004360 s e r v i c e ] ] ; \r } ; \r 0004400 \r A c q u i r e F i l e 0004420 : P U B L I C P R O C E D U 0004440 R E [ n a m e : N S S t r i 0004460 n g . S t r i n g ] R E T U R 0004500 N S [ f h : N S F i l e . H a 0004520 n d l e 254 N S F i l e . n u 0004540 l l H a n d l e ] = { \r 0004560 \r E a c h D i r e c t o 0004600 r y : M F i l e O n N S F i l 0004620 e . E a c h E l e m e n t P r o 0004640 c = { \r d f h : 0004660 N S F i l e . H a n d l e 254 0004700 N S F i l e . O p e n B y R e 0004720 f e r e n c e [ e l e m e n t 0004740 ] ; \r \r f h 254 N 0004760 S F i l e . O p e n B y N a m e 0005000 [ d i r e c t o r y : d f h , 0005020 p a t h : n a m e , \r 0005040 c o n t r o l s : 0005060 [ a c c e s s : [ r e a d : 0005100 T R U E ] ] ! N S F i l e . E 0005120 r r o r = > { C O N T I N U 0005140 E } ] ; \r N S F i 0005160 l e . C l o s e [ d f h ] ; \r 0005200 R E T U R N [ d o 0005220 n e : f h # N S F i l e . n u 0005240 l l H a n d l e ] ; \r 0005260 } ; \r \r M F i 0005300 l e O n N S F i l e . E n u m e 0005320 r a t e P a t h [ E a c h D i 0005340 r e c t o r y ] ; \r } ; \r 0005360 \r S u b S t r i n g F r o 0005400 m X S t r i n g : P U B L I C 0005420 P R O C E D U R E [ r : X 0005440 S t r i n g . R e a d e r ] \r 0005460 R E T U R N S [ s d : 0005500 S t r i n g . S u b S t r i n g 0005520 D e s c r i p t o r ] = { \r 0005540 s d 254 [ \r 0005560 b a s e : L O O P H O L E [ 0005600 L O O P H O L E [ r . b y t e s 0005620 , L O N G C A R D I N A L ] 0005640 - 2 , L O N G P O I N T 0005660 E R T O S t r i n g B o d y 0005700 ] , \r o f f s e t : 0005720 r . o f f s e t , \r 0005740 l e n g t h : r . l i m i t 0005760 - r . o f f s e t ] ; \r 0006000 } ; \r \r N S F i l e S t 0006020 r e a m I s I t : P U B L I C 0006040 P R O C E D U R E [ s : S 0006060 t r e a m . H a n d l e ] \r 0006100 R E T U R N S [ B O O L E 0006120 A N ] = { \r R E T U 0006140 R N [ s # N I L A N D 0006160 s . g e t B y t e = g e t B 0006200 y t e ] ; \r } ; \r \r 0006220 S a m p l e N S F i l e S t r e 0006240 a m : P R O C = { \r 0006260 f h : N S F i l e . H a n d 0006300 l e 254 N S F i l e . C r e a 0006320 t e [ N S F i l e . n u l l H a 0006340 n d l e ] ; - - a R E A L 0006360 t e m p o r a r y f i l e \r 0006400 h : S t r e a m . H a 0006420 n d l e 254 N S F i l e S t r 0006440 e a m . C r e a t e [ f i l e : 0006460 f h , s e s s i o n : N S 0006500 F i l e . n u l l S e s s i o n 0006520 ] ; \r g e t B y t e 254 0006540 h . g e t B y t e ; \r 0006560 S t r e a m . D e l e t e [ h ] 0006600 ; \r } ; \r \r g e t B 0006620 y t e : S t r e a m . G e t B 0006640 y t e P r o c e d u r e 254 N 0006660 I L ; \r \r S a m p l e N 0006700 S F i l e S t r e a m [ ] ; \r \r 0006720 } . \r \r 0006734