# 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)