From 38158e4fe3a7b3b18d80e2c8f4f952c66e440b29 Mon Sep 17 00:00:00 2001 From: Jean Delvare Date: Tue, 6 Mar 2012 07:24:42 +0000 Subject: [PATCH] Calling strcat twice in a row is inefficient, it's better to use sprintf at the end of the string, so that we look for that end only once. git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@6027 7894878c-1315-0410-8ee3-d5d059ff63e0 --- CHANGES | 1 + prog/sensord/sense.c | 6 ++---- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/CHANGES b/CHANGES index b25a67fb..0cfe1a08 100644 --- a/CHANGES +++ b/CHANGES @@ -5,6 +5,7 @@ SVN HEAD libsensors: Added support for new sysfs attributes Change sysfs detection to survive upcoming kernel changes sensord: Fix memory leaks revealed by valgrind + Minor performance improvements sensors: Added support for new sysfs attributes Display both instantaneous and average power if available. Report thermal sensor type 1 as CPU diode diff --git a/prog/sensord/sense.c b/prog/sensord/sense.c index 888a5d1d..6ed91a29 100644 --- a/prog/sensord/sense.c +++ b/prog/sensord/sense.c @@ -114,10 +114,8 @@ static int do_features(const sensors_chip_name *chip, if (feature->rrd) { const char *rrded = feature->rrd(val); - /* FIXME: Jean's review comment: - * sprintf would me more efficient. - */ - strcat(strcat (rrdBuff, ":"), rrded ? rrded : "U"); + sprintf(rrdBuff + strlen(rrdBuff), ":%s", + rrded ? rrded : "U"); } return 0;