• Hab mal atoi durch stroul ersetzt, is das ne bessere Alternative?

    solange du kein error-checking einfuehrst nicht wirklich. es geht darum, dass du bei "atoi" keine moeglichkeit hast den fehlerfall abzufragen, bei strtol schon. ein "strtol("fucked_up", NULL, 10)" haut dir auch "0" zurueck. es liegt dann an dir zu schauen was passiert ist. "man strtol" hat ein ausfuehrliches beispiel.


    Sowie sprintf durch snprintf

    die n-varianten verwende ich meist nur, wenn ich mit user-input rechne, oder input bei dem man sich nicht sicher sein kann wie lang er ist. manchmal bin ich aber auch zu schlampig, tja. man darf halt nicht den fehler machen und sich denken "is eh a snprintf, damit bin ich auf der sicheren seite". in deinem fall haetts nichts gebracht, aber da war der '*' ja ein typo. ob man es die n-varianten bei "sicherem code" verwendet ist wohl geschmackssache. je nachdem wie vorsichtig man sein mag.

    Willfähriges Mitglied des Fefe-Zeitbinder-Botnets und der Open Source Tea Party.

  • solange du kein error-checking einfuehrst nicht wirklich. es geht darum, dass du bei "atoi" keine moeglichkeit hast den fehlerfall abzufragen, bei strtol schon. ein "strtol("fucked_up", NULL, 10)" haut dir auch "0" zurueck. es liegt dann an dir zu schauen was passiert ist. "man strtol" hat ein ausfuehrliches beispiel.


    Naja der Input kommt aus einer Regexp und is maximal 3 digits lang, also kann die zahl weder zu gross noch zu klein noch nicht-zahl sein.

    I like Toast!

  • Naja der Input kommt aus einer Regexp und is maximal 3 digits lang, also kann die zahl weder zu gross noch zu klein noch nicht-zahl sein.


    vorausgesetzt pcre ist perfekt und bugfrei. ich denke das muss jeder selbst entscheiden welchen libraries er trauen mag oder nicht. darauf wollte ich aber gar nicht hinaus. es war auf den generellen fall von atoi vs. strtol bezogen.

    Willfähriges Mitglied des Fefe-Zeitbinder-Botnets und der Open Source Tea Party.

  • Mal wieder ein tgz-
    Hab noch keine Struktur implementiert, sprich es is noch alles in einem Array, aber einiges an Helper Funktionen und verbessertes Parsing für CIDR Notation.

    und bei besagter CIDR notation hab ich scheints noch einen bug drin wenn der input zB 192.168.1/24 is

    naja =) Montag dann :p

    ps: bug gefunden, nach Zeile 186 ein "break;" einfügen. im nächsten "release" is es dann aber eh drin.
    pps: okay hab mich verschaut, bug is doch woanders :p
    ppps: ich hab den bug nun doch gefunden, pcre hat ein bissl anders gearbeitet als ich dachte, bugfix is aber ned in dem tgz

    I like Toast!

    4 Mal editiert, zuletzt von davewood (26. September 2008 um 17:30)

  • search_ip("192.168.1.1")

    looks for a match in a hash of ip network ranges and returns the most specific (e.g.: returns 192.168.1.1/24 before 192.168.1.1/16)

    there is a rather huge example config file in the archive.

    I like Toast!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!