Skip to content

Commit a44196d

Browse files
generatedunixname898294613133534meta-codesync[bot]
authored andcommitted
Fix CQS signal facebook-hte-CArray in xplat/yoga/java/jni (#57651)
Summary: Pull Request resolved: #57651 Reviewed By: christophpurrer Differential Revision: D113193321 fbshipit-source-id: 226f7132b0cf28f4a69f28724f4bec31b9792289
1 parent bf691fa commit a44196d

1 file changed

Lines changed: 9 additions & 6 deletions

File tree

  • packages/react-native/ReactAndroid/src/main/jni/first-party/yogajni/jni

packages/react-native/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
*/
77

88
#include "YGJNIVanilla.h"
9+
#include <array>
910
#include <bit>
1011
#include <cstring>
1112
#include <iostream>
@@ -276,7 +277,7 @@ YGTransferLayoutOutputsRecursive(JNIEnv* env, jobject thiz, YGNodeRef root) {
276277

277278
const int arrSize = 6 + (marginFieldSet ? 4 : 0) + (paddingFieldSet ? 4 : 0) +
278279
(borderFieldSet ? 4 : 0);
279-
float arr[18];
280+
std::array<float, 18> arr; // NOLINT(cppcoreguidelines-pro-type-member-init)
280281
arr[LAYOUT_EDGE_SET_FLAG_INDEX] = static_cast<float>(fieldFlags);
281282
arr[LAYOUT_WIDTH_INDEX] = YGNodeLayoutGetWidth(root);
282283
arr[LAYOUT_HEIGHT_INDEX] = YGNodeLayoutGetHeight(root);
@@ -293,17 +294,18 @@ YGTransferLayoutOutputsRecursive(JNIEnv* env, jobject thiz, YGNodeRef root) {
293294
YGNodeLayoutGetMargin(root, YGEdgeBottom);
294295
}
295296
if (paddingFieldSet) {
296-
int paddingStartIndex =
297-
LAYOUT_PADDING_START_INDEX - (marginFieldSet ? 0 : 4);
297+
auto paddingStartIndex = static_cast<size_t>(
298+
LAYOUT_PADDING_START_INDEX - (marginFieldSet ? 0 : 4));
298299
arr[paddingStartIndex] = YGNodeLayoutGetPadding(root, YGEdgeLeft);
299300
arr[paddingStartIndex + 1] = YGNodeLayoutGetPadding(root, YGEdgeTop);
300301
arr[paddingStartIndex + 2] = YGNodeLayoutGetPadding(root, YGEdgeRight);
301302
arr[paddingStartIndex + 3] = YGNodeLayoutGetPadding(root, YGEdgeBottom);
302303
}
303304

304305
if (borderFieldSet) {
305-
int borderStartIndex = LAYOUT_BORDER_START_INDEX -
306-
(marginFieldSet ? 0 : 4) - (paddingFieldSet ? 0 : 4);
306+
auto borderStartIndex = static_cast<size_t>(
307+
LAYOUT_BORDER_START_INDEX - (marginFieldSet ? 0 : 4) -
308+
(paddingFieldSet ? 0 : 4));
307309
arr[borderStartIndex] = YGNodeLayoutGetBorder(root, YGEdgeLeft);
308310
arr[borderStartIndex + 1] = YGNodeLayoutGetBorder(root, YGEdgeTop);
309311
arr[borderStartIndex + 2] = YGNodeLayoutGetBorder(root, YGEdgeRight);
@@ -321,7 +323,7 @@ YGTransferLayoutOutputsRecursive(JNIEnv* env, jobject thiz, YGNodeRef root) {
321323

322324
ScopedLocalRef<jfloatArray> arrFinal =
323325
make_local_ref(env, env->NewFloatArray(arrSize));
324-
env->SetFloatArrayRegion(arrFinal.get(), 0, arrSize, arr);
326+
env->SetFloatArrayRegion(arrFinal.get(), 0, arrSize, arr.data());
325327
env->SetObjectField(obj.get(), arrField, arrFinal.get());
326328
}
327329

@@ -839,6 +841,7 @@ static void jni_YGNodeStyleSetGapPercentJNI(
839841
// Yoga specific properties, not compatible with flexbox specification
840842
YG_NODE_JNI_STYLE_PROP(jfloat, float, AspectRatio);
841843

844+
// NOLINTNEXTLINE(facebook-hte-CArray, modernize-avoid-c-arrays)
842845
static JNINativeMethod methods[] = {
843846
{"jni_YGConfigNewJNI", "()J", (void*)jni_YGConfigNewJNI},
844847
{"jni_YGConfigFreeJNI", "(J)V", (void*)jni_YGConfigFreeJNI},

0 commit comments

Comments
 (0)