Repository: time-rs/time (language: rust)

Issue:
Link `tzset` to `__tzset50` for NetBSD
Similar to the `setlocale` method, NetBSD has this weird compatibility layer and really expects applications to link to `__tzset50` instead ([see their `time.h` header](http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/include/time.h?rev=1.47&content-type=text/plain&only_with_tag=MAIN)).

[This is how `libc` does it for `setlocale`](https://docs.rs/libc/0.2.76/src/libc/unix/mod.rs.html#1379):
```rust
extern "C" {
    // ...
    #[cfg_attr(target_os = "netbsd", link_name = "__setlocale50")]
    pub fn setlocale(
        category: ::c_int,
        locale: *const ::c_char,
    ) -> *mut ::c_char;
    // ...
}
```

I think the same should be done for [`tzset` here](https://github.com/time-rs/time/blob/bc2cdc375206a3ba118ffe16eb7262db300a1201/src/utc_offset.rs#L339):

```rust
                extern "C" {
                    #[cfg_attr(target_os = "netbsd", link_name = "__tzset50")]
                    fn tzset();
                }

```
Link `tzset` to `__tzset50` for NetBSD
Similar to the `setlocale` method, NetBSD has this weird compatibility layer and really expects applications to link to `__tzset50` instead ([see their `time.h` header](http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/include/time.h?rev=1.47&content-type=text/plain&only_with_tag=MAIN)).

[This is how `libc` does it for `setlocale`](https://docs.rs/libc/0.2.76/src/libc/unix/mod.rs.html#1379):
```rust
extern "C" {
    // ...
    #[cfg_attr(target_os = "netbsd", link_name = "__setlocale50")]
    pub fn setlocale(
        category: ::c_int,
        locale: *const ::c_char,
    ) -> *mut ::c_char;
    // ...
}
```

I think the same should be done for [`tzset` here](https://github.com/time-rs/time/blob/bc2cdc375206a3ba118ffe16eb7262db300a1201/src/utc_offset.rs#L339):

```rust
                extern "C" {
                    #[cfg_attr(target_os = "netbsd", link_name = "__tzset50")]
                    fn tzset();
                }

```


Discussion / hints:

Fix patch:
diff --git a/src/utc_offset.rs b/src/utc_offset.rs
index e77755dc7..6e5029756 100644
--- a/src/utc_offset.rs
+++ b/src/utc_offset.rs
@@ -337,6 +337,7 @@ fn try_local_offset_at(datetime: OffsetDateTime) -> Option<UtcOffset> {
             /// on any error.
             fn timestamp_to_tm(timestamp: i64) -> Option<libc::tm> {
                 extern "C" {
+                    #[cfg_attr(target_os = "netbsd", link_name = "__tzset50")]
                     fn tzset();
                 }
 


Test patch: