All of lore.kernel.org
 help / color / mirror / Atom feed
* [lm-sensors] [PATCH v2 7/7] sensord: Refactoring of rrdInit()
@ 2009-05-11 16:04 Andre Prendel
  2009-05-12 19:48 ` Jean Delvare
  0 siblings, 1 reply; 2+ messages in thread
From: Andre Prendel @ 2009-05-11 16:04 UTC (permalink / raw)
  To: lm-sensors

Refactoring of the rrdInit() function.

* Fix deep indentation levels
* Return with unique error code (-1)

Changes in v2:

Fix wrong condition.
Rename buffer for struct stat to sb.

 rrd.c |   87 ++++++++++++++++++++++++++++++------------------------------------
 1 file changed, 40 insertions(+), 47 deletions(-)

Index: quilt-sensors/prog/sensord/rrd.c
=================================--- quilt-sensors.orig/prog/sensord/rrd.c	2009-05-08 19:55:45.000000000 +0200
+++ quilt-sensors/prog/sensord/rrd.c	2009-05-08 20:17:04.000000000 +0200
@@ -242,58 +242,51 @@
 
 int rrdInit(void)
 {
-	int ret = 0;
-	struct stat tmp;
+	int ret;
+	struct stat sb;
+	char stepBuff[STEP_BUFF], rraBuff[RRA_BUFF];
+	int argc = 4, num;
+	const char *argv[6 + MAX_RRD_SENSORS] = {
+		"sensord", sensord_args.rrdFile, "-s", stepBuff
+	};
 
 	sensorLog(LOG_DEBUG, "sensor RRD init");
-	if (stat(sensord_args.rrdFile, &tmp)) {
-		if (errno = ENOENT) {
-			char stepBuff[STEP_BUFF], rraBuff[RRA_BUFF];
-			int argc = 4, num;
-			const char *argv[6 + MAX_RRD_SENSORS] = {
-				"sensord", sensord_args.rrdFile, "-s", stepBuff
-			};
-
-			sensorLog(LOG_INFO, "creating round robin database");
-			num = rrdGetSensors(argv + argc);
-			if (num = 0) {
-				sensorLog(LOG_ERR,
-					  "Error creating RRD: %s: %s",
-					  sensord_args.rrdFile,
-					  "No sensors detected");
-				ret = 2;
-			} else if (num < 0) {
-				ret = -num;
-			} else {
-				sprintf(stepBuff, "%d", sensord_args.rrdTime);
-				sprintf(rraBuff, "RRA:%s:%f:%d:%d",
-					sensord_args.rrdNoAverage ? "LAST" :
-					"AVERAGE",
-					0.5 /* fraction of non-unknown samples needed per entry */,
-					1 /* samples per entry */,
-					7 * 24 * 60 * 60 /
-					sensord_args.rrdTime /* 1 week */);
-
-				argc += num;
-				argv[argc ++] = rraBuff;
-				argv[argc] = NULL;
-				if ((ret = rrd_create(argc,
-						      (char **) /* WEAK */ argv))) {
-					sensorLog(LOG_ERR,
-						  "Error creating RRD file: %s: %s",
-						  sensord_args.rrdFile,
-						  rrd_get_error());
-				}
-			}
-		} else {
-			sensorLog(LOG_ERR, "Error stat()ing RRD: %s: %s",
-				  sensord_args.rrdFile, strerror(errno));
-			ret = 1;
+
+	/* Create RRD if it does not exist. */
+	if (stat(sensord_args.rrdFile, &sb)) {
+		if (errno != ENOENT) {
+			sensorLog(LOG_ERR, "Could not stat rrd file: %s\n",
+				  sensord_args.rrdFile);
+			return -1;
+		}
+		sensorLog(LOG_INFO, "Creating round robin database");
+
+		num = rrdGetSensors(argv + argc);
+		if (num < 1) {
+			sensorLog(LOG_ERR, "Error creating RRD: %s: %s",
+				  sensord_args.rrdFile, "No sensors detected");
+			return -1;
+		}
+
+		sprintf(stepBuff, "%d", sensord_args.rrdTime);
+		sprintf(rraBuff, "RRA:%s:%f:%d:%d",
+			sensord_args.rrdNoAverage ? "LAST" :"AVERAGE",
+			0.5, 1, 7 * 24 * 60 * 60 / sensord_args.rrdTime);
+
+		argc += num;
+		argv[argc++] = rraBuff;
+		argv[argc] = NULL;
+
+		ret = rrd_create(argc, (char**) argv);
+		if (ret = -1) {
+			sensorLog(LOG_ERR, "Error creating RRD file: %s: %s",
+				  sensord_args.rrdFile, rrd_get_error());
+			return -1;
 		}
 	}
-	sensorLog(LOG_DEBUG, "sensor RRD inited");
 
-	return ret;
+	sensorLog(LOG_DEBUG, "sensor RRD initialized");
+	return 0;
 }
 
 #define RRDCGI "/usr/bin/rrdcgi"

_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [lm-sensors] [PATCH v2 7/7] sensord: Refactoring of rrdInit()
  2009-05-11 16:04 [lm-sensors] [PATCH v2 7/7] sensord: Refactoring of rrdInit() Andre Prendel
@ 2009-05-12 19:48 ` Jean Delvare
  0 siblings, 0 replies; 2+ messages in thread
From: Jean Delvare @ 2009-05-12 19:48 UTC (permalink / raw)
  To: lm-sensors

On Mon, 11 May 2009 18:04:35 +0200, Andre Prendel wrote:
> Refactoring of the rrdInit() function.
> 
> * Fix deep indentation levels
> * Return with unique error code (-1)
> 
> Changes in v2:
> 
> Fix wrong condition.
> Rename buffer for struct stat to sb.

Actually from tmp to sb ;)

Looks good, please commit.

-- 
Jean Delvare

_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-05-12 19:48 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-05-11 16:04 [lm-sensors] [PATCH v2 7/7] sensord: Refactoring of rrdInit() Andre Prendel
2009-05-12 19:48 ` Jean Delvare

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.