On Thu, May 24, 2012 at 11:57:44AM +0100, Ian Abbott wrote: > On 2012-05-24 11:28, Dan Carpenter wrote: > >This function is more complicated than it needs to be because of the > >consts. It's not worth saving them because we drop the consts anyway > >when we return (void *)name_ptr. > > > >Signed-off-by: Dan Carpenter<dan.carpenter@xxxxxxxxxx> > > > >diff --git a/drivers/staging/comedi/drivers.c b/drivers/staging/comedi/drivers.c > >index 1c3d638..a8f576d 100644 > >--- a/drivers/staging/comedi/drivers.c > >+++ b/drivers/staging/comedi/drivers.c > >@@ -304,14 +304,13 @@ static int postconfig(struct comedi_device *dev) > > * that register their supported board names */ > > static void *comedi_recognize(struct comedi_driver *driv, const char *name) > > { > >- unsigned i; > >- const char *const *name_ptr = driv->board_name; > >+ char **name_ptr = (char **)driv->board_name; > >+ int i; > >+ > > for (i = 0; i< driv->num_names; i++) { > > if (strcmp(*name_ptr, name) == 0) > >- return (void *)name_ptr; > >- name_ptr = > >- (const char *const *)((const char *)name_ptr + > >- driv->offset); > >+ return name_ptr; > >+ name_ptr = (char **)((void *)name_ptr + driv->offset); > > } > > > > return NULL; > > You could simplify it further by keeping one of the consts: > > static void *comedi_recognize(struct comedi_driver *driv, const char *name) > { > unsigned i; > const char **name_ptr = driv->board_name; > for (i = 0; i < driv->num_names; i++) { > if (strcmp(*name_ptr, name) == 0) > return name_ptr; > name_ptr = (void *)name_ptr + driv->offset; > } > return NULL; > } Sure. I'll resend. regards, dan carpenter _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel