|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ T o ┃
Length: 2398 (0x95e) Types: TextFile Names: »option.c«
└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki └─ ⟦this⟧ »EUUGD11/euug-87hel/sec8/uutty/option.c«
#include "uutty.h" /* ** Process an option string. Note that we get ** a pointer to the initial char, usually '-'. */ extern int baudmask; /* CBAUD mask, if baud rate specified */ extern int baudrate; /* Actual baud rate */ option(op) char*op; { int n; D4("option(\"%s\")",op); switch (op[1]) { /* Which option? */ default: sprintf(stderr,"Unknown option \"%s\" ignored.\n",op); break; case 'B': /* Set baud rate */ case 'b': n = sscanf(op+2,"%u",&baudrate); if (n < 1) baudrate = 1; D3("baudrate=%u\n",baudrate); switch (baudrate) { case 12: case 1200: baudmask = B1200; break; case 24: case 2400: baudmask = B2400; break; case 48: case 4800: baudmask = B4800; break; case 96: case 9600: baudmask = B9600; break; default: E("Can't handle baud rate of %d",baudrate); baudrate = baudmask = 0; } break; case 'C': /* Count between I/O operations */ case 'c': n = sscanf(op+2,"%u",&count); if (n < 1) count = 1; D3("count=%u\n",count); slowfl = count || slow; break; case 'D': /* Set debug level */ case 'd': case 'X': /* Set debug level */ case 'x': n = sscanf(op+2,"%u",&debug); if (n < 1) debug = 1; D3("debug=%d\n",debug); break; case 'E': case 'e': /* Exit message */ if (op[2]) { /* -e"msg" is exit message */ m_exit = op + 2; D3("m_exit=\"%s\"",m_exit); } else { /* -e turns on echoing */ echoing = echofl = 1; D3("echofl=%d",echofl); } break; case 'F': case 'f': /* Fork subprocesses for a shells */ forkfl++; D3("forkfl=%d",forkfl); break; case 'H': case 'h': /* Display "help" messages */ help(); break; case 'I': case 'i': /* Initialization message */ m_init = op + 2; D3("m_init=\"%s\"",m_init); break; case 'L': case 'l': /* Create lockfile on login */ lockfl++; forkfl++; D3("forkfl=%d lockfl=%d",forkfl,lockfl); break; case 'N': case 'n': /* Nudge message */ m_nudge = op + 2; D3("m_nudge=\"%s\"",m_nudge); break; case 'P': case 'p': /* Port name */ device = op + 2; D3("device=\"%s\"",device); break; case 'R': case 'r': /* Raw I/O [default=TRUE] */ n = sscanf(op+2,"%d",&raw); if (n < 1) raw = 1; D3("raw=%d\n",raw); break; case 'S': case 's': /* Slow output, sleep(slow) between buffers */ n = sscanf(op+2,"%d",&slow); if (n < 1) slow = 1; D3("slow=%d\n",slow); break; } return 0; }