From 2e5258045d361350b559817cbda834b5b858ac52 Mon Sep 17 00:00:00 2001 From: YuQing <384681@qq.com> Date: Sun, 10 Aug 2025 12:03:25 +0800 Subject: [PATCH] change SF_BINLOG_FILE_PREFIX to SF_BINLOG_FILE_PREFIX_STR --- src/sf_binlog_writer.h | 8 ++++---- src/sf_file_writer.c | 18 +++++++++--------- src/sf_file_writer.h | 15 ++++++++------- src/sf_ordered_writer.h | 2 +- 4 files changed, 22 insertions(+), 21 deletions(-) diff --git a/src/sf_binlog_writer.h b/src/sf_binlog_writer.h index 6086466..2919197 100644 --- a/src/sf_binlog_writer.h +++ b/src/sf_binlog_writer.h @@ -132,14 +132,14 @@ int sf_binlog_writer_init_thread_ex(SFBinlogWriterThread *thread, #define sf_binlog_writer_init_normal(writer, data_path, \ subdir_name, max_record_size, buffer_size) \ - sf_binlog_writer_init_normal_ex(writer, data_path, subdir_name, \ - SF_BINLOG_FILE_PREFIX, max_record_size, buffer_size, \ + sf_binlog_writer_init_normal_ex(writer, data_path, subdir_name, \ + SF_BINLOG_FILE_PREFIX_STR, max_record_size, buffer_size, \ SF_BINLOG_DEFAULT_ROTATE_SIZE, true) #define sf_binlog_writer_init_by_version(writer, data_path, subdir_name, \ max_record_size, next_version, buffer_size, ring_size) \ sf_binlog_writer_init_by_version_ex(writer, data_path, subdir_name, \ - SF_BINLOG_FILE_PREFIX, max_record_size, next_version, \ + SF_BINLOG_FILE_PREFIX_STR, max_record_size, next_version, \ buffer_size, ring_size, SF_BINLOG_DEFAULT_ROTATE_SIZE, true) #define sf_binlog_writer_init_thread(thread, name, \ @@ -169,7 +169,7 @@ static inline int sf_binlog_writer_init_ex(SFBinlogWriterContext *context, #define sf_binlog_writer_init(context, data_path, subdir_name, \ buffer_size, write_interval_ms, max_delay, max_record_size) \ sf_binlog_writer_init_ex(context, data_path, subdir_name, \ - SF_BINLOG_FILE_PREFIX, buffer_size, write_interval_ms, \ + SF_BINLOG_FILE_PREFIX_STR, buffer_size, write_interval_ms, \ max_delay, max_record_size, true) void sf_binlog_writer_finish(SFBinlogWriterInfo *writer); diff --git a/src/sf_file_writer.c b/src/sf_file_writer.c index bad73a9..b37e629 100644 --- a/src/sf_file_writer.c +++ b/src/sf_file_writer.c @@ -54,8 +54,9 @@ static inline void sf_file_writer_get_binlog_filename(SFFileWriterInfo *writer) writer->file.name.str, writer->file.name.size); } -static inline void sf_file_writer_get_index_filename_ex(const char *data_path, - const char *subdir_name, const char *file_prefix, +static inline void sf_file_writer_get_index_filename_ex( + const char *data_path, const char *subdir_name, + const char *file_prefix, const int file_prefix_len, char *filename, const int size) { #define INDEX_FILENAME_AFFIX_STR "_index.dat" @@ -64,11 +65,9 @@ static inline void sf_file_writer_get_index_filename_ex(const char *data_path, char *p; int data_path_len; int subdir_name_len; - int file_prefix_len; data_path_len = strlen(data_path); subdir_name_len = strlen(subdir_name); - file_prefix_len = strlen(file_prefix); if (data_path_len + 1 + subdir_name_len + 1 + file_prefix_len + INDEX_FILENAME_AFFIX_LEN >= size) { @@ -96,7 +95,8 @@ const char *sf_file_writer_get_index_filename(const char *data_path, const char *subdir_name, char *filename, const int size) { sf_file_writer_get_index_filename_ex(data_path, subdir_name, - SF_BINLOG_FILE_PREFIX, filename, size); + SF_BINLOG_FILE_PREFIX_STR, SF_BINLOG_FILE_PREFIX_LEN, + filename, size); return filename; } @@ -111,8 +111,8 @@ int sf_file_writer_write_to_binlog_index_file_ex(const char *data_path, int result; int len; - sf_file_writer_get_index_filename_ex(data_path, subdir_name, - file_prefix, filename, sizeof(filename)); + sf_file_writer_get_index_filename_ex(data_path, subdir_name, file_prefix, + strlen(file_prefix), filename, sizeof(filename)); p = buff; memcpy(p, BINLOG_INDEX_ITEM_START_INDEX_STR, BINLOG_INDEX_ITEM_START_INDEX_LEN); @@ -161,8 +161,8 @@ static int get_binlog_info_from_file(const char *data_path, IniContext ini_context; int result; - sf_file_writer_get_index_filename_ex(data_path, - subdir_name, SF_BINLOG_FILE_PREFIX, + sf_file_writer_get_index_filename_ex(data_path, subdir_name, + SF_BINLOG_FILE_PREFIX_STR, SF_BINLOG_FILE_PREFIX_LEN, full_filename, sizeof(full_filename)); if (access(full_filename, F_OK) != 0) { return errno != 0 ? errno : EPERM; diff --git a/src/sf_file_writer.h b/src/sf_file_writer.h index ec073e0..5e487c4 100644 --- a/src/sf_file_writer.h +++ b/src/sf_file_writer.h @@ -24,12 +24,13 @@ #define SF_FILE_WRITER_FLAGS_WANT_DONE_VERSION 1 #define SF_BINLOG_SUBDIR_NAME_SIZE 128 -#define SF_BINLOG_FILE_PREFIX_SIZE 64 +#define SF_BINLOG_FILE_PREFIX_STR_SIZE 64 #define SF_BINLOG_DEFAULT_ROTATE_SIZE (1024 * 1024 * 1024) #define SF_BINLOG_NEVER_ROTATE_FILE 0 -#define SF_BINLOG_FILE_PREFIX "binlog" -#define SF_BINLOG_FILE_EXT_LEN 6 -#define SF_BINLOG_FILE_EXT_FMT ".%0"FC_MACRO_TOSTRING(SF_BINLOG_FILE_EXT_LEN)"d" +#define SF_BINLOG_FILE_PREFIX_STR "binlog" +#define SF_BINLOG_FILE_PREFIX_LEN (sizeof(SF_BINLOG_FILE_PREFIX_STR) - 1) +#define SF_BINLOG_FILE_EXT_LEN 6 +#define SF_BINLOG_FILE_EXT_FMT ".%0"FC_MACRO_TOSTRING(SF_BINLOG_FILE_EXT_LEN)"d" struct sf_file_writer_info; @@ -40,7 +41,7 @@ typedef struct sf_file_writer_info { struct { const char *data_path; char subdir_name[SF_BINLOG_SUBDIR_NAME_SIZE]; - char file_prefix[SF_BINLOG_FILE_PREFIX_SIZE]; + char file_prefix[SF_BINLOG_FILE_PREFIX_STR_SIZE]; int64_t file_rotate_size; int max_record_size; bool call_fsync; @@ -270,7 +271,7 @@ static inline const char *sf_file_writer_get_filename_ex( #define sf_file_writer_get_filename(data_path, subdir_name, \ binlog_index, filename, size) \ sf_file_writer_get_filename_ex(data_path, subdir_name, \ - SF_BINLOG_FILE_PREFIX, binlog_index, filename, size) + SF_BINLOG_FILE_PREFIX_STR, binlog_index, filename, size) const char *sf_file_writer_get_index_filename(const char *data_path, const char *subdir_name, char *filename, const int size); @@ -313,7 +314,7 @@ int sf_file_writer_write_to_binlog_index_file_ex(const char *data_path, #define sf_file_writer_write_to_binlog_index_file(data_path, \ subdir_name, start_index, last_index) \ sf_file_writer_write_to_binlog_index_file_ex(data_path, subdir_name, \ - SF_BINLOG_FILE_PREFIX, start_index, last_index, 0) + SF_BINLOG_FILE_PREFIX_STR, start_index, last_index, 0) #ifdef __cplusplus } diff --git a/src/sf_ordered_writer.h b/src/sf_ordered_writer.h index 9d61b51..a0a96c9 100644 --- a/src/sf_ordered_writer.h +++ b/src/sf_ordered_writer.h @@ -71,7 +71,7 @@ int sf_ordered_writer_init_ex(SFOrderedWriterContext *context, #define sf_ordered_writer_init(context, data_path, \ subdir_name, buffer_size, max_record_size) \ sf_ordered_writer_init_ex(context, data_path, subdir_name, \ - SF_BINLOG_FILE_PREFIX, buffer_size, max_record_size, \ + SF_BINLOG_FILE_PREFIX_STR, buffer_size, max_record_size, \ SF_BINLOG_DEFAULT_ROTATE_SIZE, true) #define sf_ordered_writer_set_flags(ctx, flags) \