From a6e046366250db1a35c0bd5fc94ca72bb85ffd5f Mon Sep 17 00:00:00 2001 From: Mikhail Novosyolov Date: Sat, 13 Jan 2024 02:49:10 +0300 Subject: [PATCH] Fix linting line end str is an array, but *str points to its beginning, that does not make sense and will never be true. Fixes: 989a6f1ce8 ("ruby.c: simplify") --- ruby.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/ruby.c b/ruby.c index 093df77ba2211a..b54f1c095e175d 100644 --- a/ruby.c +++ b/ruby.c @@ -2700,9 +2700,16 @@ load_file_internal(VALUE argp_v) } start_read: - str += len - 1; - if (*str == '\n') *str-- = '\0'; - if (*str == '\r') *str-- = '\0'; + if (str[len-1] == '\n') { + str[len-1] = '\0'; + } + if (str[len-1] == '\r') { + str[len-1] = '\0'; + } + if (str[len-1] != '\0') { + str += len - 1; + str[len-1] = '\0'; + } /* ruby_engine should not contain a space */ if ((p = strstr(p, " -")) != 0) { opt->warning = 0;