+ if (pushed_ppp) {
+ while (ioctl(fd, I_POP, 0) == 0) /* pop any we pushed */
+ ;
+ pushed_ppp = 0;
+
+ for (; str_module_count > 0; str_module_count--) {
+ if (ioctl(fd, I_PUSH, str_modules[str_module_count-1].modname)) {
+ if (errno != ENXIO)
+ syslog(LOG_WARNING, "str_restore: couldn't push module %s: %m",
+ str_modules[str_module_count-1].modname);
+ } else {
+ MAINDEBUG((LOG_INFO, "str_restore: pushed module %s",
+ str_modules[str_module_count-1].modname));
+ }
+ }
+
+ if (orig_ttyfd >= 0) {
+ close(fd);
+ ttyfd = orig_ttyfd;
+ fd = -1;
+ }
+ }
+
+}
+
+/*
+ * clean_check - check whether the link seems to be 8-bit clean.
+ */
+void
+clean_check()
+{