]> git.decadent.org.uk Git - nfs-utils.git/commitdiff
text-based mount command: use po_get_numeric() for handling retry
authorChuck Lever <chuck.lever@oracle.com>
Wed, 17 Dec 2008 19:23:43 +0000 (14:23 -0500)
committerSteve Dickson <steved@redhat.com>
Wed, 17 Dec 2008 19:23:43 +0000 (14:23 -0500)
Replace the logic in nfs_parse_retry_option() with a call to the new
po_get_numeric() function.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
utils/mount/stropts.c

index 09fca86d1e1705a72e8a6bfb805a9d861f8fdfb8..43791e615edabc8d21b37a093b61e47f941e9320 100644 (file)
@@ -99,19 +99,21 @@ struct nfsmount_info {
 static time_t nfs_parse_retry_option(struct mount_options *options,
                                     unsigned int timeout_minutes)
 {
-       char *retry_option, *endptr;
+       long tmp;
 
-       retry_option = po_get(options, "retry");
-       if (retry_option) {
-               long tmp;
-
-               errno = 0;
-               tmp = strtol(retry_option, &endptr, 10);
-               if (errno == 0 && endptr != retry_option && tmp >= 0)
+       switch (po_get_numeric(options, "retry", &tmp)) {
+       case PO_NOT_FOUND:
+               break;
+       case PO_FOUND:
+               if (tmp >= 0) {
                        timeout_minutes = tmp;
-               else if (verbose)
+                       break;
+               }
+       case PO_BAD_VALUE:
+               if (verbose)
                        nfs_error(_("%s: invalid retry timeout was specified; "
                                        "using default timeout"), progname);
+               break;
        }
 
        return time(NULL) + (time_t)(timeout_minutes * 60);