1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Auszug aus crypto.c

    • Frage
  • Zee(CD)Dee
  • 8. April 2007 um 10:50
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • Zee(CD)Dee
    Punkte
    280
    Beiträge
    48
    • 8. April 2007 um 10:50
    • #1

    Hallo Koder!

    In dieser C-Datei muß mir mal jemand etwas erklären:

    http://www.at.gnucash.org/mirrors/freeha…common/crypto.c


    Die Funktion ist mir zwar aus Sicht meines menschlichen Verständnis klar, aber aus sicht des Compilers ist mir der Fett-markierte Teil nicht klar. Der fett-markierte Teil ist doch keine log-Berechnung.....oder?

    static void
    crypto_log_errors(int severity, const char *doing)
    {
    int err;
    const char *msg, *lib, *func;
    while ((err = ERR_get_error()) != 0) {
    msg = (const char*)ERR_reason_error_string(err);
    lib = (const char*)ERR_lib_error_string(err);
    func = (const char*)ERR_func_error_string(err);
    if (!msg) msg = "(null)";
    <b>if (doing) {
    log(severity, "crypto error while %s: %s (in %s:%s)", doing, msg, lib,func);
    } else {
    log(severity, "crypto error: %s (in %s:%s)", msg, lib, func);</b>
    }
    }
    }

  • Lord Binary
    Punkte
    3.301
    Beiträge
    647
    • 8. April 2007 um 10:55
    • #2

    :D
    log -> logging

  • hal
    Punkte
    11.122
    Beiträge
    2.208
    • 8. April 2007 um 10:55
    • #3

    Dieses Forum unterstützt keine HTML-Tags :) du musst es in eckigen Klammern machen (siehe http://www.informatik-forum.at/misc.php?do=bbcode).

    Ich glaub du hast da was verwechselt bei der Bedeutung des Namens "log". Das bezieht sich nicht auf "Logarithmus", sondern "Protokoll".

  • Zee(CD)Dee
    Punkte
    280
    Beiträge
    48
    • 8. April 2007 um 11:40
    • #4

    Thx ich hab in der util.h Datei den Prototypen dazu in der Zeile 107 gefunden.

    Aber mal ehrlich...ist der Koder nicht dämlich so einen Funktionsnamen zu wählen und dem Compiler mit Syntaxchek die Arbeit machen zu lassen?

  • hal
    Punkte
    11.122
    Beiträge
    2.208
    • 8. April 2007 um 11:47
    • #5

    Versteh nicht ganz was du meinst. Es ist normalerweise sehr klug, den Compiler die Syntaxchecks machen zu lassen, sonst geht nämlich gar nix.

    Der Funktionsname ist ganz ok, bedeutet "log_errors" ("Fehler protokollieren") im modul "crypto".

  • Zee(CD)Dee
    Punkte
    280
    Beiträge
    48
    • 8. April 2007 um 11:53
    • #6

    Nein... ich hab mich wohl falsch ausgedrückt.
    Ich nehme vorweg das ich math.h einbaue und eine logarithmetisch Berechnung durchführe. Ich finde es nicht schlau eine für ein Objekt "interne" Funktion nach einer ANSI-C Funktion zu benennen.

    Kannst du mir deinen Such-Vorgang posten...ich finde nichts das die Funktion [bl]og[/b](int, const char*) definiert.

    Etwas auf diese Art suche ich :
    #define log_msg(int, const char*) log(int, const char*)

  • hal
    Punkte
    11.122
    Beiträge
    2.208
    • 8. April 2007 um 12:00
    • #7

    Aso ja, da hast du recht.

  • Zee(CD)Dee
    Punkte
    280
    Beiträge
    48
    • 8. April 2007 um 12:07
    • #8

    Ach Mist!

    Ich will nicht recht haben! Das bedeutet ich schau mir schlechten CODE an *g*

  • Zee(CD)Dee
    Punkte
    280
    Beiträge
    48
    • 8. April 2007 um 12:32
    • #9

    Also für alle Suchenden:

    Die Info zu der abstracten Funktion log(int, const char*) findet sich in der Headerdatei Log_msg.h

    ...
    ssize_t log (ACE_Log_Priority priority, const ACE_TCHAR *format,...)
    ssize_t log (ACE_Log_Priority priority, const ACE_ANTI_TCHAR *format,...)
    ...

    Hier der "saugute" Link den ich dazu gefunden habe.

    http://www.dre.vanderbilt.edu/Doxygen/Curren…a7661fb926b0854

    LG

  • hal
    Punkte
    11.122
    Beiträge
    2.208
    • 8. April 2007 um 13:31
    • #10

    Das dürfte wohl was anderes sein, nachdem der Link C++-Klassen beschreibt, dein Code im 1. Posting aber C ist.

  • Zee(CD)Dee
    Punkte
    280
    Beiträge
    48
    • 8. April 2007 um 14:44
    • #11

    Ja das hab ich wohl übersehen... so schön war mein Traum als ich mir sicher war die Antwort in der Hand zu halten. Woher kommt also die Funktion?


    Roger Dingledine und Matej Pfajfar definierten sie in der, wahrscheinlich von ihnen, editierten log.h worauf der folgende Link verweist:

    http://tor.eff.org/svn/trunk/src/common/log.h

    ...
    /* Outputs a message to stdout */
    void _log(int severity, uint32_t domain, const char *format, ...)
    CHECK_PRINTF(3,4);
    #define log _log /* hack it so we don't conflict with log() as much */
    ...


    Danke

  • hal
    Punkte
    11.122
    Beiträge
    2.208
    • 9. April 2007 um 00:59
    • #12

    Hier:

    Header
    http://www.at.gnucash.org/mirrors/freeha…rc/common/log.h

    Implementation
    http://www.at.gnucash.org/mirrors/freeha…rc/common/log.c

  • Maximilian Rupp 27. Dezember 2024 um 12:05

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

  1. Datenschutzerklärung
  2. Impressum