libcamera: ipa_module: Fix open source license verification

The second argument to std::array is the size of the array, not of the
elements it contains. Fix this by turning the std::array into a simple
array of const char pointers.

Fixes: 099815b853 ("libcamera: ipa_module: add isOpenSource")
Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
This commit is contained in:
Niklas Söderlund 2019-07-13 04:38:50 +09:00
parent bfbc25785f
commit 8f1dbd6a92

View file

@ -22,6 +22,7 @@
#include "log.h"
#include "pipeline_handler.h"
#include "utils.h"
/**
* \file ipa_module.h
@ -478,7 +479,7 @@ bool IPAModule::match(PipelineHandler *pipe,
*/
bool IPAModule::isOpenSource() const
{
static std::array<const char *, sizeof(char *)> osLicenses = {
static const char *osLicenses[] = {
"GPL-2.0-only",
"GPL-2.0-or-later",
"GPL-3.0-only",
@ -489,8 +490,11 @@ bool IPAModule::isOpenSource() const
"LGPL-3.0-or-later",
};
return std::find(osLicenses.begin(), osLicenses.end(), info_.license)
!= osLicenses.end();
for (unsigned int i = 0; i < ARRAY_SIZE(osLicenses); i++)
if (!strcmp(osLicenses[i], info_.license))
return true;
return false;
}
} /* namespace libcamera */