Index: uspace/app/bdsh/cmds/modules/sleep/sleep.c
===================================================================
--- uspace/app/bdsh/cmds/modules/sleep/sleep.c	(revision 5f97ef445e6e5648a8b8c902eb0f655d579336b4)
+++ uspace/app/bdsh/cmds/modules/sleep/sleep.c	(revision 8867cf60014e9288ad97cf5fd5d82bcd6e605782)
@@ -57,5 +57,5 @@
 }
 
-/** Convert string containing decimal seconds to useconds_t.
+/** Convert string containing decimal seconds to usec_t.
  *
  * @param nptr   Pointer to string.
@@ -63,9 +63,9 @@
  * @return EOK if conversion was successful.
  */
-static errno_t decimal_to_useconds(const char *nptr, useconds_t *result)
+static errno_t decimal_to_useconds(const char *nptr, usec_t *result)
 {
 	errno_t ret;
-	uint64_t whole_seconds;
-	uint64_t frac_seconds;
+	sec_t whole_seconds;
+	usec_t frac_seconds;
 	const char *endptr;
 
@@ -75,5 +75,5 @@
 		endptr = (char *)nptr;
 	} else {
-		ret = str_uint64_t(nptr, &endptr, 10, false, &whole_seconds);
+		ret = str_int64_t(nptr, &endptr, 10, false, &whole_seconds);
 		if (ret != EOK)
 			return ret;
@@ -87,5 +87,5 @@
 	} else if (*endptr == '.') {
 		nptr = endptr + 1;
-		ret = str_uint64_t(nptr, &endptr, 10, true, &frac_seconds);
+		ret = str_int64_t(nptr, &endptr, 10, true, &frac_seconds);
 		if (ret != EOK)
 			return ret;
@@ -101,6 +101,6 @@
 
 	/* Check for overflow */
-	useconds_t total = whole_seconds * 1000000 + frac_seconds;
-	if (total / 1000000 != whole_seconds)
+	usec_t total = SEC2USEC(whole_seconds) + frac_seconds;
+	if (USEC2SEC(total) != whole_seconds)
 		return EOVERFLOW;
 
@@ -115,5 +115,5 @@
 	errno_t ret;
 	unsigned int argc;
-	useconds_t duration = 0;
+	usec_t duration = 0;
 
 	/* Count the arguments */
