linux-hotplug.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [patch] udev: mode should be mode_t
@ 2003-10-18  1:57 Robert Love
  0 siblings, 0 replies; 2+ messages in thread
From: Robert Love @ 2003-10-18  1:57 UTC (permalink / raw)
  To: linux-hotplug

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(-)

diff -urN udev-003/namedev.c udev/namedev.c
--- udev-003/namedev.c	2003-10-15 20:24:10.000000000 -0400
+++ udev/namedev.c	2003-10-17 21:54:11.063810768 -0400
@@ -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;
diff -urN udev-003/udev-add.c udev/udev-add.c
--- udev-003/udev-add.c	2003-10-15 20:24:10.000000000 -0400
+++ udev/udev-add.c	2003-10-17 21:46:01.073300648 -0400
@@ -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));
diff -urN udev-003/udevdb.c udev/udevdb.c
--- udev-003/udevdb.c	2003-10-16 21:04:04.000000000 -0400
+++ udev/udevdb.c	2003-10-17 21:46:01.074300496 -0400
@@ -68,7 +68,7 @@
 	char type;
 	int major;
 	int minor;
-	int mode;
+	mode_t mode;
 };
 
 /**
diff -urN udev-003/udevdb.h udev/udevdb.h
--- udev-003/udevdb.h	2003-10-15 20:24:10.000000000 -0400
+++ udev/udevdb.h	2003-10-17 21:46:01.075300344 -0400
@@ -25,7 +25,7 @@
 	char type;
 	int major;
 	int minor;
-	int mode;
+	mode_t mode;
 };
 
 /* Function Prototypes */
diff -urN udev-003/udev.h udev/udev.h
--- udev-003/udev.h	2003-10-15 20:24:10.000000000 -0400
+++ udev/udev.h	2003-10-17 21:48:10.576613152 -0400
@@ -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
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

^ permalink raw reply	[flat|nested] 2+ messages in thread
* Re: [patch] udev: mode should be mode_t
@ 2003-10-19 20:57 Greg KH
  0 siblings, 0 replies; 2+ messages in thread
From: Greg KH @ 2003-10-19 20:57 UTC (permalink / raw)
  To: linux-hotplug

On Fri, Oct 17, 2003 at 09:57:44PM -0400, Robert Love wrote:
> 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.

Good catch, patch is applied.

thanks,

greg k-h


-------------------------------------------------------
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
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

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

end of thread, other threads:[~2003-10-19 20:57 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-10-18  1:57 [patch] udev: mode should be mode_t Robert Love
  -- strict thread matches above, loose matches on Subject: below --
2003-10-19 20:57 Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).