示例#1
0
文件: error.c 项目: Zabrane/libcork
void
cork_unknown_error_set_(const char *location)
{
    cork_error_set
        (CORK_BUILTIN_ERROR, CORK_UNKNOWN_ERROR,
         "Unknown error in %s", location);
}
示例#2
0
static void
cork_slice_invalid_slice_set(size_t buf_size, size_t requested_offset,
                             size_t requested_length)
{
    cork_error_set
        (CORK_SLICE_ERROR, CORK_SLICE_INVALID_SLICE,
         "Cannot slice %zu-byte buffer at %zu:%zu",
         buf_size, requested_offset, requested_length);
}
示例#3
0
int
cork_ipv6_init(struct cork_ipv6 *addr, const char *str)
{
    int  rc = inet_pton(AF_INET6, str, addr);

    if (rc == 1) {
        /* successful parse */
        return 0;
    } else if (rc == 0) {
        /* parse error */
        cork_error_set
            (CORK_NET_ADDRESS_ERROR, CORK_NET_ADDRESS_PARSE_ERROR,
             "Invalid IPv6 address: \"%s\"", str);
        return -1;
    } else {
        cork_unknown_error();
        return -1;
    }
}
示例#4
0
int
cork_ip_init(struct cork_ip *addr, const char *str)
{
    int  rc;

    /* Try IPv4 first */

    rc = inet_pton(AF_INET, str, &addr->ip.v4);

    if (rc == 1) {
        /* successful parse */
        addr->version = 4;
        return 0;
    } else if (rc != 0) {
        /* non-parse error */
        cork_unknown_error();
        return -1;
    }

    /* Then try IPv6 */

    rc = inet_pton(AF_INET6, str, &addr->ip.v6);

    if (rc == 1) {
        /* successful parse */
        addr->version = 6;
        return 0;
    } else if (rc != 0) {
        /* non-parse error */
        cork_unknown_error();
        return -1;
    }

    /* Parse error for both address types */
    cork_error_set
        (CORK_NET_ADDRESS_ERROR, CORK_NET_ADDRESS_PARSE_ERROR,
         "Invalid IP address: \"%s\"", str);
    return -1;
}
示例#5
0
文件: error.c 项目: Zabrane/libcork
void
cork_system_error_set_explicit(int err)
{
    cork_error_set(CORK_BUILTIN_ERROR, CORK_SYSTEM_ERROR, "%s", strerror(err));
}