463 getsysline(buf, len)
464 char *buf;
465 {
466 char *prev = _uu_setlocale(LC_ALL, "C");
467
468 if (Systems[0] == NULL)
469 /* not initialized via setservice() - use default */
470 setservice("uucico");
471
472 /* initialize devices and dialers whenever a new line is read */
473 /* from systems */
474 devreset();
475 if (fsystems == NULL)
476 if (nextsystems() == FALSE) {
477 (void) _uu_resetlocale(LC_ALL, prev);
478 return(FALSE);
479 }
480
481 ASSERT(len >= BUFSIZ, "BUFFER TOO SMALL", "getsysline", 0);
482 for(;;) {
483 while (getaline(fsystems, buf) != NULL)
484 if ((*buf != '#') && (*buf != ' ') &&
485 (*buf != '\t') && (*buf != '\n')) {
486 (void) _uu_resetlocale(LC_ALL, prev);
487 return(TRUE);
488 }
489 if (nextsystems() == FALSE) {
490 (void) _uu_resetlocale(LC_ALL, prev);
491 return(FALSE);
492 }
493 }
494 }
495
496 /*
497 * move to next systems file. return TRUE if successful, FALSE if not
498 */
499 static int
500 nextsystems()
501 {
502 devreset();
503
|
463 getsysline(buf, len)
464 char *buf;
465 {
466 char *prev = _uu_setlocale(LC_ALL, "C");
467
468 if (Systems[0] == NULL)
469 /* not initialized via setservice() - use default */
470 setservice("uucico");
471
472 /* initialize devices and dialers whenever a new line is read */
473 /* from systems */
474 devreset();
475 if (fsystems == NULL)
476 if (nextsystems() == FALSE) {
477 (void) _uu_resetlocale(LC_ALL, prev);
478 return(FALSE);
479 }
480
481 ASSERT(len >= BUFSIZ, "BUFFER TOO SMALL", "getsysline", 0);
482 for(;;) {
483 while (getaline(fsystems, buf) != 0)
484 if ((*buf != '#') && (*buf != ' ') &&
485 (*buf != '\t') && (*buf != '\n')) {
486 (void) _uu_resetlocale(LC_ALL, prev);
487 return(TRUE);
488 }
489 if (nextsystems() == FALSE) {
490 (void) _uu_resetlocale(LC_ALL, prev);
491 return(FALSE);
492 }
493 }
494 }
495
496 /*
497 * move to next systems file. return TRUE if successful, FALSE if not
498 */
499 static int
500 nextsystems()
501 {
502 devreset();
503
|