1 /* 2 * Copyright 2003 Sun Microsystems, Inc. All rights reserved. 3 * Use is subject to license terms. 4 */ 5 6 #pragma ident "%Z%%M% %I% %E% SMI" 7 8 #include "config.h" 9 #include <string.h> 10 #include "extensions.h" 11 #include "proto.h" 12 13 #define DEFXFERFORMAT "%T %Xt %R %Xn %XP %Xy %Xf %Xd %Xm %U ftp %Xa %u %Xc" 14 15 int xferdone = 0; 16 struct xferstat xfervalues; 17 char xferlog_format[MAXXFERSTRLEN] = DEFXFERFORMAT; 18 19 /*************************************************************************/ 20 /* FUNCTION : get_xferlog_format */ 21 /* PURPOSE : Read the xferlog format string from ftpaccess into */ 22 /* xferlog_format if it exists otherwise load default string */ 23 /* ARGUMENTS : none */ 24 /*************************************************************************/ 25 26 void get_xferlog_format(void) 27 { 28 int which; 29 struct aclmember *entry = (struct aclmember *)NULL; 30 31 /* xferlog format <formatstring> */ 32 xferlog_format[0] = '\0'; 33 while (getaclentry("xferlog", &entry)) { 34 if (ARG0 && (strcasecmp(ARG0, "format") == 0)) { 35 for (which = 1; (which < MAXARGS) && ARG[which]; which++) { 36 if (which > 1) { 37 if (strlcat(xferlog_format, " ", 38 sizeof(xferlog_format)) >= sizeof(xferlog_format)) 39 break; 40 } 41 if (strlcat(xferlog_format, ARG[which], 42 sizeof(xferlog_format)) >= sizeof(xferlog_format)) 43 break; 44 } 45 break; 46 } 47 } 48 49 /* default xferlog format */ 50 if (xferlog_format[0] == '\0') 51 (void) strlcpy(xferlog_format, DEFXFERFORMAT, sizeof(xferlog_format)); 52 }