{
int r;
+ if (mask < 0 || mask > 0777) {
+ reply_with_error ("0%o: mask negative or out of range", mask);
+ return -1;
+ }
+
r = umask (mask);
if (r == -1) {
return r;
}
+
+int
+do_get_umask (void)
+{
+ int r;
+
+ r = umask (022);
+ if (r == -1) {
+ reply_with_perror ("umask");
+ return -1;
+ }
+
+ /* Restore the umask, since the call above corrupted it. */
+ umask (r);
+
+ return r;
+}