udev: mode should be mode_t
PATCH 1/1 udev: mode should be mode_t
Unix file modes should be stored in a mode_t, not a standard type. At the moment it is actually unsigned, in fact, not a signed integer.
Attached patch does an s/int mode/mode_t mode/ and cleans up the results.
Patch is against udev-003.
Robert Love
namedev.c | 12 +++++++----- udev-add.c | 4 ++-- udev.h | 2 +- udevdb.c | 2 +- udevdb.h | 2 +- 5 files changed, 12 insertions(+), 10 deletions(-)
namedev.c +7 -5
@@ -446,7 +446,8 @@ dev.attr.mode =strtol (temp,NULL ,8 );dbg_parse ("name = %s, owner = %s, group = %s, mode = %#o" , - dev.attr.name, dev.attr.owner, dev.attr.group, dev.attr.mode); + dev.attr.name, dev.attr.owner, dev.attr.group, + dev.attr.mode); retval =add_dev (&dev);if (retval) {dbg ("add_dev returned with error %d" , retval);
@@ -459,7 +460,7 @@return retval; } -static int get_default_mode (struct sysfs_class_device *class_dev) +static mode_t get_default_mode (struct sysfs_class_device *class_dev) {/* just default everyone to rw for the world! */ return 0666 ;
@@ -544,7 +545,7 @@int retval =0 ;int found; - attr->mode =-1 ; + attr->mode =0 ;if (class_dev->sysdevice) {dbg_parse ("class_dev->sysdevice->directory->path = '%s'" , class_dev->sysdevice->directory->path);dbg_parse ("class_dev->sysdevice->bus_id = '%s'" , class_dev->sysdevice->bus_id);
@@ -751,9 +752,10 @@ } }strcpy (attr->name, class_dev->name); - + done: -if (attr->mode =-1 ) { +/* mode was never set above */ +if (!attr->mode) { attr->mode =get_default_mode (class_dev); attr->owner[0 ] =0x00 ; attr->group[0 ] =0x00 ;
udev-add.c +2 -2
@@ -71,7 +71,7 @@/* * We also want to add some permissions here, and possibly some symlinks */ -static int create_node (char *name,char type,int major,int minor,int mode) +static int create_node (char *name,char type,int major,int minor,mode_t mode) {char filename[255 ];int retval =0 ;
@@ -94,7 +94,7 @@ }dbg ("mknod(%s, %#o, %u, %u)" , filename, mode, major, minor); - retval =mknod (filename,mode,makedev (major,minor)); + retval =mknod (filename, mode,makedev (major, minor));if (retval)dbg ("mknod(%s, %#o, %u, %u) failed with error '%s'" , filename, mode, major, minor,strerror (errno));
udevdb.c +1 -1
@@ -68,7 +68,7 @@char type;int major;int minor; -int mode; +mode_t mode; };/**
udevdb.h +1 -1
@@ -25,7 +25,7 @@char type;int major;int minor; -int mode; +mode_t mode; };/* Function Prototypes */
udev.h +1 -1
@@ -59,7 +59,7 @@char name[NAME_SIZE ];char owner[OWNER_SIZE ];char group[GROUP_SIZE ]; -int mode; +mode_t mode; };extern int udev_add_device (char *device,char *subsystem);
-------------------------------------------------------
This SF.net email sponsored by: Enterprise Linux Forum Conference & Expo The Event For Linux Datacenter Solutions & Strategies in The Enterprise Linux in the Boardroom; in the Front Office; & in the Server Room
http://www.enterpriselinuxforum.com
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel