Move around code to more logical destination
diff --git a/sensor.c b/sensor.c
index abc99d4..050a2d1 100644
--- a/sensor.c
+++ b/sensor.c
@@ -99,3 +99,68 @@
 	free(num);
 	return;
 }
+
+int read_and_print_sensor_info(int verbose)
+{
+	DIR *dir, *subdir;
+	int len, found = 0;
+	char filename[PATH_MAX], devpath[PATH_MAX];
+	char device[PATH_MAX];
+	struct dirent *item, *subitem;
+
+	sprintf(filename, "%s", "/sys/class/hwmon");
+	dir = opendir(filename);
+	if (!dir)
+		return errno;
+
+	while ((item = readdir(dir))) {
+		if (item->d_name[0] == '.')  /* skip the hidden files */
+			continue;
+
+		found = 1;
+
+		sprintf(filename, "/sys/class/hwmon/%s", item->d_name);
+		sprintf(devpath, "%s/device", filename);
+
+		len = readlink(devpath, device, PATH_MAX - 1);
+
+		if (len < 0)
+			strcpy(devpath, filename);
+		else
+			device[len] = '\0';
+
+		subdir = opendir(devpath);
+
+		printf("\nSensor Information for %s :\n", item->d_name);
+		fflush(stdin);
+
+		while ((subitem = readdir(subdir))) {
+			if (subitem->d_name[0] == '.') /* skip hidden files */
+				continue;
+
+			if(!strncmp(subitem->d_name, "in", 2))
+				get_sensor_info(devpath, subitem->d_name, "in",
+						verbose);
+			else if (!strncmp(subitem->d_name, "temp", 4))
+				get_sensor_info(devpath, subitem->d_name,
+						"temp", verbose);
+			else if (!strncmp(subitem->d_name, "fan", 4))
+				get_sensor_info(devpath, subitem->d_name,
+						"fan", verbose);
+			else if (!strncmp(subitem->d_name, "pwm", 4))
+				get_sensor_info(devpath, subitem->d_name,
+						"pwm", verbose);
+
+		}
+
+		closedir(subdir);
+	}
+	closedir(dir);
+
+	if(!found && verbose) {
+		printf("Could not find sensor information!");
+		printf(" Looks like /sys/class/hwmon is empty.\n");
+	}
+
+	return 0;
+}