UPSCLI_SPLITNAME(3)

NAME
upscli_splitname - Split a UPS definition into its components

SYNOPSIS

        #include <upsclient.h>
        int upscli_splitname(const char *buf, char **upsname,
                char **hostname, int *port)

DESCRIPTION

The upscli_splitname() function takes a pointer to the raw UPS definition buf and returns pointers to dynamically allocated memory in upsname and hostname. It also copies the port number into port.

FORMATTING

An UPS definition is specified according to this format:

    <upsname>[@<hostname>[:<port>]]

When the UPS name is not given, this function will print an error to stderr and return -1 without changing anything.

Definitions without an explicit port value receive the default value of 3493. The default hostname is "localhost".

MEMORY USAGE

You must free(3) the pointers to upsname and hostname when you are done with them to avoid memory leaks.

RETURN VALUE

The upscli_splitname() function returns 0 on success, or -1 if an error occurs.

SEE ALSO

upscli_fd(3), upscli_get(3), upscli_readline(3), upscli_sendline(3), upscli_splitaddr(3), upscli_ssl(3), upscli_strerror(3), upscli_upserror(3)