summaryrefslogtreecommitdiff
path: root/quotasys.c
diff options
context:
space:
mode:
authorjkar8572 <jkar8572>2006-05-13 01:05:24 +0000
committerjkar8572 <jkar8572>2006-05-13 01:05:24 +0000
commit203e34e6a4bce09f7aa43f7f3ec64ee622c2e0ba (patch)
tree7c9dbf99505b616a7aa1b4ec35b8536b7429dcb4 /quotasys.c
parent6e8aa2396e0b2ef59f74cc97e109bbd14a395876 (diff)
Changed option parsing to use long options (Jan Kara)
Added option to always resolve even numeric names (Jan Kara) Corrected a few typos in manpaged (Jan Kara, Justin Pryzby)
Diffstat (limited to 'quotasys.c')
-rw-r--r--quotasys.c26
1 files changed, 15 insertions, 11 deletions
diff --git a/quotasys.c b/quotasys.c
index 80aa843..a62f79a 100644
--- a/quotasys.c
+++ b/quotasys.c
@@ -89,7 +89,7 @@ char *type2name(int type)
/*
* Convert name to uid
*/
-uid_t user2uid(char *name, int *err)
+uid_t user2uid(char *name, int flag, int *err)
{
struct passwd *entry;
uid_t ret;
@@ -97,9 +97,11 @@ uid_t user2uid(char *name, int *err)
if (err)
*err = 0;
- ret = strtoul(name, &errch, 0);
- if (!*errch) /* Is name number - we got directly uid? */
- return ret;
+ if (!flag) {
+ ret = strtoul(name, &errch, 0);
+ if (!*errch) /* Is name number - we got directly uid? */
+ return ret;
+ }
if (!(entry = getpwnam(name))) {
if (!err) {
errstr(_("user %s does not exist.\n"), name);
@@ -116,7 +118,7 @@ uid_t user2uid(char *name, int *err)
/*
* Convert group name to gid
*/
-gid_t group2gid(char *name, int *err)
+gid_t group2gid(char *name, int flag, int *err)
{
struct group *entry;
gid_t ret;
@@ -124,9 +126,11 @@ gid_t group2gid(char *name, int *err)
if (err)
*err = 0;
- ret = strtoul(name, &errch, 0);
- if (!*errch) /* Is name number - we got directly gid? */
- return ret;
+ if (!flag) {
+ ret = strtoul(name, &errch, 0);
+ if (!*errch) /* Is name number - we got directly gid? */
+ return ret;
+ }
if (!(entry = getgrnam(name))) {
if (!err) {
errstr(_("group %s does not exist.\n"), name);
@@ -143,12 +147,12 @@ gid_t group2gid(char *name, int *err)
/*
* Convert name to id
*/
-int name2id(char *name, int qtype, int *err)
+int name2id(char *name, int qtype, int flag, int *err)
{
if (qtype == USRQUOTA)
- return user2uid(name, err);
+ return user2uid(name, flag, err);
else
- return group2gid(name, err);
+ return group2gid(name, flag, err);
}
/*