chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[PATCH] netdev - udevdb+dev.d changes
[elogind.git]
/
namedev.c
diff --git
a/namedev.c
b/namedev.c
index 7b70f8bcdfd40dea8f19dd23e23fe01a655d8666..a3ae1d36b3f9786ca04d6c9abde4e97e8110c310 100644
(file)
--- a/
namedev.c
+++ b/
namedev.c
@@
-32,6
+32,9
@@
#include <time.h>
#include <sys/wait.h>
#include <sys/stat.h>
#include <time.h>
#include <sys/wait.h>
#include <sys/stat.h>
+#ifndef __KLIBC__
+#include <sys/sysinfo.h>
+#endif
#include "libsysfs/sysfs/libsysfs.h"
#include "list.h"
#include "libsysfs/sysfs/libsysfs.h"
#include "list.h"
@@
-454,7
+457,7
@@
static int execute_program(char *path, char *value, int len)
retval = -1;
}
retval = -1;
}
- if (i > 0 && value[i] == '\n')
+ if (i > 0 && value[i
-1
] == '\n')
i--;
value[i] = '\0';
dbg("result is '%s'", value);
i--;
value[i] = '\0';
dbg("result is '%s'", value);
@@
-776,6
+779,7
@@
int namedev_name_device(struct sysfs_class_device *class_dev, struct udevice *ud
struct sysfs_device *sysfs_device = NULL;
struct config_device *dev;
struct perm_device *perm;
struct sysfs_device *sysfs_device = NULL;
struct config_device *dev;
struct perm_device *perm;
+ struct sysinfo info;
char *pos;
udev->mode = 0;
char *pos;
udev->mode = 0;
@@
-837,22
+841,18
@@
int namedev_name_device(struct sysfs_class_device *class_dev, struct udevice *ud
}
}
}
}
}
}
-
- /* no rule was found for the net device */
- if (udev->type == 'n') {
- dbg("no name for net device '%s' configured", udev->kernel_name);
- return -1;
- }
-
/* no rule was found so we use the kernel name */
strfieldcpy(udev->name, udev->kernel_name);
/* no rule was found so we use the kernel name */
strfieldcpy(udev->name, udev->kernel_name);
- goto done;
+ if (udev->type == 'n')
+ goto done;
+ else
+ goto perms;
found:
apply_format(udev, udev->name, sizeof(udev->name), class_dev, sysfs_device);
if (udev->type == 'n')
found:
apply_format(udev, udev->name, sizeof(udev->name), class_dev, sysfs_device);
if (udev->type == 'n')
-
return 0
;
+
goto done
;
udev->partitions = dev->partitions;
strfieldcpy(udev->config_file, dev->config_file);
udev->partitions = dev->partitions;
strfieldcpy(udev->config_file, dev->config_file);
@@
-863,7
+863,7
@@
found:
dev->owner,
dev->group);
dev->owner,
dev->group);
-
done
:
+
perms
:
/* get permissions given in config file or set defaults */
perm = find_perm(udev->name);
if (perm != NULL) {
/* get permissions given in config file or set defaults */
perm = find_perm(udev->name);
if (perm != NULL) {
@@
-879,8
+879,10
@@
done:
dbg("name, '%s' is going to have owner='%s', group='%s', mode = %#o",
udev->name, udev->owner, udev->group, udev->mode);
dbg("name, '%s' is going to have owner='%s', group='%s', mode = %#o",
udev->name, udev->owner, udev->group, udev->mode);
+done:
/* store time of action */
/* store time of action */
- udev->config_time = time(NULL);
+ sysinfo(&info);
+ udev->config_uptime = info.uptime;
return 0;
}
return 0;
}