diff --git a/v4l2loopback.c b/v4l2loopback.c index 4659bdf7..2af8d22c 100644 --- a/v4l2loopback.c +++ b/v4l2loopback.c @@ -45,6 +45,10 @@ #define VFL_TYPE_VIDEO VFL_TYPE_GRABBER #endif +#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 3, 0) +#define strscpy strlcpy +#endif + #define V4L2LOOPBACK_VERSION_CODE \ KERNEL_VERSION(V4L2LOOPBACK_VERSION_MAJOR, V4L2LOOPBACK_VERSION_MINOR, \ V4L2LOOPBACK_VERSION_BUGFIX) @@ -901,7 +905,7 @@ static int vidioc_querycap(struct file *file, void *priv, ->device_nr; __u32 capabilities = V4L2_CAP_STREAMING | V4L2_CAP_READWRITE; - strlcpy(cap->driver, "v4l2 loopback", sizeof(cap->driver)); + strscpy(cap->driver, "v4l2 loopback", sizeof(cap->driver)); snprintf(cap->card, sizeof(cap->card), "%s", dev->card_label); snprintf(cap->bus_info, sizeof(cap->bus_info), "platform:v4l2loopback-%03d", device_nr); @@ -1423,7 +1427,7 @@ static int vidioc_enum_output(struct file *file, void *fh, memset(outp, 0, sizeof(*outp)); outp->index = index; - strlcpy(outp->name, "loopback in", sizeof(outp->name)); + strscpy(outp->name, "loopback in", sizeof(outp->name)); outp->type = V4L2_OUTPUT_TYPE_ANALOG; outp->audioset = 0; outp->modulator = 0; @@ -1483,7 +1487,7 @@ static int vidioc_enum_input(struct file *file, void *fh, memset(inp, 0, sizeof(*inp)); inp->index = index; - strlcpy(inp->name, "loopback", sizeof(inp->name)); + strscpy(inp->name, "loopback", sizeof(inp->name)); inp->type = V4L2_INPUT_TYPE_CAMERA; inp->audioset = 0; inp->tuner = 0;