lavf/libssh: factorize file_stat function
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
This commit is contained in:
		
							parent
							
								
									8d3f14e11b
								
							
						
					
					
						commit
						bf5d73b04d
					
				| @ -108,6 +108,19 @@ static av_cold int libssh_open_file(LIBSSHContext *libssh, int flags, const char | ||||
|     return 0; | ||||
| } | ||||
| 
 | ||||
| static av_cold void libssh_stat_file(LIBSSHContext *libssh) | ||||
| { | ||||
|     sftp_attributes stat; | ||||
| 
 | ||||
|     if (!(stat = sftp_fstat(libssh->file))) { | ||||
|         av_log(libssh, AV_LOG_WARNING, "Cannot stat remote file.\n"); | ||||
|         libssh->filesize = -1; | ||||
|     } else { | ||||
|         libssh->filesize = stat->size; | ||||
|         sftp_attributes_free(stat); | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| static int libssh_close(URLContext *h) | ||||
| { | ||||
|     LIBSSHContext *s = h->priv_data; | ||||
| @ -131,7 +144,6 @@ static int libssh_open(URLContext *h, const char *url, int flags) | ||||
|     long timeout = s->rw_timeout * 1000; | ||||
|     const char *user = NULL, *pass = NULL; | ||||
|     char *end = NULL; | ||||
|     sftp_attributes stat; | ||||
| 
 | ||||
|     av_url_split(proto, sizeof(proto), | ||||
|                  credencials, sizeof(credencials), | ||||
| @ -179,13 +191,7 @@ static int libssh_open(URLContext *h, const char *url, int flags) | ||||
|     if ((ret = libssh_open_file(s, flags, path)) < 0) | ||||
|         goto fail; | ||||
| 
 | ||||
|     if (!(stat = sftp_fstat(s->file))) { | ||||
|         av_log(h, AV_LOG_WARNING, "Cannot stat remote file %s.\n", path); | ||||
|         s->filesize = -1; | ||||
|     } else { | ||||
|         s->filesize = stat->size; | ||||
|         sftp_attributes_free(stat); | ||||
|     } | ||||
|     libssh_stat_file(s); | ||||
| 
 | ||||
|     return 0; | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user