mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	nobody is using the return value of rb_io_fptr_finalize
However this function is listed in ruby/io.h. We cannot but define a new, void-returning variant to use instead. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63337 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
		
							parent
							
								
									b4d935455f
								
							
						
					
					
						commit
						b121cfde5f
					
				
					 2 changed files with 22 additions and 5 deletions
				
			
		| 
						 | 
				
			
			@ -1348,6 +1348,8 @@ VALUE rb_io_flush_raw(VALUE, int);
 | 
			
		|||
size_t rb_io_memsize(const rb_io_t *);
 | 
			
		||||
#endif
 | 
			
		||||
int rb_stderr_tty_p(void);
 | 
			
		||||
void rb_io_fptr_finalize_internal(void *ptr);
 | 
			
		||||
#define rb_io_fptr_finalize rb_io_fptr_finalize_internal
 | 
			
		||||
 | 
			
		||||
/* load.c */
 | 
			
		||||
VALUE rb_get_load_path(void);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										25
									
								
								io.c
									
										
									
									
									
								
							
							
						
						
									
										25
									
								
								io.c
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -4629,21 +4629,36 @@ clear_codeconv(rb_io_t *fptr)
 | 
			
		|||
    clear_writeconv(fptr);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int
 | 
			
		||||
rb_io_fptr_finalize(rb_io_t *fptr)
 | 
			
		||||
void
 | 
			
		||||
rb_io_fptr_finalize_internal(void *ptr)
 | 
			
		||||
{
 | 
			
		||||
    if (!fptr) return 0;
 | 
			
		||||
    rb_io_t *fptr = ptr;
 | 
			
		||||
 | 
			
		||||
    if (!ptr) return;
 | 
			
		||||
    fptr->pathv = Qnil;
 | 
			
		||||
    if (0 <= fptr->fd)
 | 
			
		||||
	rb_io_fptr_cleanup(fptr, TRUE);
 | 
			
		||||
        rb_io_fptr_cleanup(fptr, TRUE);
 | 
			
		||||
    fptr->write_lock = 0;
 | 
			
		||||
    free_io_buffer(&fptr->rbuf);
 | 
			
		||||
    free_io_buffer(&fptr->wbuf);
 | 
			
		||||
    clear_codeconv(fptr);
 | 
			
		||||
    free(fptr);
 | 
			
		||||
    return 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#undef rb_io_fptr_finalize
 | 
			
		||||
int
 | 
			
		||||
rb_io_fptr_finalize(rb_io_t *fptr)
 | 
			
		||||
{
 | 
			
		||||
    if (!fptr) {
 | 
			
		||||
        return 0;
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
        rb_io_fptr_finalize_internal(fptr);
 | 
			
		||||
        return 1;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
#define rb_io_fptr_finalize(fptr) rb_io_fptr_finalize_internal(fptr)
 | 
			
		||||
 | 
			
		||||
RUBY_FUNC_EXPORTED size_t
 | 
			
		||||
rb_io_memsize(const rb_io_t *fptr)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue