blob: 53595c8e3229424d37e764f26a0534071b772632 [file] [log] [blame]
The etphidiap-1.1 Makefile forces CC=gcc and does not specify a C standard. As
of 2019-03 the Chromium OS chroot environment uses gcc 4.9.2 which has a default
of -std=gnu90. This patch makes etphid_updater compile in that environment.
Notable changes applied by this patch:
1) Makefile: Allow inheriting CC.
2) Makefile: Clean up CFLAGS.
3) etphid_updater.c: Fix all warnings.
diff -Naur a/Makefile b/Makefile
--- a/Makefile 2019-05-01 23:08:36.000000000 -0700
+++ b/Makefile 2019-08-16 00:35:04.308715080 -0700
@@ -1,7 +1,8 @@
#elan touchpad updater Makefile
-CC = gcc
-CFLAGS += -g -Wall -fexceptions
+CC ?= gcc
+
+CFLAGS += -Wall -Werror
main: etphid_updater.o
${CC} ${CFLAGS} ${LDFLAGS} etphid_updater.o -o etphid_updater
@@ -10,5 +11,4 @@
${CC} ${CFLAGS} ${CPPFLAGS} etphid_updater.c -c
clean:
- rm -rf etphid_updater.o
-
+ rm -rf etphid_updater.o etphid_updater
diff -Naur a/etphid_updater.c b/etphid_updater.c
--- a/etphid_updater.c 2019-05-01 23:08:36.000000000 -0700
+++ b/etphid_updater.c 2019-08-16 00:54:39.675549953 -0700
@@ -216,7 +216,7 @@
static int dev_fd;
static int bus_type = -1;
static int interface_type = -1;
-static char raw_name[255];
+static char raw_name[256];
static int is_new_pattern=0;
static int scan_i2c()
{
@@ -237,7 +237,7 @@
continue;
}
- char dev_name[255];
+ char dev_name[sizeof(LINUX_DEV_PATH) + sizeof(in_file->d_name)];
sprintf(dev_name, "%s%s", (char*)LINUX_DEV_PATH,in_file->d_name);
if(extended_i2c_exercise)
printf("search i2c device name = %s\n",dev_name);
@@ -301,7 +301,7 @@
continue;
}
- char dev_name[255];
+ char dev_name[sizeof(LINUX_DEV_PATH) + sizeof(in_file->d_name)];
sprintf(dev_name, "%s%s", (char*)LINUX_DEV_PATH,in_file->d_name);
@@ -310,7 +310,7 @@
}
/* Get Raw Name */
- res = ioctl(tmp_fd, HIDIOCGRAWNAME(256), raw_name);
+ res = ioctl(tmp_fd, HIDIOCGRAWNAME(sizeof(raw_name)), raw_name);
/*if (res < 0)
//elan_log->WriteLine((char*)"Error: HIDIOCGRAWNAME");
else*/
@@ -347,7 +347,7 @@
}
static int assign_hidraw()
{
- char dev_name[255];
+ char dev_name[sizeof(LINUX_DEV_PATH) + sizeof(HID_RAW_NAME) + 20];
sprintf(dev_name, "%s%s%d", (char*)LINUX_DEV_PATH,
(char*)HID_RAW_NAME, hidraw_num);
//printf("dev_name = %s\n", dev_name);
@@ -362,7 +362,7 @@
}
static int assign_i2c()
{
- char dev_name[255];
+ char dev_name[sizeof(LINUX_DEV_PATH) + sizeof(I2C_NAME) + 20];
sprintf(dev_name, "%s%s%d", (char*)LINUX_DEV_PATH,
(char*)I2C_NAME, i2c_num);