Differences From Artifact [453d9528f7]:
- File src/resolver.h — part of check-in [9e76144ef8] at 2015-06-13 22:26:05 on branch trunk — Add support for and use the new nullability (user: js, size: 2392) [annotate] [blame] [check-ins using]
To Artifact [f92afcb5a7]:
- File
src/resolver.h
— part of check-in
[b7097a67b6]
at
2015-06-14 10:45:10
on branch trunk
— Add OF_NONNULL / OF_NULLABLE and use that instead
Using __nonnull directly doesn't work on systems using glibc, as glibc
defines __nonnull as a parameterized define. While this does not fix the
problem of Clang introducing __nonnull even though it conflicts with
glibc, this at least means it's possible again to compile things with
versions of Clang that don't support __nonnull on systems with glibc. (user: js, size: 2399) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
45 46 47 48 49 50 51 | * struct * @param protocol The protocol that should be inserted into the resulting * address struct * * @return An array of results. The list is terminated by NULL and should be * free'd after use. */ | | | | | | 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | * struct * @param protocol The protocol that should be inserted into the resulting * address struct * * @return An array of results. The list is terminated by NULL and should be * free'd after use. */ extern of_resolver_result_t *OF_NULLABLE *OF_NONNULL of_resolve_host(OFString *host, uint16_t port, int protocol); /*! * @brief Converts the specified address to a string and port pair. * * @param address The address to convert to a string * @param addressLength The length of the address to convert to a string * @param host A pointer to an OFString* which should be set to the host of the * address or NULL if the host is not needed * @param port A pointer to an uint16_t which should be set to the port of the * address or NULL if the port is not needed */ extern void of_address_to_string_and_port(struct sockaddr *address, socklen_t addressLength, OFString *__autoreleasing OF_NONNULL *OF_NULLABLE host, uint16_t *OF_NULLABLE port); /*! * @brief Frees the results returned by @ref of_resolve_host. * * @param results The results returned by @ref of_resolve_host */ extern void of_resolver_free( of_resolver_result_t *OF_NULLABLE *OF_NONNULL results); #ifdef __cplusplus } #endif OF_ASSUME_NONNULL_END |