Code cleanup and removed heavy debug messages
This commit is contained in:
parent
be58dfe96d
commit
f3e8aeeaeb
@ -606,10 +606,9 @@ char *printable(char *s, int l)
|
|||||||
/*
|
/*
|
||||||
* Don't use isprint to check if a character is printable because we
|
* Don't use isprint to check if a character is printable because we
|
||||||
* don't want some current locale to have some influence on this
|
* don't want some current locale to have some influence on this
|
||||||
* conversion. Just filer low ascii values.
|
* conversion. Just filter low ascii values.
|
||||||
*/
|
*/
|
||||||
c = *(unsigned char*)s;
|
c = *(unsigned char*)s;
|
||||||
// if (isprint(*(unsigned char*)s))
|
|
||||||
if ((c >= 32) && (c < 128))
|
if ((c >= 32) && (c < 128))
|
||||||
*p++=*s;
|
*p++=*s;
|
||||||
else
|
else
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* Purpose ...............: Files database functions
|
* Purpose ...............: Files database functions
|
||||||
*
|
*
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
* Copyright (C) 1997-2005
|
* Copyright (C) 1997-2007
|
||||||
*
|
*
|
||||||
* Michiel Broek FIDO: 2:280/2802
|
* Michiel Broek FIDO: 2:280/2802
|
||||||
* Beekmansbos 10
|
* Beekmansbos 10
|
||||||
@ -62,7 +62,7 @@ struct _fdbarea *mbsedb_OpenFDB(int Area, int Timeout)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
msleep(250);
|
msleep(250);
|
||||||
Syslog('f', "Open file area %d, try %d", Area, Tries);
|
Syslog('-', "Open file area %d, try %d", Area, Tries);
|
||||||
}
|
}
|
||||||
if (fp == NULL) {
|
if (fp == NULL) {
|
||||||
if (errno == ENOENT) {
|
if (errno == ENOENT) {
|
||||||
@ -181,7 +181,7 @@ int mbsedb_LockFDB(struct _fdbarea *fdb_area, int Timeout)
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
msleep(250);
|
msleep(250);
|
||||||
Syslog('f', "FDB lock attempt %d", Tries);
|
Syslog('-', "FDB lock attempt %d", Tries);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rc) {
|
if (rc) {
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* Purpose ...............: Magic filename handling
|
* Purpose ...............: Magic filename handling
|
||||||
*
|
*
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
* Copyright (C) 1997-2004
|
* Copyright (C) 1997-2007
|
||||||
*
|
*
|
||||||
* Michiel Broek FIDO: 2:280/2802
|
* Michiel Broek FIDO: 2:280/2802
|
||||||
* Beekmansbos 10
|
* Beekmansbos 10
|
||||||
@ -40,8 +40,6 @@ void magic_update(char *Alias, char *FileName)
|
|||||||
char *path;
|
char *path;
|
||||||
FILE *fp;
|
FILE *fp;
|
||||||
|
|
||||||
Syslog('f', "magic_update(%s) with %s", Alias, FileName);
|
|
||||||
|
|
||||||
if (!strlen(CFG.req_magic)) {
|
if (!strlen(CFG.req_magic)) {
|
||||||
WriteError("No magic filename path configured");
|
WriteError("No magic filename path configured");
|
||||||
return;
|
return;
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* Purpose ...............: Mangle a unix name to DOS 8.3 filename
|
* Purpose ...............: Mangle a unix name to DOS 8.3 filename
|
||||||
*
|
*
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
* Copyright (C) 1997-2005
|
* Copyright (C) 1997-2007
|
||||||
*
|
*
|
||||||
* Michiel Broek FIDO: 2:280/2802
|
* Michiel Broek FIDO: 2:280/2802
|
||||||
* Beekmansbos 10
|
* Beekmansbos 10
|
||||||
@ -327,7 +327,6 @@ void mangle_name_83(char *s)
|
|||||||
/*
|
/*
|
||||||
* First, convert some common Unix extensions to extensions of 3
|
* First, convert some common Unix extensions to extensions of 3
|
||||||
* characters. If none fits, don't change anything now.
|
* characters. If none fits, don't change anything now.
|
||||||
* FIXME: should be in an external file.
|
|
||||||
*/
|
*/
|
||||||
if (strcmp(q = s + strlen(s) - strlen(".tar.gz"), ".tar.gz") == 0) {
|
if (strcmp(q = s + strlen(s) - strlen(".tar.gz"), ".tar.gz") == 0) {
|
||||||
*q = '\0';
|
*q = '\0';
|
||||||
|
@ -255,104 +255,6 @@ void html_massage(char *inbuf, char *outbuf, size_t size)
|
|||||||
case '&': snprintf(outptr, size, "&"); break;
|
case '&': snprintf(outptr, size, "&"); break;
|
||||||
case '<': snprintf(outptr, size, "<"); break;
|
case '<': snprintf(outptr, size, "<"); break;
|
||||||
case '>': snprintf(outptr, size, ">"); break;
|
case '>': snprintf(outptr, size, ">"); break;
|
||||||
/* Not needed for UTF-8 output.
|
|
||||||
case 160: snprintf(outptr, size, " "); break;
|
|
||||||
case 161: snprintf(outptr, size, "¡"); break;
|
|
||||||
case 162: snprintf(outptr, size, "¢"); break;
|
|
||||||
case 163: snprintf(outptr, size, "£"); break;
|
|
||||||
case 164: snprintf(outptr, size, "¤"); break;
|
|
||||||
case 165: snprintf(outptr, size, "¥"); break;
|
|
||||||
case 166: snprintf(outptr, size, "¦"); break;
|
|
||||||
case 167: snprintf(outptr, size, "§"); break;
|
|
||||||
case 168: snprintf(outptr, size, "¨"); break;
|
|
||||||
case 169: snprintf(outptr, size, "©"); break;
|
|
||||||
case 170: snprintf(outptr, size, "ª"); break;
|
|
||||||
case 171: snprintf(outptr, size, "«"); break;
|
|
||||||
case 172: snprintf(outptr, size, "¬"); break;
|
|
||||||
case 173: snprintf(outptr, size, "­"); break;
|
|
||||||
case 174: snprintf(outptr, size, "®"); break;
|
|
||||||
case 175: snprintf(outptr, size, "¯"); break;
|
|
||||||
case 176: snprintf(outptr, size, "°"); break;
|
|
||||||
case 177: snprintf(outptr, size, "&plumin;"); break;
|
|
||||||
case 178: snprintf(outptr, size, "²"); break;
|
|
||||||
case 179: snprintf(outptr, size, "³"); break;
|
|
||||||
case 180: snprintf(outptr, size, "´"); break;
|
|
||||||
case 181: snprintf(outptr, size, "µ"); break;
|
|
||||||
case 182: snprintf(outptr, size, "¶"); break;
|
|
||||||
case 183: snprintf(outptr, size, "·"); break;
|
|
||||||
case 184: snprintf(outptr, size, "¸"); break;
|
|
||||||
case 185: snprintf(outptr, size, "&supl;"); break;
|
|
||||||
case 186: snprintf(outptr, size, "º"); break;
|
|
||||||
case 187: snprintf(outptr, size, "»"); break;
|
|
||||||
case 188: snprintf(outptr, size, "¼"); break;
|
|
||||||
case 189: snprintf(outptr, size, "½"); break;
|
|
||||||
case 190: snprintf(outptr, size, "¾"); break;
|
|
||||||
case 191: snprintf(outptr, size, "¿"); break;
|
|
||||||
case 192: snprintf(outptr, size, "À"); break;
|
|
||||||
case 193: snprintf(outptr, size, "Á"); break;
|
|
||||||
case 194: snprintf(outptr, size, "Â"); break;
|
|
||||||
case 195: snprintf(outptr, size, "Ã"); break;
|
|
||||||
case 196: snprintf(outptr, size, "Ä"); break;
|
|
||||||
case 197: snprintf(outptr, size, "Å"); break;
|
|
||||||
case 198: snprintf(outptr, size, "Æ"); break;
|
|
||||||
case 199: snprintf(outptr, size, "Ç"); break;
|
|
||||||
case 200: snprintf(outptr, size, "È"); break;
|
|
||||||
case 201: snprintf(outptr, size, "É"); break;
|
|
||||||
case 202: snprintf(outptr, size, "Ê"); break;
|
|
||||||
case 203: snprintf(outptr, size, "Ë"); break;
|
|
||||||
case 204: snprintf(outptr, size, "Ì"); break;
|
|
||||||
case 205: snprintf(outptr, size, "Í"); break;
|
|
||||||
case 206: snprintf(outptr, size, "Î"); break;
|
|
||||||
case 207: snprintf(outptr, size, "Ï"); break;
|
|
||||||
case 208: snprintf(outptr, size, "Ð"); break;
|
|
||||||
case 209: snprintf(outptr, size, "Ñ"); break;
|
|
||||||
case 210: snprintf(outptr, size, "Ò"); break;
|
|
||||||
case 211: snprintf(outptr, size, "Ó"); break;
|
|
||||||
case 212: snprintf(outptr, size, "Ô"); break;
|
|
||||||
case 213: snprintf(outptr, size, "Õ"); break;
|
|
||||||
case 214: snprintf(outptr, size, "Ö"); break;
|
|
||||||
case 215: snprintf(outptr, size, "×"); break;
|
|
||||||
case 216: snprintf(outptr, size, "Ø"); break;
|
|
||||||
case 217: snprintf(outptr, size, "Ù"); break;
|
|
||||||
case 218: snprintf(outptr, size, "Ú"); break;
|
|
||||||
case 219: snprintf(outptr, size, "Û"); break;
|
|
||||||
case 220: snprintf(outptr, size, "Ü"); break;
|
|
||||||
case 221: snprintf(outptr, size, "Ý"); break;
|
|
||||||
case 222: snprintf(outptr, size, "Þ"); break;
|
|
||||||
case 223: snprintf(outptr, size, "ß"); break;
|
|
||||||
case 224: snprintf(outptr, size, "à"); break;
|
|
||||||
case 225: snprintf(outptr, size, "á"); break;
|
|
||||||
case 226: snprintf(outptr, size, "â"); break;
|
|
||||||
case 227: snprintf(outptr, size, "ã"); break;
|
|
||||||
case 228: snprintf(outptr, size, "ä"); break;
|
|
||||||
case 229: snprintf(outptr, size, "å"); break;
|
|
||||||
case 230: snprintf(outptr, size, "æ"); break;
|
|
||||||
case 231: snprintf(outptr, size, "ç"); break;
|
|
||||||
case 232: snprintf(outptr, size, "è"); break;
|
|
||||||
case 233: snprintf(outptr, size, "é"); break;
|
|
||||||
case 234: snprintf(outptr, size, "ê"); break;
|
|
||||||
case 235: snprintf(outptr, size, "ë"); break;
|
|
||||||
case 236: snprintf(outptr, size, "ì"); break;
|
|
||||||
case 237: snprintf(outptr, size, "í"); break;
|
|
||||||
case 238: snprintf(outptr, size, "î"); break;
|
|
||||||
case 239: snprintf(outptr, size, "ï"); break;
|
|
||||||
case 240: snprintf(outptr, size, "ð"); break;
|
|
||||||
case 241: snprintf(outptr, size, "ñ"); break;
|
|
||||||
case 242: snprintf(outptr, size, "ò"); break;
|
|
||||||
case 243: snprintf(outptr, size, "ó"); break;
|
|
||||||
case 244: snprintf(outptr, size, "ô"); break;
|
|
||||||
case 245: snprintf(outptr, size, "õ"); break;
|
|
||||||
case 246: snprintf(outptr, size, "ö"); break;
|
|
||||||
case 247: snprintf(outptr, size, "÷"); break;
|
|
||||||
case 248: snprintf(outptr, size, "ø"); break;
|
|
||||||
case 249: snprintf(outptr, size, "ù"); break;
|
|
||||||
case 250: snprintf(outptr, size, "ú"); break;
|
|
||||||
case 251: snprintf(outptr, size, "û"); break;
|
|
||||||
case 252: snprintf(outptr, size, "ü"); break;
|
|
||||||
case 253: snprintf(outptr, size, "ý"); break;
|
|
||||||
case 254: snprintf(outptr, size, "þ"); break;
|
|
||||||
case 255: snprintf(outptr, size, "ÿ"); break;
|
|
||||||
*/
|
|
||||||
default: *outptr++ = *inptr; *outptr = '\0'; break;
|
default: *outptr++ = *inptr; *outptr = '\0'; break;
|
||||||
}
|
}
|
||||||
while (*outptr)
|
while (*outptr)
|
||||||
|
111
lib/nodelist.c
111
lib/nodelist.c
@ -4,7 +4,7 @@
|
|||||||
* Purpose ...............: Read nodelists information
|
* Purpose ...............: Read nodelists information
|
||||||
*
|
*
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
* Copyright (C) 1997-2006
|
* Copyright (C) 1997-2007
|
||||||
*
|
*
|
||||||
* Michiel Broek FIDO: 2:280/2802
|
* Michiel Broek FIDO: 2:280/2802
|
||||||
* Beekmansbos 10
|
* Beekmansbos 10
|
||||||
@ -344,7 +344,6 @@ void deinitnl(void)
|
|||||||
tidy_nl_domsuf(&nl_domsuffix);
|
tidy_nl_domsuf(&nl_domsuffix);
|
||||||
tidy_nl_service(&nl_service);
|
tidy_nl_service(&nl_service);
|
||||||
|
|
||||||
Syslog('n', "De-init nodelists done");
|
|
||||||
nlinitdone = FALSE;
|
nlinitdone = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1140,11 +1139,6 @@ node *getnlent(faddr *addr)
|
|||||||
Syslog('n', "getnlent: URL %s", printable(nodebuf.url, 0));
|
Syslog('n', "getnlent: URL %s", printable(nodebuf.url, 0));
|
||||||
Syslog('n', "getnlent: online POTS %s CM %s, IP %s ICM %s", nodebuf.can_pots ?"Yes":"No",
|
Syslog('n', "getnlent: online POTS %s CM %s, IP %s ICM %s", nodebuf.can_pots ?"Yes":"No",
|
||||||
nodebuf.is_cm ?"Yes":"No", nodebuf.can_ip ?"Yes":"No", nodebuf.is_icm ?"Yes":"No");
|
nodebuf.is_cm ?"Yes":"No", nodebuf.can_ip ?"Yes":"No", nodebuf.is_icm ?"Yes":"No");
|
||||||
// moflags(nodebuf.mflags);
|
|
||||||
// diflags(nodebuf.dflags);
|
|
||||||
// ipflags(nodebuf.iflags);
|
|
||||||
// olflags(nodebuf.oflags);
|
|
||||||
// rqflags(nodebuf.xflags);
|
|
||||||
free(mydomain);
|
free(mydomain);
|
||||||
|
|
||||||
return &nodebuf;
|
return &nodebuf;
|
||||||
@ -1168,106 +1162,3 @@ retdummy:
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void olflags(unsigned int flags)
|
|
||||||
{
|
|
||||||
char *t;
|
|
||||||
nodelist_flag **tmpm;
|
|
||||||
|
|
||||||
t = xstrcpy((char *)"Mailer flags :");
|
|
||||||
for (tmpm = &nl_online; *tmpm; tmpm=&((*tmpm)->next)) {
|
|
||||||
if ((*tmpm)->value & flags) {
|
|
||||||
t = xstrcat(t, (char *)" ");
|
|
||||||
t = xstrcat(t, (*tmpm)->name);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Syslog('n', "%s", t);
|
|
||||||
free(t);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void rqflags(unsigned int flags)
|
|
||||||
{
|
|
||||||
char *t;
|
|
||||||
nodelist_flag **tmpm;
|
|
||||||
|
|
||||||
t = xstrcpy((char *)"Request flags:");
|
|
||||||
for (tmpm = &nl_reqbits; *tmpm; tmpm=&((*tmpm)->next)) {
|
|
||||||
if ((*tmpm)->value & flags) {
|
|
||||||
t = xstrcat(t, (char *)" ");
|
|
||||||
t = xstrcat(t, (*tmpm)->name);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for (tmpm = &nl_request; *tmpm; tmpm=&((*tmpm)->next)) {
|
|
||||||
if ((*tmpm)->value == flags) {
|
|
||||||
t = xstrcat(t, (char *)" (");
|
|
||||||
t = xstrcat(t, (*tmpm)->name);
|
|
||||||
t = xstrcat(t, (char *)")");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Syslog('n', "%s", t);
|
|
||||||
free(t);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void moflags(unsigned int flags)
|
|
||||||
{
|
|
||||||
char *t;
|
|
||||||
nodelist_modem **tmpm;
|
|
||||||
|
|
||||||
if (!flags)
|
|
||||||
return;
|
|
||||||
t = xstrcpy((char *)"Modem flags :");
|
|
||||||
for (tmpm = &nl_pots; *tmpm; tmpm=&((*tmpm)->next)) {
|
|
||||||
if ((*tmpm)->mask & flags) {
|
|
||||||
t = xstrcat(t, (char *)" ");
|
|
||||||
t = xstrcat(t, (*tmpm)->name);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Syslog('n', "%s", t);
|
|
||||||
free(t);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void diflags(unsigned int flags)
|
|
||||||
{
|
|
||||||
char *t;
|
|
||||||
nodelist_modem **tmpm;
|
|
||||||
|
|
||||||
if (!flags)
|
|
||||||
return;
|
|
||||||
t = xstrcpy((char *)"ISDN flags :");
|
|
||||||
for (tmpm = &nl_isdn; *tmpm; tmpm=&((*tmpm)->next)) {
|
|
||||||
if ((*tmpm)->mask & flags) {
|
|
||||||
t = xstrcat(t, (char *)" ");
|
|
||||||
t = xstrcat(t, (*tmpm)->name);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Syslog('n', "%s", t);
|
|
||||||
free(t);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void ipflags(unsigned int flags)
|
|
||||||
{
|
|
||||||
char *t;
|
|
||||||
nodelist_modem **tmpm;
|
|
||||||
|
|
||||||
if (!flags)
|
|
||||||
return;
|
|
||||||
t = xstrcpy((char *)"TCP/IP flags :");
|
|
||||||
for (tmpm = &nl_tcpip; *tmpm; tmpm=&((*tmpm)->next)) {
|
|
||||||
if ((*tmpm)->mask & flags) {
|
|
||||||
t = xstrcat(t, (char *)" ");
|
|
||||||
t = xstrcat(t, (*tmpm)->name);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Syslog('n', "%s", t);
|
|
||||||
free(t);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -122,11 +122,6 @@ nodelist_service *nl_service;
|
|||||||
int initnl(void);
|
int initnl(void);
|
||||||
void deinitnl(void);
|
void deinitnl(void);
|
||||||
node *getnlent(faddr *);
|
node *getnlent(faddr *);
|
||||||
void olflags(unsigned int);
|
|
||||||
void rqflags(unsigned int);
|
|
||||||
void moflags(unsigned int);
|
|
||||||
void diflags(unsigned int);
|
|
||||||
void ipflags(unsigned int);
|
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* Purpose ...............: Regular Expression Mask
|
* Purpose ...............: Regular Expression Mask
|
||||||
*
|
*
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
* Copyright (C) 1997-2005
|
* Copyright (C) 1997-2007
|
||||||
*
|
*
|
||||||
* Michiel Broek FIDO: 2:280/2802
|
* Michiel Broek FIDO: 2:280/2802
|
||||||
* Beekmansbos 10
|
* Beekmansbos 10
|
||||||
@ -78,7 +78,6 @@ char *re_mask(char *nm, int forceupper)
|
|||||||
}
|
}
|
||||||
*q++ = '$';
|
*q++ = '$';
|
||||||
*q++ = '\0';
|
*q++ = '\0';
|
||||||
// Syslog('f', "Search mask \"%s\" => \"%s\"", nm, mask);
|
|
||||||
return mask;
|
return mask;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* Purpose ...............: RFC msg
|
* Purpose ...............: RFC msg
|
||||||
*
|
*
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
* Copyright (C) 1997-2004
|
* Copyright (C) 1997-2007
|
||||||
*
|
*
|
||||||
* Michiel Broek FIDO: 2:280/2802
|
* Michiel Broek FIDO: 2:280/2802
|
||||||
* Beekmansbos 10
|
* Beekmansbos 10
|
||||||
@ -52,19 +52,14 @@ rfcmsg *parsrfc(FILE *fp)
|
|||||||
|
|
||||||
while (bgets(buffer, BUFSIZ-1, fp) && strcmp(buffer,"\n")) {
|
while (bgets(buffer, BUFSIZ-1, fp) && strcmp(buffer,"\n")) {
|
||||||
newcont = (buffer[strlen(buffer)-1] != '\n');
|
newcont = (buffer[strlen(buffer)-1] != '\n');
|
||||||
Syslog('M', "Line read: \"%s\" - %s continued", buffer,newcont?"to be":"not to be");
|
|
||||||
if (linecont) {
|
if (linecont) {
|
||||||
Syslog('M', "this is a continuation of a long line");
|
|
||||||
cur->val=xstrcat(cur->val,buffer);
|
cur->val=xstrcat(cur->val,buffer);
|
||||||
} else {
|
} else {
|
||||||
if (isspace(buffer[0])) {
|
if (isspace(buffer[0])) {
|
||||||
if (strspn(buffer," \t\n") == strlen(buffer)) {
|
if (strspn(buffer," \t\n") == strlen(buffer)) {
|
||||||
Syslog('M', "breaking with blank-only line");
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
Syslog('M', "this is a continuation line");
|
|
||||||
if (!cur) {
|
if (!cur) {
|
||||||
Syslog('M', "Wrong first line: \"%s\"",buffer);
|
|
||||||
cur = (rfcmsg *)malloc(sizeof(rfcmsg));
|
cur = (rfcmsg *)malloc(sizeof(rfcmsg));
|
||||||
start = cur;
|
start = cur;
|
||||||
cur->next = NULL;
|
cur->next = NULL;
|
||||||
@ -87,7 +82,6 @@ rfcmsg *parsrfc(FILE *fp)
|
|||||||
cur->key = NULL;
|
cur->key = NULL;
|
||||||
cur->val = NULL;
|
cur->val = NULL;
|
||||||
if (firstline && !strncmp(buffer,"From ",5)) {
|
if (firstline && !strncmp(buffer,"From ",5)) {
|
||||||
Syslog('M', "This is a uucpfrom line");
|
|
||||||
cur->key=xstrcpy((char *)"X-UUCP-From");
|
cur->key=xstrcpy((char *)"X-UUCP-From");
|
||||||
cur->val=xstrcpy(buffer+4);
|
cur->val=xstrcpy(buffer+4);
|
||||||
} else if ((p=strchr(buffer,':')) && (p > buffer) && /* ':' isn't 1st chr */
|
} else if ((p=strchr(buffer,':')) && (p > buffer) && /* ':' isn't 1st chr */
|
||||||
|
Reference in New Issue
Block a user