[pjsip] Copy from a stl string to a pj_str_t struct

Benny Prijono bennylp at pjsip.org
Fri Feb 8 05:21:16 EST 2008


On 2/7/08, Dan <dan.aberg at keystream.se> wrote:
>
>
> > I've figured out this one, but it feels a bit clumsy
> >
> >
> >
> >       char* tmpUsername = new char[username.size()];
> >
> >       strcpy(tmpUsername, username.c_str());
> >
> >
> >
> >       pjsua_acc_config pjsuaAccountConfig;
> >
> > pjsua_acc_config_default(&pjsuaAccountConfig);
> >
> >       pjsuaAccountConfig.id = pj_str(tmpUserId);
> >
> >
> >
> > Any other ideas?
> >
>
> How about:
>         pjsuaAccountConfig.id = pj_strdup3 (pool, username.c_str());
>

Or, since acc_config is a temporary object which will not be accessed
by pjsip after pjsua_acc_add() is called, we can probably get away
with this:

  pjsuaAccountConfig.id.ptr = (char*)username.c_str();
  pjsuaAccountConfig.id.slen = username.size();

or

 pj_strset(&pjsuaAccountConfig.id, (char*)username.c_str(), username.size());

Yeah that involves an ugly casting to remove the const, but it saves
us from using the pool.

cheers,
 -benny


> /Dan
>




More information about the pjsip mailing list