From 5c899e5d8c3e0cb0d9a8135bae7487fc84753c19 Mon Sep 17 00:00:00 2001 From: DevmateCArrayModernizer Bot Date: Thu, 23 Jul 2026 09:12:42 -0700 Subject: [PATCH] Fix CQS signal facebook-hte-CArray in xplat/yoga/java/jni Reviewed By: christophpurrer Differential Revision: D113193321 --- .../jni/first-party/yogajni/jni/YGJNIVanilla.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/packages/react-native/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp b/packages/react-native/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp index 4afd9d5c2da5..f720c2084062 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +++ b/packages/react-native/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp @@ -6,6 +6,7 @@ */ #include "YGJNIVanilla.h" +#include #include #include #include @@ -276,7 +277,7 @@ YGTransferLayoutOutputsRecursive(JNIEnv* env, jobject thiz, YGNodeRef root) { const int arrSize = 6 + (marginFieldSet ? 4 : 0) + (paddingFieldSet ? 4 : 0) + (borderFieldSet ? 4 : 0); - float arr[18]; + std::array arr; // NOLINT(cppcoreguidelines-pro-type-member-init) arr[LAYOUT_EDGE_SET_FLAG_INDEX] = static_cast(fieldFlags); arr[LAYOUT_WIDTH_INDEX] = YGNodeLayoutGetWidth(root); arr[LAYOUT_HEIGHT_INDEX] = YGNodeLayoutGetHeight(root); @@ -293,8 +294,8 @@ YGTransferLayoutOutputsRecursive(JNIEnv* env, jobject thiz, YGNodeRef root) { YGNodeLayoutGetMargin(root, YGEdgeBottom); } if (paddingFieldSet) { - int paddingStartIndex = - LAYOUT_PADDING_START_INDEX - (marginFieldSet ? 0 : 4); + auto paddingStartIndex = static_cast( + LAYOUT_PADDING_START_INDEX - (marginFieldSet ? 0 : 4)); arr[paddingStartIndex] = YGNodeLayoutGetPadding(root, YGEdgeLeft); arr[paddingStartIndex + 1] = YGNodeLayoutGetPadding(root, YGEdgeTop); arr[paddingStartIndex + 2] = YGNodeLayoutGetPadding(root, YGEdgeRight); @@ -302,8 +303,9 @@ YGTransferLayoutOutputsRecursive(JNIEnv* env, jobject thiz, YGNodeRef root) { } if (borderFieldSet) { - int borderStartIndex = LAYOUT_BORDER_START_INDEX - - (marginFieldSet ? 0 : 4) - (paddingFieldSet ? 0 : 4); + auto borderStartIndex = static_cast( + LAYOUT_BORDER_START_INDEX - (marginFieldSet ? 0 : 4) - + (paddingFieldSet ? 0 : 4)); arr[borderStartIndex] = YGNodeLayoutGetBorder(root, YGEdgeLeft); arr[borderStartIndex + 1] = YGNodeLayoutGetBorder(root, YGEdgeTop); arr[borderStartIndex + 2] = YGNodeLayoutGetBorder(root, YGEdgeRight); @@ -321,7 +323,7 @@ YGTransferLayoutOutputsRecursive(JNIEnv* env, jobject thiz, YGNodeRef root) { ScopedLocalRef arrFinal = make_local_ref(env, env->NewFloatArray(arrSize)); - env->SetFloatArrayRegion(arrFinal.get(), 0, arrSize, arr); + env->SetFloatArrayRegion(arrFinal.get(), 0, arrSize, arr.data()); env->SetObjectField(obj.get(), arrField, arrFinal.get()); } @@ -839,6 +841,7 @@ static void jni_YGNodeStyleSetGapPercentJNI( // Yoga specific properties, not compatible with flexbox specification YG_NODE_JNI_STYLE_PROP(jfloat, float, AspectRatio); +// NOLINTNEXTLINE(facebook-hte-CArray, modernize-avoid-c-arrays) static JNINativeMethod methods[] = { {"jni_YGConfigNewJNI", "()J", (void*)jni_YGConfigNewJNI}, {"jni_YGConfigFreeJNI", "(J)V", (void*)jni_YGConfigFreeJNI},