- datawait(0);
- if (!lockdevice(1)) {
- if (verbose>=1)
- error(_(".Dialout detected, waiting for lock.."));
- if (verbose>=1) error(_(".Closing device \"%s\".."),device);
- if (close(devfd))
- error(_("Error closing device \"%s\""),device);
- lockdevice(0);
- goto retryopen;
- }
- d1("Lock-device succeeded\n");
- do {
- d1("Reading a message for us...\n");
- if (!(s=devcmd("\n","+CMT:"," ")))
- goto retryall;
- if (s==&devcmd_empty_return) /* only newlines found */
- goto continue_receive;
- if (cmgf && !(i=receive_headerparse(s)))
- error(_("Receive-header parsing failed on: %s"),s);
- if (!(s=devcmd("\n","@"," ")))
+ gotdatawait=datawait(waittimen);
+ if (!lockdevice(1)) {
+ if (verbose>=1)
+ error(_(".Dialout detected, waiting for lock.."));
+ if (verbose>=1) error(_(".Closing device \"%s\".."),device);
+ if (close(devfd))
+ error(_("Error closing device \"%s\""),device);
+ lockdevice(0);
+ goto retryopen;
+ }
+ d1("Lock-device succeeded\n");
+ do {
+ if (!(s=devcmd("\n","+CMT:"," ")))
+ goto retryall;
+ if (s==&devcmd_empty_return) { /* only newlines found */
+ if (gotdatawait==0) /* timeout, rather reinitialize the modem */