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 15int xferdone = 0; 16struct xferstat xfervalues; 17char 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 26void 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} 53