RE: tools: usbip: detach: avoid calling strlen() at each iteration

From: David Laight
Date: Wed Sep 16 2015 - 09:44:49 EST


From: Aaro Koskinen
> Sent: 15 September 2015 21:56
...
> > - for (unsigned int i = 0; i < strlen(port); i++)
> > + unsigned int port_len = strlen(port);
> > +
> > + for (unsigned int i = 0; i < port_len; i++)
>
> port is read only in this function, so maybe just use "const" and the
> compiler should know to do the same without adding a new variable?

While I've seen the compiler make the assumption, I'm not sure
it should assume that data that is 'const' in one function cannot
be modified by a called function.
(Unless the compiler has some way of knowing that the called function
cannot obtain a non-const pointer to the referenced data.)
(This is also independent of whether the const pointer is passed
to the function.)

David

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/