… | |
… | |
254 | sv_type [ent->type] = newSViv (ent->type); |
254 | sv_type [ent->type] = newSViv (ent->type); |
255 | SvREADONLY_on (sv_type [ent->type]); |
255 | SvREADONLY_on (sv_type [ent->type]); |
256 | } |
256 | } |
257 | |
257 | |
258 | av_store (avent, 0, namesv); |
258 | av_store (avent, 0, namesv); |
|
|
259 | av_store (avent, 1, SvREFCNT_inc (sv_type [ent->type])); |
259 | av_store (avent, 1, IVSIZE >= 8 ? newSVuv (ent->inode) : newSVnv (ent->inode)); |
260 | av_store (avent, 2, IVSIZE >= 8 ? newSVuv (ent->inode) : newSVnv (ent->inode)); |
260 | av_store (avent, 2, SvREFCNT_inc (sv_type [ent->type])); |
|
|
261 | |
261 | |
262 | av_store (av, i, newRV_noinc ((SV *)avent)); |
262 | av_store (av, i, newRV_noinc ((SV *)avent)); |
263 | } |
263 | } |
264 | else |
264 | else |
265 | av_store (av, i, namesv); |
265 | av_store (av, i, namesv); |
… | |
… | |
294 | GV *gv = (GV *)sv_newmortal (); |
294 | GV *gv = (GV *)sv_newmortal (); |
295 | int flags = req->int1 & (O_RDONLY | O_WRONLY | O_RDWR); |
295 | int flags = req->int1 & (O_RDONLY | O_WRONLY | O_RDWR); |
296 | char sym [64]; |
296 | char sym [64]; |
297 | int symlen; |
297 | int symlen; |
298 | |
298 | |
299 | symlen = snprintf (sym, sizeof (sym), "fd#%d", req->result); |
299 | symlen = snprintf (sym, sizeof (sym), "fd#%u", (unsigned int)req->result); |
300 | gv_init (gv, stash, sym, symlen, 0); |
300 | gv_init (gv, stash, sym, symlen, 0); |
301 | |
301 | |
302 | symlen = snprintf ( |
302 | symlen = snprintf ( |
303 | sym, |
303 | sym, |
304 | sizeof (sym), |
304 | sizeof (sym), |
305 | "%s&=%d", |
305 | "%s&=%u", |
306 | flags == O_RDONLY ? "<" : flags == O_WRONLY ? ">" : "+<", |
306 | flags == O_RDONLY ? "<" : flags == O_WRONLY ? ">" : "+<", |
307 | req->result |
307 | (unsigned int)req->result |
308 | ); |
308 | ); |
309 | |
309 | |
310 | if (do_open (gv, sym, symlen, 0, 0, 0, 0)) |
310 | if (do_open (gv, sym, symlen, 0, 0, 0, 0)) |
311 | fh = (SV *)gv; |
311 | fh = (SV *)gv; |
312 | } |
312 | } |