Mise en forme de code: pensez à utiliser les balises [ tcl ] et [ /tcl ] (sans les espaces bien sûr) autour de vos codes tcl afin d'avoir un meilleur rendu et une coloration syntaxique. x


[Résolu] Logs2html pour 1.6.21
#1
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() */
/****************************************************************************/
#2
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.
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#3
(02/06/2014, 11:34)CrazyCat Wrote: 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 :)
#4
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 :)
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#5
oups merci crazycat j'avais mal chercher ça marche niquel :)

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


Forum Jump:


Users browsing this thread: 1 Guest(s)