[RLUG] C question
Austin Stanhope
stanhope at cse.unr.edu
Sat Feb 10 19:05:34 PST 2007
It's an older C way of giving types to the function arguments. It has
since been changed so you can do it the old way, or the way most of us
are used to doing it (the term most is open to interpretation here). It
is equivalent to saying:
int timeval_subtract (timeval *result, timeval *x, timeval *y)
{
// do stuff
}
-Austin
Grant Kelly wrote:
> I came across this code which does something I've never seen before.
> Could someone explain what the variable declaration between the
> function header and the function body do? Or at least point me in a
> direction to find out for myself. Again, I know what the code does,
> but I don't know what the line marked with <==== does.
>
> Thanks,
> Grant
>
> int timeval_subtract (result, x, y)
> struct timeval *result, *x, *y; <==== What does this do???
> {
> /* Perform the carry for the later subtraction by updating y. */
> if (x->tv_usec < y->tv_usec) {
> int nsec = (y->tv_usec - x->tv_usec) / 1000000 + 1;
> y->tv_usec -= 1000000 * nsec;
> y->tv_sec += nsec;
> }
> if (x->tv_usec - y->tv_usec > 1000000) {
> int nsec = (y->tv_usec - x->tv_usec) / 1000000;
> y->tv_usec += 1000000 * nsec;
> y->tv_sec -= nsec;
> }
>
> /* Compute the time remaining to wait.
> tv_usec is certainly positive. */
> result->tv_sec = x->tv_sec - y->tv_sec;
> result->tv_usec = x->tv_usec - y->tv_usec;
>
> /* Return 1 if result is negative. */
> return x->tv_sec < y->tv_sec;
> }
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> RLUG mailing list
> RLUG at rlug.org
> http://lists.rlug.org/mailman/listinfo/rlug
>
--
Austin Stanhope www.cse.unr.edu/~stanhope
Robotics Research www.cse.unr.edu/~society
Computer Science and Engineering www.cse.unr.edu
University of Nevada, Reno www.unr.edu
Abuse it and you'll loose it. I WILL Procmail you.
Think before you click that forward button.
More information about the RLUG
mailing list