$ 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