/*
- * irssistats version 0.73
+ * irssistats version 0.75
*
* This tool generates IRC stats based on irssi logs.
* Usage: irssistats [/path/to/file.conf]
#define MINWORDLENGTH 5
/* irssistats */
-#define VERSION "0.73"
+#define VERSION "0.75"
#define URL "http://royale.zerezo.com/irssistats/"
/* Counters */
{ "LASTMONTHS", "Last months statistics" },
{ "TOPHOURS", "ðÏÞÁÓÏ×ÁÑ ÓÔÁÔÉÓÔÉËÁ" },
{ "TOPUSERS", "áËÔÉ×ÎÅÊÛÉÅ ÌÀÄÉ" },
- { "OTHERS", "ïÓÔÁÌÏÓØ %d ÎÅÐÏÄÓÞÉÔÁÎÙÈ..." },
+ { "OTHERS", "ïÓÔÁÌÏÓØ %d ÎÅÐÏÄÓÞÉÔÁÎÎÙÈ..." },
{ "NBLINES", "ÓÔÒÏËÉ" },
{ "NICK", "ÎÉË" },
{ "AVGLETTERS", "ÂÕË×Ù/ÓÔÒÏËÉ" },
{ "POSTEDURL", "URL" },
{ "TOPWORDS", "þÁÓÔÏ ÉÓÐÏÌØÚÕÅÍÙÅ ÓÌÏ×Á" },
{ "WORD", "ÓÌÏ×Ï" },
- { "OCCURRENCES", "ÐÒÏÉÛÅÓÔ×ÉÑ" },
+ { "OCCURRENCES", "ÐÒÏÉÓÛÅÓÔ×ÉÑ" },
{ "BIGNUMBERS", "îÅÓËÏÌØËÏ ÂÏÌØÛÉÈ ÞÉÓÅÌ..." },
{ "NUMBERS", "ÞÉÓÌÁ" },
{ "TIME", "%d ÓÔÒÏË (%d ÄÎÅÊ) ÏÂÒÁÂÏÔÁÎÏ ÚÁ %d ÓÅËÕÎÄ" },
{ "FOOTER", "óÔÁÔÉÓÔÉËÁ ÓÇÅÎÅÒÉÒÏ×ÁÎÁ" },
- { "C_SMILE", "ÞÁÓÔÏ ÓÞÁÓÌÉ× :)" },
+ { "C_SMILE", "ÞÁÓÔÏ ÓÞÁÓÔÌÉ× :)" },
{ "C_FROWN", "ÞÁÓÔÏ ÎÅÓÞÁÓÔÅÎ :(" },
{ "C_EXCLAM", "ÍÎÏÇÏ ×ÏÓËÌÉÃÁÅÔ !" },
{ "C_QUESTION", "ÚÁÄÁ£Ô ÍÎÏÇÏ ×ÏÐÒÏÓÏ× ?" },
case '@':
case '%':
case '+':
+ case '&':
+ case '~':
case ' ':
nickstart = timelen+2;
break;
if (message[j-1]==')') users[i].counters[D_SMILE]++;
else if (message[j-1]=='(') users[i].counters[D_FROWN]++;
}
- if (rand()%users[i].lines==0) strncpy(users[i].quote,message,MAXQUOTELENGTH);
+ // Fetch a random message, messages between 25 and 70 chars are
+ // preferred (pisg-style, gets "better" quotes)
+ //
+ if (rand()%users[i].lines==0) {
+
+ int len = strlen(message);
+ // if we have a "good" quote, use it
+ if ( len > 25 && len < 70 )
+ {
+ strncpy(users[i].quote,message,MAXQUOTELENGTH);
+ } else {
+ int len2 = strlen(users[i].quote);
+ if ( !(len2 > 25 && len2 < 70 )) {
+ strncpy(users[i].quote,message,MAXQUOTELENGTH);
+ }
+ }
+ }
+
if (strncmp("http://",message,7)==0)
{
users[i].counters[D_URL]++;
fclose(fic);
}
-void parse_config(char *configfile)
+void expand(char *path)
{
- void expand(char *path)
+ char temp[MAXLINELENGTH];
+ if (*path=='~')
{
- char temp[MAXLINELENGTH];
- if (*path=='~')
- {
- snprintf(temp,MAXLINELENGTH-1,"%s%s",getenv("HOME"),path+1);
- temp[MAXLINELENGTH-1]='\0';
- strcpy(path,temp);
- }
+ snprintf(temp,MAXLINELENGTH-1,"%s%s",getenv("HOME"),path+1);
+ temp[MAXLINELENGTH-1]='\0';
+ strcpy(path,temp);
}
-
+}
+
+void parse_config(char *configfile)
+{
FILE *fic;
char line[MAXLINELENGTH];
char keyword[MAXLINELENGTH];
int main(int argc,char *argv[])
{
(void) setlocale(LC_ALL, "");
-
if ((users=malloc(maxusers*sizeof(struct user)))==NULL) { fprintf(stderr,"unable to malloc memory\n"); exit(1); }
srand(debut=time(NULL));
if (argc==1) parse_config(NULL);
}
return(0);
}
+