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 linkmanext: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
--------

linkman:upscli_fd[3], linkman:upscli_get[3],
linkman:upscli_readline[3], linkman:upscli_sendline[3],
linkman:upscli_splitaddr[3], linkman:upscli_ssl[3],
linkman:upscli_strerror[3], linkman:upscli_upserror[3]
