Add some comments, optimise out a few strlen()s and
remove a few extraneous assignments.
This commit is contained in:
parent
d0b3b745ba
commit
4d9c2bb9ae
@ -23,7 +23,7 @@
|
|||||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
* SUCH DAMAGE.
|
* SUCH DAMAGE.
|
||||||
*
|
*
|
||||||
* $Id: chat.c,v 1.54 1999/02/12 00:52:29 brian Exp $
|
* $Id: chat.c,v 1.55 1999/05/08 11:06:18 brian Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <sys/param.h>
|
#include <sys/param.h>
|
||||||
@ -213,6 +213,10 @@ chat_UpdateSet(struct descriptor *d, fd_set *r, fd_set *w, fd_set *e, int *n)
|
|||||||
/* We leave room for a potential HDLC header in the target string */
|
/* We leave room for a potential HDLC header in the target string */
|
||||||
ExpandString(c, c->argptr, c->exp + 2, sizeof c->exp - 2, needcr);
|
ExpandString(c, c->argptr, c->exp + 2, sizeof c->exp - 2, needcr);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Now read our string. If it's not a special string, we unset
|
||||||
|
* ``special'' to break out of the loop.
|
||||||
|
*/
|
||||||
if (gotabort) {
|
if (gotabort) {
|
||||||
if (c->abort.num < MAXABORTS) {
|
if (c->abort.num < MAXABORTS) {
|
||||||
int len, i;
|
int len, i;
|
||||||
@ -490,6 +494,10 @@ chat_Write(struct descriptor *d, struct bundle *bundle, const fd_set *fdset)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (physical_IsSync(c->physical)) {
|
if (physical_IsSync(c->physical)) {
|
||||||
|
/*
|
||||||
|
* XXX: Fix me
|
||||||
|
* This data should be stuffed down through the link layers
|
||||||
|
*/
|
||||||
/* There's always room for the HDLC header */
|
/* There's always room for the HDLC header */
|
||||||
c->argptr -= 2;
|
c->argptr -= 2;
|
||||||
c->arglen += 2;
|
c->arglen += 2;
|
||||||
@ -579,29 +587,25 @@ chat_Destroy(struct chat *c)
|
|||||||
* \U Auth User
|
* \U Auth User
|
||||||
*/
|
*/
|
||||||
static char *
|
static char *
|
||||||
ExpandString(struct chat *c, const char *str, char *result, int reslen,
|
ExpandString(struct chat *c, const char *str, char *result, int reslen, int cr)
|
||||||
int sendmode)
|
|
||||||
{
|
{
|
||||||
int addcr = 0;
|
int len;
|
||||||
|
|
||||||
result[--reslen] = '\0';
|
result[--reslen] = '\0';
|
||||||
if (sendmode)
|
|
||||||
addcr = 1;
|
|
||||||
while (*str && reslen > 0) {
|
while (*str && reslen > 0) {
|
||||||
switch (*str) {
|
switch (*str) {
|
||||||
case '\\':
|
case '\\':
|
||||||
str++;
|
str++;
|
||||||
switch (*str) {
|
switch (*str) {
|
||||||
case 'c':
|
case 'c':
|
||||||
if (sendmode)
|
cr = 0;
|
||||||
addcr = 0;
|
|
||||||
break;
|
break;
|
||||||
case 'd': /* Delay 2 seconds */
|
case 'd': /* Delay 2 seconds */
|
||||||
chat_Pause(c, 2 * SECTICKS);
|
chat_Pause(c, 2 * SECTICKS);
|
||||||
break;
|
break;
|
||||||
case 'p':
|
case 'p':
|
||||||
chat_Pause(c, SECTICKS / 4);
|
chat_Pause(c, SECTICKS / 4);
|
||||||
break; /* Pause 0.25 sec */
|
break; /* Delay 0.25 seconds */
|
||||||
case 'n':
|
case 'n':
|
||||||
*result++ = '\n';
|
*result++ = '\n';
|
||||||
reslen--;
|
reslen--;
|
||||||
@ -620,20 +624,23 @@ ExpandString(struct chat *c, const char *str, char *result, int reslen,
|
|||||||
break;
|
break;
|
||||||
case 'P':
|
case 'P':
|
||||||
strncpy(result, c->physical->dl->bundle->cfg.auth.key, reslen);
|
strncpy(result, c->physical->dl->bundle->cfg.auth.key, reslen);
|
||||||
reslen -= strlen(result);
|
len = strlen(result);
|
||||||
result += strlen(result);
|
reslen -= len;
|
||||||
|
result += len;
|
||||||
break;
|
break;
|
||||||
case 'T':
|
case 'T':
|
||||||
if (c->phone) {
|
if (c->phone) {
|
||||||
strncpy(result, c->phone, reslen);
|
strncpy(result, c->phone, reslen);
|
||||||
reslen -= strlen(result);
|
len = strlen(result);
|
||||||
result += strlen(result);
|
reslen -= len;
|
||||||
|
result += len;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'U':
|
case 'U':
|
||||||
strncpy(result, c->physical->dl->bundle->cfg.auth.name, reslen);
|
strncpy(result, c->physical->dl->bundle->cfg.auth.name, reslen);
|
||||||
reslen -= strlen(result);
|
len = strlen(result);
|
||||||
result += strlen(result);
|
reslen -= len;
|
||||||
|
result += len;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
reslen--;
|
reslen--;
|
||||||
@ -657,7 +664,7 @@ ExpandString(struct chat *c, const char *str, char *result, int reslen,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (--reslen > 0) {
|
if (--reslen > 0) {
|
||||||
if (addcr)
|
if (cr)
|
||||||
*result++ = '\r';
|
*result++ = '\r';
|
||||||
}
|
}
|
||||||
if (--reslen > 0)
|
if (--reslen > 0)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user