Common: forces optionBuf to be 8-byte aligned

This commit is contained in:
李通洲
2026-07-29 20:15:54 +08:00
committed by Carter Li
parent da401a7c3e
commit 1754aaef5f
2 changed files with 4 additions and 2 deletions
+2 -1
View File
@@ -9,6 +9,7 @@
#include <ctype.h>
#include <inttypes.h>
#include <stdalign.h>
bool ffParseModuleOptions(const char* key, const char* value) {
if (!ffStrStartsWith(key, "--") || !ffCharIsEnglishAlphabet(key[2])) {
@@ -175,7 +176,7 @@ static bool parseStructureCommand(
for (FFModuleBaseInfo** modules = ffModuleInfos[toupper(line[0]) - 'A']; *modules; ++modules) {
FFModuleBaseInfo* baseInfo = *modules;
if (ffStrEqualsIgnCase(line, baseInfo->name)) {
uint8_t optionBuf[FF_OPTION_MAX_SIZE];
alignas(uint64_t) uint8_t optionBuf[FF_OPTION_MAX_SIZE];
baseInfo->initOptions(optionBuf);
if (data->resultDoc != NULL) {
fn(data, baseInfo, optionBuf);
+2 -1
View File
@@ -11,6 +11,7 @@
#include <assert.h>
#include <ctype.h>
#include <inttypes.h>
#include <stdalign.h>
bool ffJsonConfigParseModuleArgs(yyjson_val* key, yyjson_val* val, FFModuleArgs* moduleArgs) {
if (unsafe_yyjson_equals_str(key, "type") || unsafe_yyjson_equals_str(key, "condition")) {
@@ -95,7 +96,7 @@ static bool parseModuleJsonObject(const char* type, yyjson_val* jsonVal, yyjson_
for (FFModuleBaseInfo** modules = ffModuleInfos[toupper(type[0]) - 'A']; *modules; ++modules) {
FFModuleBaseInfo* baseInfo = *modules;
if (ffStrEqualsIgnCase(type, baseInfo->name)) {
uint8_t optionBuf[FF_OPTION_MAX_SIZE];
alignas(uint64_t) uint8_t optionBuf[FF_OPTION_MAX_SIZE];
baseInfo->initOptions(optionBuf);
if (jsonVal) {
baseInfo->parseJsonObject(optionBuf, jsonVal);