upscli_splitname \- split a UPS definition into its components
.SH"SYNOPSIS"
.sp
.nf
#include <upsclient\&.h>
.fi
.sp
.nf
int upscli_splitname(const char *buf, char **upsname,
char **hostname, int *port)
.fi
.SH"DESCRIPTION"
.sp
The \fBupscli_splitname()\fR function takes a pointer to the raw UPS definition \fIbuf\fR and returns pointers to dynamically allocated memory in \fIupsname\fR and \fIhostname\fR\&. It also copies the port number into \fIport\fR\&.
.SH"FORMATTING"
.sp
A UPS definition is specified according to this format:
.sp
.ifn\{\
.RS4
.\}
.nf
<upsname>[@<hostname>[:<port>]]
.fi
.ifn\{\
.RE
.\}
.sp
When the UPS name is not given, this function will print an error to stderr and return \-1 without changing anything\&.
.sp
Definitions without an explicit port value receive the default value of 3493\&. The default hostname is "localhost"\&.
.SH"MEMORY USAGE"
.sp
You must \fBfree\fR(3) the pointers to \fIupsname\fR and \fIhostname\fR when you are done with them to avoid memory leaks\&.
.SH"RETURN VALUE"
.sp
The \fBupscli_splitname()\fR function returns 0 on success, or \-1 if an error occurs\&.