@@ -3853,6 +3853,7 @@ internal async Task<DiscordInvite> CreateChannelInviteAsync(ulong channelId, int
38533853 var targetUsersCsv = targetUsersFile is not null
38543854 ? CreateTargetUsersFile ( targetUsersFile )
38553855 : BuildTargetUsersCsvFile ( mergedTargetUsers ) ;
3856+ var disposeTargetUsersCsv = targetUsersFile is null && targetUsersCsv is not null ;
38563857
38573858 var pld = new RestChannelInviteCreatePayload
38583859 {
@@ -3893,17 +3894,14 @@ internal async Task<DiscordInvite> CreateChannelInviteAsync(ulong channelId, int
38933894 res = await this . DoRequestAsync ( this . Discord , bucket , url , RestRequestMethod . POST , route , headers , DiscordJson . SerializeObject ( pld ) ) . ConfigureAwait ( false ) ;
38943895 }
38953896
3896- if ( targetUsersCsv ? . ResetPositionTo is not null )
3897- targetUsersCsv . Stream . Position = targetUsersCsv . ResetPositionTo . Value ;
3898-
38993897 var ret = DiscordJson . DeserializeObject < DiscordInvite > ( res . Response , this . Discord ) ;
39003898 ret . Discord = this . Discord ;
39013899
3902- if ( targetUsersCsv is not null && targetUsersCsv . ResetPositionTo is null )
3900+ if ( disposeTargetUsersCsv )
39033901 {
39043902 try
39053903 {
3906- targetUsersCsv . Stream . Dispose ( ) ;
3904+ targetUsersCsv ? . Stream . Dispose ( ) ;
39073905 }
39083906 catch
39093907 {
@@ -5136,6 +5134,7 @@ internal async Task UpdateInviteTargetUsersAsync(string inviteCode, Stream? targ
51365134 var targetUsersCsv = targetUsersFile is not null
51375135 ? CreateTargetUsersFile ( targetUsersFile )
51385136 : BuildTargetUsersCsvFile ( mergedTargetUsers ) ;
5137+ var disposeTargetUsersCsv = targetUsersFile is null && targetUsersCsv is not null ;
51395138
51405139 if ( targetUsersCsv is null )
51415140 throw new ArgumentException ( "No target users provided for update." ) ;
@@ -5153,13 +5152,14 @@ internal async Task UpdateInviteTargetUsersAsync(string inviteCode, Stream? targ
51535152 var url = Utilities . GetApiUriFor ( path , this . Discord . Configuration ) ;
51545153 await this . DoMultipartAsync ( this . Discord , bucket , url , RestRequestMethod . PUT , route , headers , files : new [ ] { targetUsersCsv } , fileFieldNameFactory : _ => "target_users_file" ) . ConfigureAwait ( false ) ;
51555154
5156- if ( targetUsersCsv . ResetPositionTo is not null )
5155+ if ( targetUsersCsv is not null && targetUsersCsv . ResetPositionTo is not null )
51575156 targetUsersCsv . Stream . Position = targetUsersCsv . ResetPositionTo . Value ;
5158- else if ( targetUsersCsv is not null )
5157+
5158+ if ( disposeTargetUsersCsv )
51595159 {
51605160 try
51615161 {
5162- targetUsersCsv . Stream . Dispose ( ) ;
5162+ targetUsersCsv ? . Stream . Dispose ( ) ;
51635163 }
51645164 catch
51655165 {
0 commit comments