version 1.20, 2014/07/22 07:30:24 |
version 1.21, 2014/09/09 03:41:08 |
|
|
* The following are routines used to print out debugging information. |
* The following are routines used to print out debugging information. |
*/ |
*/ |
|
|
unsigned char NetTraceFile[PATH_MAX] = "(standard output)"; |
char NetTraceFile[PATH_MAX] = "(standard output)"; |
|
|
void |
void |
SetNetTrace(char *file) |
SetNetTrace(const char *file) |
{ |
{ |
if (NetTrace && NetTrace != stdout) |
if (NetTrace && NetTrace != stdout) |
fclose(NetTrace); |
fclose(NetTrace); |
if (file && (strcmp(file, "-") != 0)) { |
if (file && (strcmp(file, "-") != 0)) { |
NetTrace = fopen(file, "w"); |
NetTrace = fopen(file, "we"); |
if (NetTrace) { |
if (NetTrace) { |
strlcpy((char *)NetTraceFile, file, sizeof(NetTraceFile)); |
strlcpy(NetTraceFile, file, sizeof(NetTraceFile)); |
return; |
return; |
} |
} |
fprintf(stderr, "Cannot open %s.\n", file); |
fprintf(stderr, "Cannot open %s.\n", file); |
} |
} |
NetTrace = stdout; |
NetTrace = stdout; |
strlcpy((char *)NetTraceFile, "(standard output)", sizeof(NetTraceFile)); |
strlcpy(NetTraceFile, "(standard output)", sizeof(NetTraceFile)); |
} |
} |
|
|
void |
void |
|
|
break; |
break; |
} |
} |
fprintf(NetTrace, " %d %d (%d)", |
fprintf(NetTrace, " %d %d (%d)", |
pointer[1], pointer[2], |
pointer[1], pointer[2], (pointer[1]<<8) | pointer[2]); |
(int)((((unsigned int)pointer[1])<<8)|((unsigned int)pointer[2]))); |
|
if (length == 4) { |
if (length == 4) { |
fprintf(NetTrace, " ?%d?", pointer[3]); |
fprintf(NetTrace, " ?%d?", pointer[3]); |
break; |
break; |
} |
} |
fprintf(NetTrace, " %d %d (%d)", |
fprintf(NetTrace, " %d %d (%d)", |
pointer[3], pointer[4], |
pointer[3], pointer[4], (pointer[3]<<8) | pointer[4]); |
(int)((((unsigned int)pointer[3])<<8)|((unsigned int)pointer[4]))); |
|
for (i = 5; i < length; i++) |
for (i = 5; i < length; i++) |
fprintf(NetTrace, " ?%d?", pointer[i]); |
fprintf(NetTrace, " ?%d?", pointer[i]); |
break; |
break; |
|
|
case WONT: cp = "WONT"; goto common2; |
case WONT: cp = "WONT"; goto common2; |
common2: |
common2: |
i++; |
i++; |
if (TELOPT_OK((int)pointer[i])) |
if (TELOPT_OK(pointer[i])) |
fprintf(NetTrace, " %s %s", cp, TELOPT(pointer[i])); |
fprintf(NetTrace, " %s %s", cp, TELOPT(pointer[i])); |
else |
else |
fprintf(NetTrace, " %s %d", cp, pointer[i]); |
fprintf(NetTrace, " %s %d", cp, pointer[i]); |