[Bug 1695] bytes_transfered = rtems_rfs_rtems_error
bugzilla-daemon at rtems.org
bugzilla-daemon at rtems.org
Thu Sep 2 21:00:26 UTC 2010
https://www.rtems.org/bugzilla/show_bug.cgi?id=1695
--- Comment #11 from Gedare <giddyup44 at yahoo.com> 2010-09-02 16:00:25 CDT ---
(In reply to comment #10)
> (In reply to comment #9)
> > (In reply to comment #8)
> > > (In reply to comment #7)
> > > > (In reply to comment #6)
> > > > > My understanding is that assigning a negative value to
> > > > > bytes_transfered does not make any sense -- unless you are reference counting
> > > > > some bi-directional traffic, you shouldn't have a negative number for a size
> > > > > value.
> > > >
> > > > This is the API defined by the read handler and it matches the 'read' call's
> > > > API.
> >
> > Sorry, double clicked the last message (hit reply then commit on accident).
> >
> > I see that bytes_transfered is set to -1 to indicate an error condition, which
> > is flagged by a positive value of rc. However, -1 is then returned as a
> > ssize_t, which is an unsigned (opaque) type for storing size values. I think
> > this is Ralf's complaint about the code being 'dirty'.
> >
> > I don't know that there is anything worth fixing here though, especially if the
> > API is already in-use.
>
> ssize_t is signed. size_t is unsigned.
>
> http://www.opengroup.org/onlinepubs/009695399/basedefs/sys/types.h.html
>
> size_t shall be an unsigned integer type.
>
> The type ssize_t shall be capable of storing values at least in the range [-1,
> {SSIZE_MAX}].
>
> I think bytes_transfeRRed should be ssize_t. Especially if this is a "read()"
> system call handler for this filesystem. read(2) returns ssize_t.
>
>
> typedef signed int _ssize_t;
oops, well then I don't really see any badness here. Except the misspelling.
--
Configure bugmail: https://www.rtems.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.
More information about the bugs
mailing list