209 |
{ |
{ |
210 |
case S_IFCHR: |
case S_IFCHR: |
211 |
case S_IFBLK: |
case S_IFBLK: |
212 |
asprintf (argz, "%s%c%d%c%d", |
if (asprintf (argz, "%s%c%d%c%d", |
213 |
(S_ISCHR (np->nn_stat.st_mode) |
(S_ISCHR (np->nn_stat.st_mode) |
214 |
? _HURD_CHRDEV : _HURD_BLKDEV), |
? _HURD_CHRDEV : _HURD_BLKDEV), |
215 |
0, major (np->nn_stat.st_rdev), |
0, major (np->nn_stat.st_rdev), |
216 |
0, minor (np->nn_stat.st_rdev)); |
0, minor (np->nn_stat.st_rdev)) < 0) |
217 |
|
return ENOMEM; |
218 |
*argz_len = strlen (*argz) + 1; |
*argz_len = strlen (*argz) + 1; |
219 |
*argz_len += strlen (*argz + *argz_len) + 1; |
*argz_len += strlen (*argz + *argz_len) + 1; |
220 |
*argz_len += strlen (*argz + *argz_len) + 1; |
*argz_len += strlen (*argz + *argz_len) + 1; |
221 |
break; |
break; |
222 |
case S_IFIFO: |
case S_IFIFO: |
223 |
asprintf (argz, "%s", _HURD_FIFO); |
if (asprintf (argz, "%s", _HURD_FIFO) < 0) |
224 |
|
return ENOMEM; |
225 |
*argz_len = strlen (*argz) + 1; |
*argz_len = strlen (*argz) + 1; |
226 |
break; |
break; |
227 |
default: |
default: |
244 |
user); |
user); |
245 |
if (! newpi) |
if (! newpi) |
246 |
{ |
{ |
247 |
|
error = errno; |
248 |
iohelp_free_iouser (user); |
iohelp_free_iouser (user); |
|
error = ENOMEM; |
|
249 |
} |
} |
250 |
} |
} |
251 |
|
|
383 |
|
|
384 |
newpi = netfs_make_protid (netfs_make_peropen (np, flags, diruser->po), |
newpi = netfs_make_protid (netfs_make_peropen (np, flags, diruser->po), |
385 |
user); |
user); |
386 |
|
if (! newpi) |
387 |
|
{ |
388 |
|
iohelp_free_iouser (user); |
389 |
|
error = errno; |
390 |
|
goto out; |
391 |
|
} |
392 |
|
|
393 |
*retry_port = ports_get_right (newpi); |
*retry_port = ports_get_right (newpi); |
394 |
ports_port_deref (newpi); |
ports_port_deref (newpi); |
395 |
|
|