* [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).