aboutsummaryrefslogtreecommitdiffstats
path: root/app/utils.cpp
diff options
context:
space:
mode:
authorVasyl Vavrychuk <vasyl.vavrychuk@opensynergy.com>2022-01-16 08:50:03 +0100
committerVasyl Vavrychuk <vasyl.vavrychuk@opensynergy.com>2022-01-17 13:02:16 +0100
commit714ad7e26b9860360fb8098613f8b4887d851e12 (patch)
treed220b40ec092a10ad59e53e0f56465238a56d473 /app/utils.cpp
parentc6cf852237dc70ab52c8059a5876c0f966be8442 (diff)
Fix code review comments from https://gerrit.automotivelinux.org/gerrit/c/apps/camera-gstreamer/+/26934.marlin_12.92.0marlin/12.92.012.92.0
Bug-AGL: SPEC-4148 Change-Id: I18b3029eb91d4c693f1848c0e7eeedcdaae14e7f Signed-off-by: Vasyl Vavrychuk <vasyl.vavrychuk@opensynergy.com>
Diffstat (limited to 'app/utils.cpp')
-rw-r--r--app/utils.cpp18
1 files changed, 10 insertions, 8 deletions
diff --git a/app/utils.cpp b/app/utils.cpp
index 1cf71f2..45fd4d7 100644
--- a/app/utils.cpp
+++ b/app/utils.cpp
@@ -156,7 +156,7 @@ os_create_anonymous_file(off_t size)
}
const char*
-get_camera_device(void)
+get_first_camera_device(void)
{
DIR *dir = opendir("/dev");
if (!dir) {
@@ -165,20 +165,22 @@ get_camera_device(void)
}
static char device[PATH_MAX];
+ struct dirent *dirent;
bool found = false;
- while (struct dirent *dirent = readdir(dir)) {
- if (strncmp(dirent->d_name, "video", strlen("video")))
+ while ((dirent = readdir(dir)) != NULL) {
+ struct v4l2_capability vid_cap;
+ int fd;
+
+ if (strcmp(dirent->d_name, "video"))
continue;
- if (!isdigit(dirent->d_name[strlen("video")]))
+ if (!isdigit(dirent->d_name[5]))
continue;
- strcpy(device, "/dev/");
- strncat(device, dirent->d_name, sizeof(device) - 1);
+ snprintf(device, sizeof(device), "/dev/%s", dirent->d_name);
- int fd = open(device, O_RDWR);
+ fd = open(device, O_RDWR);
if (fd == -1)
continue;
- struct v4l2_capability vid_cap;
if (ioctl(fd, VIDIOC_QUERYCAP, &vid_cap) < 0) {
close(fd);
continue;