mitigate non-thread-safe race conditions
further narrowing of the race window
Merge pull request #32 from robocoder/ts-patch

mitigate non-thread-safe race condition
Moved news to NEWS. Renamed it to NEWS.md.
Refer to the old format as GeoIP Legacy consistently
Remove volatile usage
Document thread pattern
Do not change the database in multithreaded environment
libGeoIP: gate stderr messages be gated by global control variable.

The code was previously peppered with calls to fprintf(stderr, ...)
just before returning an error return value. In practive, the return
value by itself should be sufficient and the program calling the
library can decide how to handle the error (including whether or not
to emit an error message).
libGeoIP: clarify control flow by removing unnecessary 'else'.

If the last statement in an 'if' body is a control flow statement (e.g.
'break', 'continue', 'return', or 'goto') then the 'else' body becomes
unnecessary. That is, all the statements in the 'else' body can be
moved out of the nesting and directly follow the preceeding 'if'
statement. Example:

    if (test) {
        this();
        return;
    } else {
        that();
    }

can be more clearly expressed as:

    if (test) {
        this();
        return;
    }
    that();

instead.
libGeoIP: rename GeoIP_chatty and initialize via GeoIP_open() flags.

Invert the sense of GeoIP_chatty to GeoIP_silent instead, and
initialize GeoIP_silent based on the presence of GEOIP_SILENCE in
the flags passed to GeoIP_open().
Try to avoid the global silent flag
Merge pull request #1 from borisz/master

Try to avoid the global silent flag
Document new open flag GEOIP_SILENCE.
Have apps use GEOIP_SILENCE since they perform their own error messages.
Merge pull request #36 from pprindeville/master

libGeoIP: gate stderr messages be gated by global control variable.
Merge pull request #35 from maxmind/bz/add-thread-pattern

Bz/add thread pattern
Minor tweaks to thread section
Add Travis build file
Fix 'depreciated' typo in Makefile.vc