Re: Bug in src/nm-gsm-device.c
- From: Dan Williams <dcbw redhat com>
- To: Pablo Martí Gamboa <pmarti warp es>
- Cc: "networkmanager-list gnome org" <networkmanager-list gnome org>
- Subject: Re: Bug in src/nm-gsm-device.c
- Date: Thu, 21 May 2009 09:53:52 -0400
On Thu, 2009-05-21 at 09:15 +0200, Pablo Martí Gamboa wrote:
>
>
> 2009/5/21 Dan Williams <dcbw redhat com>
> On Wed, 2009-05-20 at 10:23 +0200, Pablo Martí Gamboa wrote:
> > Hi all,
> >
> > I've just been bitten by a small bug in src/nm-gsm-device.c
> +443:
> >
> > const char *responses[] = { "+CREG: 0,0", "+CREG: 0,1",
> "+CREG: 0,2",
> > "+CREG: 0,3", "+CREG: 0,5", NULL };
> >
> >
> > If an external implementation has send '+CREG=1' those
> terminators
> > won't work. I think that you should just check the last part
> of the
> > +CREG response.
>
>
> What would the response & terminator look like in that case?
> Not quite
> sure I follow.
>
> Something along the lines of what is done in ModemManager:
> if (g_str_has_prefix (response->str, "+CREG: ")) {
> int unsolicited, stat;
> sscanf (response->str + 7, "%d,%d", &unsolicited, &stat);
> ....
> switch(stat) {
> case 5: break;
> case 4: break;
> ....
> }
> }
Right, but I meant what is the exact response that's screwing up NM here
on 0.7 branch? In 0.7 we do need to match the full response, otherwise
we might match some other unsolicited response the modem sends, instead
of CREG.
Dan
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]