Communauté Eggdrop

Version complète : Logs2html pour 1.6.21
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Bonjour,

J'ai essayer d'installer logs2html sur un eggdrop1.6.21 cependant j'ai une erreur que je ne comprend pas vraiment es que ce module fonctionne avec la version 1.6.21 ?

* Last context: logs2html:fileoperations.c/117 []
* Please REPORT this BUG!
* Check doc/BUG-REPORT on how to do so.
* Wrote DEBUG
* SEGMENT VIOLATION -- CRASHING!

quelqu'un pourrais m'aider svp ?

oups j'ai oublier j'ai ca a la ligne 117 du fileoperation.c

Context;

et voici le fichier complet

Code :
/*
* fileoperations.c -- part of logs2html.mod
*
* Written by Fedotov Alexander aka Shmupsik aka shurikvz <shurikvz@mail.ru>
*
* 2004-2009 year
*/
/*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
*/

#include <stdarg.h>

/****************************************************************************/
/*
* function FILE *openfile(char *newfilename, const char *mode, bool silent)
*
* Input:
*   newfilename    -    имя файла, который необходимо создать
*   mode                    -    режим открытия файла
*
* Output:
*   указатель на файл
*
* Discription:
*   функция осуществляет создание и открытие файла в указанном режиме
*   и возвращает указатель на созданный файл
*/
static FILE *openfile(char *filename, const char *mode, bool silent) {
    FILE *file;

    if (filename == NULL) {
        putlog(LOG_MISC, "*", "logs2html: ERROR! Can't allocate enough space for filename.");
        return NULL;
    }

    file = fopen(filename, mode);
    if ((file == NULL) && (!silent)) {
        putlog(LOG_MISC, "*", "logs2html: Warning! Can't open file \"%s\".", filename);
    }

    return file;
} /* openfile() */
/****************************************************************************/


/****************************************************************************/
/*
* function void writefromexfile(FILE *dst_file, char *exfilename)
*
* Input:
*  
*  
*  
*
* Output:
*  
*
* Discription:
*  
*  
*/
static void writefromexfile(FILE *dst_file, char *exfilename) {
    FILE *addfile;
    char buffer[512];
    size_t n;

    if (strlen(exfilename) > 0) {
        if ((addfile = openfile(exfilename, "r", false)) != NULL) {
            while(!feof(addfile)) {
                n = fread(buffer, sizeof(char), sizeof buffer, addfile);
                fwrite(buffer, sizeof(char), n, dst_file);
            }
            fclose(addfile);
        }
    }

    return;
} /* writefromexfile() */
/****************************************************************************/


/****************************************************************************/
/*
* function void str_write(FILE *file, char *fmt, ... )
*
* Input:
*   file -    файл в который пишем данные
*   fmt -    строка для записи со спецификаторами формата
*   ... -    данные для записи в строку
*
* Output:
*   ничего
*
* Discription:
*   функция осуществляет запись переданной строки в указанный файл,
*   производя соответствующее ее форматирование
*/
static void str_write(FILE *file, char *fstr, ... ) {
    va_list ap;
    int nchars;
    int size = 256;
    static char *buffer = NULL;

    Context;
    buffer = (char *)nmalloc(size);

    va_start(ap, fstr);
    while (true) {
        nchars = egg_vsnprintf(buffer, size, fstr, ap);
        if (nchars < size) break;
        size *= 2;
        buffer = (char *)nrealloc(buffer, size);
    }
    va_end(ap);

    fwrite(buffer, sizeof(char), strlen(buffer), file);
    nfree(buffer); buffer = NULL;

    return;
} /* str_write() */
/****************************************************************************/
J'arrive aussi à faire crasher l'eggdrop, bien que les fichiers soient générés. La dernière mise à jour de ce module étant de 2008, ça ne m'étonne pas qu'il ait du mal.

Je vais investiguer.
(02/06/2014, 11:34)CrazyCat a écrit : [ -> ]J'arrive aussi à faire crasher l'eggdrop, bien que les fichiers soient générés. La dernière mise à jour de ce module étant de 2008, ça ne m'étonne pas qu'il ait du mal.

Je vais investiguer.

Ça me fait la même chose que toi CrazyCat des fois il a même pas le temps de finir les fichiers css avant de cracher et la j’avoue que je suis complètement larguer sur le code :s

Enfin merci d'avance pour ton temps Smile
Bon, la solution était sur le net, et même sur le projet sourceforge : http://sourceforge.net/p/logs2html/patches/2/

Du moins ça a fonctionné pour moi Smile
oups merci crazycat j'avais mal chercher ça marche niquel Smile

juste pour compléter pour ceux qui aurais le même soucis voila la procédure.

dans le fichier
/home/shell/eggdrop1.6.21/src/mod/Logs2html.mod/fileoperation.c
à la ligne 114

remplacer
int size = 256;
par
int size = 1024;

make iconfig
make
makeinstall