From mboxrd@z Thu Jan 1 00:00:00 1970 From: Igor Grinberg Date: Mon, 15 Sep 2014 11:04:20 +0300 Subject: [U-Boot] A minor question on a Driver Model function In-Reply-To: References: <20140912202559.58E5.AA925319@jp.panasonic.com> Message-ID: <54169D84.9030400@compulab.co.il> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi, On 09/14/14 21:28, Simon Glass wrote: > Hi Masahiro, > > On 12 September 2014 05:25, Masahiro Yamada wrote: >> Hi Simon, >> >> >> I have a qustion about lists_driver_lookup_name() function. >> >> >> >> for (entry = drv; entry != drv + n_ents; entry++) { >> if (strncmp(name, entry->name, len)) >> continue; >> >> /* Full match */ >> if (len == strlen(entry->name)) >> return entry; >> } >> >> >> >> >> Why is this not like follows? >> >> >> >> >> for (entry = drv; entry != drv + n_ents; entry++) { >> if (!strcmp(name, entry->name)) >> return entry; >> } I would suggest still using strncmp as it is safer, but count also the '\0', so something like: for (entry = drv; entry != drv + n_ents; entry++) { if (!strncmp(name, entry->name, len + 1)) return entry; } [...] -- Regards, Igor.