@@ -68,44 +68,46 @@ private static bool ReplaceGUIDInFile (string path)
6868 bool modified = false ;
6969
7070 try {
71- var sr = new StreamReader ( path ) ;
72-
73- // verify that this is a text file
74- var firstLine = "" ;
75- if ( sr . Peek ( ) > - 1 ) {
76- firstLine = sr . ReadLine ( ) ;
77- if ( ! firstLine . StartsWith ( "%YAML" ) ) {
78- sr . Close ( ) ;
79- return false ;
80- }
71+ var tmpFile = Path . GetTempFileName ( ) ;
72+ if ( string . IsNullOrEmpty ( tmpFile ) ) {
73+ return false ;
8174 }
8275
83- var sw = new StreamWriter ( path + ".remap" , false ) ;
76+ using ( var sr = new StreamReader ( path ) ) {
77+ // verify that this is a text file
78+ var firstLine = "" ;
79+ if ( sr . Peek ( ) > - 1 ) {
80+ firstLine = sr . ReadLine ( ) ;
81+ if ( ! firstLine . StartsWith ( "%YAML" ) ) {
82+ sr . Close ( ) ;
83+ return false ;
84+ }
85+ }
8486
85- if ( ! string . IsNullOrEmpty ( firstLine ) ) {
86- sw . WriteLine ( firstLine ) ;
87- }
87+ using ( var sw = new StreamWriter ( tmpFile , false ) ) {
88+ if ( ! string . IsNullOrEmpty ( firstLine ) ) {
89+ sw . WriteLine ( firstLine ) ;
90+ }
8891
89- while ( sr . Peek ( ) > - 1 ) {
90- var line = sr . ReadLine ( ) ;
92+ while ( sr . Peek ( ) > - 1 ) {
93+ var line = sr . ReadLine ( ) ;
9194
92- if ( line . Contains ( ForumPackageSearchID ) ) {
93- line = line . Replace ( ForumPackageSearchID , CurrentPackageSearchID ) ;
94- modified |= true ;
95- }
95+ if ( line . Contains ( ForumPackageSearchID ) ) {
96+ line = line . Replace ( ForumPackageSearchID , CurrentPackageSearchID ) ;
97+ modified |= true ;
98+ }
9699
97- sw . WriteLine ( line ) ;
100+ sw . WriteLine ( line ) ;
101+ }
102+ }
98103 }
99104
100- sr . Close ( ) ;
101- sw . Close ( ) ;
102-
103105 if ( modified ) {
104106 File . Delete ( path ) ;
105- File . Move ( path + ".remap" , path ) ;
107+ File . Move ( tmpFile , path ) ;
106108 return true ;
107109 } else {
108- File . Delete ( path + ".remap" ) ;
110+ File . Delete ( tmpFile ) ;
109111 }
110112 } catch ( IOException e ) {
111113 Debug . LogError ( string . Format ( "Failed to replace GUID in file {0} (error={1})" , path , e ) ) ;
0 commit comments