You are correct that there is a type mismatch in the return value of
mmc_run_cmd. Checking mmc_private.h (for what op.run_mmc_cmd does) it
looks like the right type is "driver_return_code_t" rather than "int".

Unless you don't want to do so, by all means please make the
change. If there's a problem you are more like to notice it than I
am. ;-)

Thanks.


Robert William Fuller writes:
 > Correct me if I'm wrong....  If not, I'll fix it.  It's fine until you 
 > try to compile something as C++ that calls mmc_run_*.
 > 
 > from mmc.h:
 > 
 >    int mmc_run_cmd( const CdIo_t *p_cdio, unsigned int i_timeout_ms,
 >                     const mmc_cdb_t *p_cdb,
 >                     cdio_mmc_direction_t e_direction, unsigned int i_buf,
 >                     /*in/out*/ void *p_buf );
 > 
 > from mmc.c:
 > 
 > driver_return_code_t
 > mmc_run_cmd( const CdIo_t *p_cdio, unsigned int i_timeout_ms,
 >                const mmc_cdb_t *p_cdb,
 >                cdio_mmc_direction_t e_direction, unsigned int i_buf,
 >                /*in/out*/ void *p_buf )
 > {
 >    if (!p_cdio) return DRIVER_OP_UNINIT;
 >    if (!p_cdio->op.run_mmc_cmd) return DRIVER_OP_UNSUPPORTED;
 >    return p_cdio->op.run_mmc_cmd(p_cdio->env, i_timeout_ms,
 >                                   mmc_get_cmd_len(p_cdb->field[0]),
 >                                   p_cdb, e_direction, i_buf, p_buf);
 > }
 > 
 > 


Reply via email to