wsutil: Use file descriptor in file_needs_reopen()
There's no extra benefit in having FILE pointer (over file descriptor) passed to file_needs_reopen(). Change-Id: Id49eb2f02b776c2f1ccd9d67fedd7eac38432f52 Reviewed-on: https://code.wireshark.org/review/34600 Reviewed-by: Craig Jackson <cejackson51@gmail.com> Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Guy Harris <guy@alum.mit.edu>
This commit is contained in:
parent
7d36ae9e74
commit
66ad175c47
|
@ -5342,8 +5342,8 @@ ssl_load_keyfile(const gchar *tls_keylog_filename, FILE **keylog_file,
|
|||
|
||||
ssl_debug_printf("trying to use TLS keylog in %s\n", tls_keylog_filename);
|
||||
|
||||
/* if the keylog file was deleted, re-open it */
|
||||
if (*keylog_file && file_needs_reopen(*keylog_file, tls_keylog_filename)) {
|
||||
/* if the keylog file was deleted/overwritten, re-open it */
|
||||
if (*keylog_file && file_needs_reopen(ws_fileno(*keylog_file), tls_keylog_filename)) {
|
||||
ssl_debug_printf("%s file got deleted, trying to re-open\n", G_STRFUNC);
|
||||
fclose(*keylog_file);
|
||||
*keylog_file = NULL;
|
||||
|
|
|
@ -640,8 +640,8 @@ wg_keylog_read(void)
|
|||
return;
|
||||
}
|
||||
|
||||
// Reopen file if it got deleted.
|
||||
if (wg_keylog_file && file_needs_reopen(wg_keylog_file, pref_keylog_file)) {
|
||||
// Reopen file if it got deleted/overwritten.
|
||||
if (wg_keylog_file && file_needs_reopen(ws_fileno(wg_keylog_file), pref_keylog_file)) {
|
||||
g_debug("Key log file got changed or deleted, trying to re-open.");
|
||||
wg_keylog_reset();
|
||||
}
|
||||
|
|
|
@ -2124,7 +2124,7 @@ files_identical(const char *fname1, const char *fname2)
|
|||
}
|
||||
|
||||
gboolean
|
||||
file_needs_reopen(FILE* fp, const char* filename)
|
||||
file_needs_reopen(int fd, const char* filename)
|
||||
{
|
||||
#ifdef _WIN32
|
||||
/* Windows handles st_dev in a way unsuitable here:
|
||||
|
@ -2139,7 +2139,7 @@ file_needs_reopen(FILE* fp, const char* filename)
|
|||
* Thus instead of using fstat(), use Windows specific API.
|
||||
*/
|
||||
|
||||
HANDLE open_handle = (HANDLE)_get_osfhandle(ws_fileno(fp));
|
||||
HANDLE open_handle = (HANDLE)_get_osfhandle(fd);
|
||||
HANDLE current_handle = CreateFile(utf_8to16(filename), FILE_READ_ATTRIBUTES,
|
||||
FILE_SHARE_DELETE | FILE_SHARE_READ | FILE_SHARE_WRITE,
|
||||
NULL, OPEN_EXISTING, 0, NULL);
|
||||
|
@ -2177,7 +2177,7 @@ file_needs_reopen(FILE* fp, const char* filename)
|
|||
|
||||
/* consider a file deleted when stat fails for either file,
|
||||
* or when the residing device / inode has changed. */
|
||||
if (0 != ws_fstat64(ws_fileno(fp), &open_stat))
|
||||
if (0 != ws_fstat64(fd, &open_stat))
|
||||
return TRUE;
|
||||
if (0 != ws_stat64(filename, ¤t_stat))
|
||||
return TRUE;
|
||||
|
|
|
@ -11,7 +11,6 @@
|
|||
#ifndef FILESYSTEM_H
|
||||
#define FILESYSTEM_H
|
||||
|
||||
#include <stdio.h>
|
||||
#include "ws_symbol_export.h"
|
||||
#include "ws_attributes.h"
|
||||
|
||||
|
@ -306,7 +305,7 @@ WS_DLL_PUBLIC gboolean files_identical(const char *fname1, const char *fname2);
|
|||
/*
|
||||
* Check if file has been recreated since it was opened.
|
||||
*/
|
||||
WS_DLL_PUBLIC gboolean file_needs_reopen(FILE* fp, const char* filename);
|
||||
WS_DLL_PUBLIC gboolean file_needs_reopen(int fd, const char* filename);
|
||||
|
||||
/*
|
||||
* Copy a file in binary mode, for those operating systems that care about
|
||||
|
|
Loading…
Reference in New Issue