On 8/13/07, H. Peter Anvin <[EMAIL PROTECTED]> wrote: > You seem to have confused modern compiled C with an old BASIC interpreter. > > Consider the code in point: > > - while ((table = strchr(sdp->sd_table_name, '/'))) > + table = sdp->sd_table_name; > + while ((table = strchr(table, '/'))) > *table = '_'; Sorry, I just mean for call to strchr, things are different, especially for multiple '/' chars appeared.
The while loop's purpose is to translate all '/' chars appeared in sdp->sd_table_name to '_' chars, consider the string: 'a////aa/a/a/...' if strchr called with sdp->sd_table_name, every strchr would begun at index 0 of the string, but if called with table, every strchr begun at the last searched position. So I wonder the common case is no existence of '/', or just one or multiple existence? Things are different for these cases.
