install scripts. reorganization. soon to be deployable
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
char *
|
||||
readfile(char *base, char *file)
|
||||
{
|
||||
char *path, line[513];
|
||||
FILE *fd;
|
||||
|
||||
memset(line, 0, sizeof(line));
|
||||
|
||||
path = smprintf("%s/%s", base, file);
|
||||
fd = fopen(path, "r");
|
||||
if (fd == NULL) {
|
||||
perror("fopen");
|
||||
exit(1);
|
||||
}
|
||||
free(path);
|
||||
|
||||
if (fgets(line, sizeof(line)-1, fd) == NULL) {
|
||||
perror("fgets");
|
||||
exit(1);
|
||||
}
|
||||
fclose(fd);
|
||||
|
||||
return smprintf("%s", line);
|
||||
}
|
||||
|
||||
char *
|
||||
getbattery(char *base)
|
||||
{
|
||||
char *co;
|
||||
int descap, remcap;
|
||||
|
||||
descap = -1;
|
||||
remcap = -1;
|
||||
|
||||
co = readfile(base, "present");
|
||||
if (co[0] != '1') {
|
||||
free(co);
|
||||
return smprintf("not present");
|
||||
}
|
||||
free(co);
|
||||
|
||||
co = readfile(base, "charge_full_design");
|
||||
sscanf(co, "%d", &descap);
|
||||
free(co);
|
||||
|
||||
co = readfile(base, "charge_now");
|
||||
sscanf(co, "%d", &remcap);
|
||||
free(co);
|
||||
|
||||
if (remcap < 0 || descap < 0)
|
||||
return smprintf("invalid");
|
||||
|
||||
return smprintf("%.0f", ((float)remcap / (float)descap) * 100);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user