Messages in this thread | | | Subject | Re: [PATCH] ipmi/watchdog: add missing newlines when printing parameters by sysfs | From | Xiongfeng Wang <> | Date | Tue, 21 Jul 2020 14:17:40 +0800 |
| |
On 2020/7/21 10:00, Joe Perches wrote: > On Tue, 2020-07-21 at 09:20 +0800, Xiongfeng Wang wrote: >> On 2020/7/21 3:52, Corey Minyard wrote: >>> On Mon, Jul 20, 2020 at 10:03:25AM +0800, Xiongfeng Wang wrote: >>>> When I cat some ipmi_watchdog parameters by sysfs, it displays as >>>> follows. It's better to add a newline for easy reading. > [] >>>> diff --git a/drivers/char/ipmi/ipmi_watchdog.c b/drivers/char/ipmi/ipmi_watchdog.c > [] >>>> @@ -232,12 +232,16 @@ static int set_param_str(const char *val, const struct kernel_param *kp) >>>> static int get_param_str(char *buffer, const struct kernel_param *kp) >>>> { >>>> action_fn fn = (action_fn) kp->arg; >>>> - int rv; >>>> + int rv, len; >>>> >>>> rv = fn(NULL, buffer); >>>> if (rv) >>>> return rv; >>>> - return strlen(buffer); >>>> + >>>> + len = strlen(buffer); >>>> + len += sprintf(buffer + len, "\n"); >>> >>> sprintf is kind of overkill to stick a \n on the end of a line. How >>> about: >>> >>> buffer[len++] = '\n'; >>> >>> Since you are returning the length, you shouldn't need to nil terminate >>> the string. > > You never quite know for sure so I suggest making > the string null terminated just in case. > > i.e.: > > buffer[len++] = '\n'; > buffer[len] = 0; >
Thanks for your advice. I will change it in the next version.
Thanks, Xiongfeng
> > > . >
| |