return;
if (snprintf(htname,sizeof(htname),"%s/%s/.htaccess",outdirname,uinfo->filename)>=sizeof(htname)) {
- debuga(_("File name too long: %s/%s/.htaccess\n"),outdirname,uinfo->filename);
+ debuga(_("Path too long: "));
+ debuga_more("%s/%s/.htaccess\n",outdirname,uinfo->filename);
exit(EXIT_FAILURE);
}
if((fp_auth=fopen(htname,"w"))==NULL) {
sort_users_log(tmp,debug,uinfo);
if (snprintf(tmp3,sizeof(tmp3),"%s/%s.user_log",tmp,uinfo->filename)>=sizeof(tmp3)) {
- debuga(_("(datafile) directory path too long: %s/%s.user_log\n"),tmp,uinfo->filename);
+ debuga(_("Path too long: "));
+ debuga_more("%s/%s.user_log\n",tmp,uinfo->filename);
exit(EXIT_FAILURE);
}
}
if (snprintf(graph,sizeof(graph),"%s/%s/%s",outdirname,uinfo->filename,pdata->pngfile)>=sizeof(graph)) {
- debuga(_("user name too long for %s/%s/%s\n"),outdirname,uinfo->filename,pdata->pngfile);
+ /* TRANSLATORS: The message is followed by the path that is too long. */
+ debuga(_("User name too long to manufacture file name "));
+ debuga_more("%s/%s/%s\n",outdirname,uinfo->filename,pdata->pngfile);
exit(EXIT_FAILURE);
}
if((pngout=fopen(graph,"wb"))==NULL) {
if (datetimeby==0) return;
if (!Graphs || GraphFont[0]=='\0') return;
if (snprintf(wdirname,sizeof(wdirname),"%s/%s.day",tmp,uinfo->filename)>=sizeof(wdirname)) {
- debuga(_("user name too long for %s/%s.day\n"),tmp,uinfo->filename);
+ debuga(_("User name too long to manufacture file name "));
+ debuga_more("%s/%s.day\n",tmp,uinfo->filename);
exit(EXIT_FAILURE);
}
if(access(wdirname, R_OK) != 0) {
fclose(fp_in);
if (snprintf(wdirname,sizeof(wdirname),"%s/%s/graph.html",outdirname,uinfo->filename)>=sizeof(wdirname)) {
- debuga(_("user name too long for %s/%s/%s\n"),outdirname,uinfo->filename,"graph.html");
+ debuga(_("User name too long to manufacture file name "));
+ debuga_more("%s/%s/%s\n",outdirname,uinfo->filename,"graph.html");
exit(EXIT_FAILURE);
}
if ((fp_ou=fopen(wdirname,"wt"))==NULL) {
userscan uscan;
if (snprintf(tmp2,sizeof(tmp2),"%s/sargtmp.int_unsort",tmp)>=sizeof(tmp2)) {
- debuga(_("File name too long: %s/sargtmp.int_unsort\n"),tmp);
+ debuga(_("Path too long: "));
+ debuga_more("%s/sargtmp.int_unsort\n",tmp);
exit(EXIT_FAILURE);
}
if (snprintf(tmp3,sizeof(tmp3),"%s/sargtmp.int_log",tmp)>=sizeof(tmp3)) {
- debuga(_("File name too long: %s/sargtmp.int_log\n"),tmp);
+ debuga(_("Path too long: "));
+ debuga_more("%s/sargtmp.int_log\n",tmp);
exit(EXIT_FAILURE);
}
}
while ( (uinfo = userinfo_advancescan(uscan)) != NULL ) {
if (snprintf(warea,sizeof(warea),"%s/%s",outdirname,uinfo->filename)>=sizeof(warea)) {
- debuga(_("Destination directory too long: %s/%s\n"),outdirname,uinfo->filename);
+ debuga(_("Path too long: "));
+ debuga_more("%s/%s\n",outdirname,uinfo->filename);
exit(EXIT_FAILURE);
}
if (!uinfo->topuser) {
}
if (snprintf(arqou,sizeof(arqou),"%s/%s/%s.html",outdirname,uinfo->filename,uinfo->filename)>=sizeof(arqou)) {
- debuga(_("Output file name too long: %s/%s/%s.html\n"),outdirname,uinfo->filename,uinfo->filename);
+ debuga(_("Path too long: "));
+ debuga_more("%s/%s/%s.html\n",outdirname,uinfo->filename,uinfo->filename);
exit(EXIT_FAILURE);
}
if (snprintf(duser,sizeof(duser),"%s/denied_%s.html",outdirname,uinfo->filename)>=sizeof(duser)) {
- debuga(_("File name too long: %s/denied_%s.html\n"),outdirname,uinfo->filename);
+ debuga(_("Path too long: "));
+ debuga_more("%s/denied_%s.html\n",outdirname,uinfo->filename);
exit(EXIT_FAILURE);
}
if(access(duser, R_OK) != 0)
if(iprel) {
if (snprintf(arqip,sizeof(arqip),"%s/%s.ip",tmp,uinfo->filename)>=sizeof(arqip)) {
- debuga(_("File name too long: %s/%s.ip\n"),tmp,uinfo->filename);
+ debuga(_("Path too long: "));
+ debuga_more("%s/%s.ip\n",tmp,uinfo->filename);
exit(EXIT_FAILURE);
}
void output_html_url(FILE *fp_ou,const char *url);
void output_html_link(FILE *fp_ou,const char *url,int maxlen);
void debuga(const char *msg,...) __attribute__((format(printf,1,2)));
+void debuga_more(const char *msg,...);
void debugaz(const char *msg,...) __attribute__((format(printf,1,2)));
void my_lltoa(unsigned long long int n, char *s, int ssize, int len);
void url_module(const char *url, char *w2);
path_len=strlen(path);
if (path_len+2>=path_size) {
- debuga(_("Directory entry \"%s\" too long\n"),path);
+ debuga(_("Path too long: "));
+ debuga_more("%s\n",path);
exit(EXIT_FAILURE);
}
if ((dirp=opendir(path))==NULL) {
if (direntp->d_name[0]=='.' && (direntp->d_name[1]=='\0' || (direntp->d_name[1]=='.' && direntp->d_name[2]=='\0'))) continue;
name_len=strlen(direntp->d_name);
if (path_len+name_len+1>=path_size) {
- debuga(_("Directory entry \"%s%s\" too long\n"),path,direntp->d_name);
+ debuga(_("Path too long "));
+ debuga_more("%s%s\n",path,direntp->d_name);
exit(EXIT_FAILURE);
}
strcpy(path+path_len,direntp->d_name);
}
monthdir_len=strlen(monthdir);
if (monthdir_len+strlen(INDEX_HTML_FILE)+2>=monthdir_size) {
- debuga(_("Directory path too long: %s/%s\n"),monthdir,INDEX_HTML_FILE);
+ debuga(_("Path too long: "));
+ debuga_more("%s/%s\n",monthdir,INDEX_HTML_FILE);
exit(EXIT_FAILURE);
}
monthdir[monthdir_len++]='/';
if (direntp->d_name[0]=='.' && (direntp->d_name[1]=='\0' || (direntp->d_name[1]=='.' && direntp->d_name[2]=='\0'))) continue;
name_len=strlen(direntp->d_name);
if (monthdir_len+name_len+1>=monthdir_size) {
- debuga(_("Directory entry \"%s%s\" too long\n"),monthdir,direntp->d_name);
+ debuga(_("Path too long: "));
+ debuga_more("%s%s\n",monthdir,direntp->d_name);
exit(EXIT_FAILURE);
}
strcpy(monthdir+monthdir_len,direntp->d_name);
}
yeardir_len=strlen(yeardir);
if (yeardir_len+strlen(INDEX_HTML_FILE)+2>=yeardir_size) {
- debuga(_("Directory path too long: %s/%s\n"),yeardir,INDEX_HTML_FILE);
+ debuga(_("Path too long: "));
+ debuga_more("%s/%s\n",yeardir,INDEX_HTML_FILE);
exit(EXIT_FAILURE);
}
yeardir[yeardir_len++]='/';
if (direntp->d_name[0]=='.' && (direntp->d_name[1]=='\0' || (direntp->d_name[1]=='.' && direntp->d_name[2]=='\0'))) continue;
name_len=strlen(direntp->d_name);
if (yeardir_len+name_len+1>=yeardir_size) {
- debuga(_("Directory entry \"%s%s\" too long\n"),yeardir,direntp->d_name);
+ debuga(_("Path too long: "));
+ debuga_more("%s%s\n",yeardir,direntp->d_name);
exit(EXIT_FAILURE);
}
strcpy(yeardir+yeardir_len,direntp->d_name);
}
if (yeardir_len+strlen(monthnum)+1>=yeardir_size) {
yeardir[yeardir_len]='\0';
- debuga(_("Directory path too long: %s%s\n"),yeardir,monthnum);
+ debuga(_("Path too long: "));
+ debuga_more("%s%s\n",yeardir,monthnum);
exit(EXIT_FAILURE);
}
strcpy(yeardir+yeardir_len,monthnum);
yeardirlen=strlen(outdir);
if (yeardirlen>=sizeof(yeardir)) {
- debuga(_("Output directory too long: %s"),outdir);
+ debuga(_("Path too long: "));
+ debuga_more("%s",outdir);
exit(EXIT_FAILURE);
}
strcpy(yeardir,outdir);
debuga(_("Removing old report file %s\n"),ptr->Name);
if (name_pos+strlen(ptr->Name)+1>=sizeof(warea)) {
DeleteDirList(List);
- debuga(_("Directory name too long: %s%s\n"),outdir,ptr->Name);
+ debuga(_("Path too long: "));
+ debuga_more("%s%s\n",outdir,ptr->Name);
exit(EXIT_FAILURE);
}
strcpy(warea+name_pos,ptr->Name);
my_mkdir(ParsedOutputLog);
}
if (snprintf(SargLogFile,sizeof(SargLogFile),"%s/sarg_temp.log",ParsedOutputLog)>=sizeof(SargLogFile)) {
- debuga(_("File name too long: %s/sarg_temp.log\n"),ParsedOutputLog);
+ debuga(_("Path too long: "));
+ debuga_more("%s/sarg_temp.log\n",ParsedOutputLog);
exit(EXIT_FAILURE);
}
if((fp_log=MY_FOPEN(SargLogFile,"w"))==NULL) {
strftime(val2,sizeof(val2),"%d%m%Y_%H%M",&period.start);
strftime(val1,sizeof(val1),"%d%m%Y_%H%M",&period.end);
if (snprintf(val4,sizeof(val4),"%s/sarg-%s-%s.log",ParsedOutputLog,val2,val1)>=sizeof(val4)) {
- debuga(_("File name too long: %s/sarg-%s-%s.log\n"),ParsedOutputLog,val2,val1);
+ debuga(_("Path too long: "));
+ debuga_more("%s/sarg-%s-%s.log\n",ParsedOutputLog,val2,val1);
exit(EXIT_FAILURE);
}
if (rename(SargLogFile,val4)) {
if(access(wdirname, R_OK) != 0) return;
if (snprintf(arqout,sizeof(arqout),"%s/%s/d%s.html",outdirname,uinfo->filename,uinfo->filename)>=sizeof(arqout)) {
- debuga(_("Output file name too long: %s/%s/d%s.html\n"),outdirname,uinfo->filename,uinfo->filename);
+ debuga(_("Path too long: "));
+ debuga_more("%s/%s/d%s.html\n",outdirname,uinfo->filename,uinfo->filename);
exit(EXIT_FAILURE);
}
if(debug) debuga(_("Making file: %s/%s\n"),tmp,user);
if (snprintf(wdirname,sizeof(wdirname),"%s/%s.utmp",tmp,user)>=sizeof(wdirname)) {
- debuga(_("Temporary file name too long: %s/%s.utmp\n"),tmp,user);
+ debuga(_("Path too long: "));
+ debuga_more("%s/%s.utmp\n",tmp,user);
exit(EXIT_FAILURE);
}
if((ReportType & REPORT_TYPE_USERS_SITES) == 0) return;
if (snprintf(wdirname,sizeof(wdirname),"%s/%s.ip",tmp,uinfo->filename)>=sizeof(wdirname)) {
- debuga(_("Path too long %s/%s.ip\n"),tmp,uinfo->filename);
+ debuga(_("Path too long: "));
+ debuga_more("%s/%s.ip\n",tmp,uinfo->filename);
exit(EXIT_FAILURE);
}
char wdirname[MAXLEN];
if (snprintf(wdirname,sizeof(wdirname),"%s/smartfilter.int_unsort",dirname)>=sizeof(wdirname)) {
- debuga(_("File name too long for %s/smartfilter.int_unsort\n"),dirname);
+ debuga(_("Path too long: "));
+ debuga_more("%s/smartfilter.int_unsort\n",dirname);
exit(EXIT_FAILURE);
}
ouser[0]='\0';
if (snprintf(smart_in,sizeof(smart_in),"%s/smartfilter.int_unsort",tmp)>=sizeof(smart_in)) {
- debuga(_("File name too long: %s/smartfilter.int_unsort\n"),tmp);
+ debuga(_("Path too long: "));
+ debuga_more("%s/smartfilter.int_unsort\n",tmp);
exit(EXIT_FAILURE);
}
if (snprintf(sites,sizeof(sites),"%s/sarg-sites",outdirname)>=sizeof(sites)) {
- debuga(_("File name too long: %s/sarg-sites\n"),outdirname);
+ debuga(_("Path too long: "));
+ debuga_more("%s/sarg-sites\n",outdirname);
exit(EXIT_FAILURE);
}
if (snprintf(smart_ou,sizeof(smart_ou),"%s/smartfilter.int_log",tmp)>=sizeof(smart_ou)) {
- debuga(_("File name too long: %s/smartfilter.int_log\n"),tmp);
+ debuga(_("Path too long: "));
+ debuga_more("%s/smartfilter.int_log\n",tmp);
exit(EXIT_FAILURE);
}
if (snprintf(report,sizeof(report),"%s/smartfilter.html",outdirname)>=sizeof(report)) {
- debuga(_("File name too long: %s/smartfilter.html\n"),outdirname);
+ debuga(_("Path too long: "));
+ debuga_more("%s/smartfilter.html\n",outdirname);
exit(EXIT_FAILURE);
}
order="-r";
if (snprintf(arqin,sizeof(arqin),"%s/%s.utmp",tmp,uinfo->filename)>=sizeof(arqin)) {
- debuga(_("File name too long: %s/%s.utmp\n"),tmp,uinfo->filename);
+ debuga(_("Path too long: "));
+ debuga_more("%s/%s.utmp\n",tmp,uinfo->filename);
exit(EXIT_FAILURE);
}
if (snprintf(arqou,sizeof(arqou),"%s/htmlrel.txt",tmp)>=sizeof(arqou)) {
- debuga(_("File name too long: %s/htmlrel.txt\n"),tmp);
+ debuga(_("Path too long: "));
+ debuga_more("%s/htmlrel.txt\n",tmp);
exit(EXIT_FAILURE);
}
clen=snprintf(csort,sizeof(csort),"sort -T \"%s\" -t \"\t\" -k 4,4 -k 1,1 -k 2,2 -o \"%s/%s.user_log\" \"%s/%s.user_unsort\"",
tmp, tmp, user, tmp, user);
if (clen>=sizeof(csort)) {
- debuga(_("user name too long to sort %s\n"),csort);
+ /* TRANSLATORS: The message is followed by the command that is too long. */
+ debuga(_("User name too long to sort with command "));
+ debuga_more("sort -T \"%s\" -t \"\t\" -k 4,4 -k 1,1 -k 2,2 -o \"%s/%s.user_log\" \"%s/%s.user_unsort\"",
+ tmp, tmp, user, tmp, user);
exit(EXIT_FAILURE);
}
cstatus=system(csort);
exit(EXIT_FAILURE);
}
if (snprintf(csort,sizeof(csort),"%s/%s.user_unsort",tmp,user)>=sizeof(csort)) {
- debuga(_("user name too long for %s/%s.user_unsort\n"),tmp,user);
+ debuga(_("User name too long to manufacture file name "));
+ debuga_more("%s/%s.user_unsort\n",tmp,user);
exit(EXIT_FAILURE);
}
if (!KeepTempLog && unlink(csort)) {
// '/' + '-YYYY-mm-dd' + '\0' == 13
output_prefix_len=snprintf(output_file,sizeof(output_file)-12,"%s%s",outdir,splitprefix);
if (output_prefix_len>=sizeof(output_file)-12) {
- debuga(_("(splitlog) Output path is too long: %s%s-YYYY-mm-dd\n"),outdir,splitprefix);
+ debuga(_("Path too long: "));
+ debuga_more("%s%s-YYYY-mm-dd\n",outdir,splitprefix);
exit(EXIT_FAILURE);
}
autosplit=1;
if (!ddata) return;
if (snprintf(arqout,sizeof(arqout),"%s/%s.day",tmp,uinfo->filename)>=sizeof(arqout)) {
- debuga(_("File name too long: %s/%s%s\n"),tmp,uinfo->filename,".day");
+ debuga(_("Path too long: "));
+ debuga_more("%s/%s%s\n",tmp,uinfo->filename,".day");
exit(EXIT_FAILURE);
}
if (KeepTempLog) return;
if (snprintf(arqout,sizeof(arqout),"%s/%s.day",tmp,uinfo->filename)>=sizeof(arqout)) {
- debuga(_("File name too long: %s/%s%s\n"),tmp,uinfo->filename,".day");
+ debuga(_("Path too long: "));
+ debuga_more("%s/%s%s\n",tmp,uinfo->filename,".day");
exit(EXIT_FAILURE);
}
chars=0;
for (i=0 ; name[i] ; i++) {
if (i>=sizeof(w0)) {
- debuga(_("directory name too long: %s\n"),name);
+ debuga(_("Path too long: "));
+ debuga_more("%s\n",name);
exit(EXIT_FAILURE);
}
if (chars>0 && name[i] == '/') {
va_end(ap);
}
+/*!
+Write a debug message to stderr. The message is supposed
+to be displayed after a message from debuga().
+
+\param msg The printf like message to format.
+\param ... The arguments to format in the message.
+*/
+void debuga_more(const char *msg,...)
+{
+ va_list ap;
+
+ va_start(ap,msg);
+ vfprintf(stderr,msg,ap);
+ va_end(ap);
+}
/*!
Write a debug message to stderr. The message is prefixed by "SARG: (info)".
char wdir[MAXLEN];
if (snprintf(wdir,sizeof(wdir),"%s%s/sarg-date",dirname,name)>=sizeof(wdir)) {
- debuga(_("Buffer to small to store %s%s/sarg-date"),dirname,name);
+ debuga(_("Buffer too small to store "));
+ debuga_more("%s%s/sarg-date",dirname,name);
exit(EXIT_FAILURE);
}
if ((fp_in = fopen(wdir, "rt")) == 0) {
if (snprintf(wdir,sizeof(wdir),"%s%s/date",dirname,name)>=sizeof(wdir)) {
- debuga(_("Buffer to small to store %s%s/date"),dirname,name);
+ debuga(_("Buffer too small to store "));
+ debuga_more("%s%s/date",dirname,name);
exit(EXIT_FAILURE);
}
if ((fp_in = fopen(wdir, "rt")) == 0) {
int nuser;
if (snprintf(wdir,sizeof(wdir),"%s%s/sarg-users",dirname,name)>=sizeof(wdir)) {
- debuga(_("Buffer too small to store %s%s/sarg-users"),dirname,name);
+ debuga(_("Buffer too small to store "));
+ debuga_more("%s%s/sarg-users",dirname,name);
exit(EXIT_FAILURE);
}
if((fp_in=fopen(wdir,"r"))==NULL) {
if (snprintf(wdir,sizeof(wdir),"%s%s/users",dirname,name)>=sizeof(wdir)) {
- debuga(_("Buffer too small to store %s%s/users"),dirname,name);
+ debuga(_("Buffer too small to store "));
+ debuga_more("%s%s/users",dirname,name);
exit(EXIT_FAILURE);
}
if((fp_in=fopen(wdir,"r"))==NULL) {
*media=0;
if (snprintf(wdir,sizeof(wdir),"%s%s/sarg-general",dirname,name)>=sizeof(wdir)) {
- debuga(_("Buffer too small to store %s%s/sarg-general"),dirname,name);
+ debuga(_("Buffer too small to store "));
+ debuga_more("%s%s/sarg-general",dirname,name);
exit(EXIT_FAILURE);
}
if ((fp_in = fopen(wdir, "r")) == 0) {
if (snprintf(wdir,sizeof(wdir),"%s%s/general",dirname,name)>=sizeof(wdir)) {
- debuga(_("Buffer too small to store %s%s/general"),dirname,name);
+ debuga(_("Buffer too small to store "));
+ debuga_more("%s%s/general",dirname,name);
exit(EXIT_FAILURE);
}
if ((fp_in = fopen(wdir, "r")) == 0) {
if(direntp->d_name[0]=='.')
continue;
if (snprintf(srcfile,sizeof(srcfile),"%s/%s",ImageDir,direntp->d_name)>=sizeof(srcfile)) {
- debuga(_("Buffer too small to store %s/%s"),ImageDir,direntp->d_name);
+ debuga(_("Buffer too small to store "));
+ debuga_more("%s/%s",ImageDir,direntp->d_name);
exit(EXIT_FAILURE);
}
if (stat(srcfile,&info)) {
}
if (S_ISREG(info.st_mode)) {
if (snprintf(dstfile,sizeof(dstfile),"%s/%s",images,direntp->d_name)>=sizeof(dstfile)) {
- debuga(_("Buffer too small to store %s/%s"),images,direntp->d_name);
+ debuga(_("Buffer too small to store "));
+ debuga_more("%s/%s",images,direntp->d_name);
exit(EXIT_FAILURE);
}
img_in = fopen(srcfile, "rb");
strcpy(dirname2,wdir);
if (snprintf(wdir,sizeof(wdir),"%s/sarg-date",outdirname)>=sizeof(wdir)) {
- debuga(_("Buffer too small to store %s/sarg-date"),outdirname);
+ debuga(_("Buffer too small to store "));
+ debuga_more("%s/sarg-date",outdirname);
exit(EXIT_FAILURE);
}
if ((fp_ou = fopen(wdir, "wt")) == 0) {
debuga(_("Purging temporary file sarg-general\n"));
}
if (snprintf(filename,sizeof(filename),"%s/sarg-general",outdir)>=sizeof(filename)) {
- debuga(_("(removetmp) directory too long to remove %s/sarg-period\n"),outdir);
+ debuga(_("Path too long: "));
+ debuga_more("%s/sarg-period\n",outdir);
exit(EXIT_FAILURE);
}
if((fp_gen=fopen(filename,"w"))==NULL){
(direntp->d_name[1] == '.' && direntp->d_name[2] == '\0')))
continue;
if (snprintf(dname,sizeof(dname),"%s/%s",dir,direntp->d_name)>=sizeof(dname)) {
- debuga(_("directory name to delete too long: %s/%s\n"),dir,direntp->d_name);
+ debuga(_("Path too long: "));
+ debuga_more("%s/%s\n",dir,direntp->d_name);
exit(EXIT_FAILURE);
}
#ifdef HAVE_LSTAT
}
if (snprintf(dname,sizeof(dname),"%s/%s",dir,direntp->d_name)>=sizeof(dname)) {
- debuga(_("directory name to delete too long: %s/%s\n"),dir,direntp->d_name);
+ debuga(_("Path too long: "));
+ debuga_more("%s/%s\n",dir,direntp->d_name);
exit(EXIT_FAILURE);
}
}
if (snprintf(dname,sizeof(dname),"%s/%s",dir,direntp->d_name)>=sizeof(dname)) {
- debuga(_("directory name to delete too long: %s/%s\n"),dir,direntp->d_name);
+ debuga(_("Path too long: "));
+ debuga_more("%s/%s\n",dir,direntp->d_name);
exit(EXIT_FAILURE);
}
#ifdef HAVE_LSTAT