--- IO-AIO/AIO.xs 2009/06/12 16:55:17 1.145 +++ IO-AIO/AIO.xs 2009/06/12 17:07:00 1.146 @@ -296,15 +296,15 @@ char sym [64]; int symlen; - symlen = snprintf (sym, sizeof (sym), "fd#%u", (unsigned int)req->result); + symlen = snprintf (sym, sizeof (sym), "fd#%d", (int)req->result); gv_init (gv, stash, sym, symlen, 0); symlen = snprintf ( sym, sizeof (sym), - "%s&=%u", + "%s&=%d", flags == O_RDONLY ? "<" : flags == O_WRONLY ? ">" : "+<", - (unsigned int)req->result + (int)req->result ); if (do_open (gv, sym, symlen, 0, 0, 0, 0)) @@ -557,8 +557,6 @@ BOOT: { - HV *stash = gv_stashpv ("IO::AIO", 1); - static const struct { const char *name; IV iv; @@ -594,6 +592,8 @@ const_eio (DT_WHT) }; + stash = gv_stashpv ("IO::AIO", 1); + for (civ = const_iv + sizeof (const_iv) / sizeof (const_iv [0]); civ-- > const_iv; ) newCONSTSUB (stash, (char *)civ->name, newSViv (civ->iv));