|
|
|
.TH scan_uuencoded 3
|
|
|
|
.SH NAME
|
|
|
|
scan_uuencoded \- decode uuencoded data
|
|
|
|
.SH SYNTAX
|
|
|
|
.B #include <libowfat/textcode.h>
|
|
|
|
|
|
|
|
size_t \fBscan_uuencoded\fP(const char *\fIsrc\fR,char *\fIdest\fR,size_t* \fIdestlen\fR);
|
|
|
|
|
|
|
|
.SH DESCRIPTION
|
|
|
|
scan_uuencoded decodes uuencoded data from src into dest.
|
|
|
|
It will stop when it encounters any non-valid input characters.
|
|
|
|
It will then write the number of decoded bytes in dest into *destlen,
|
|
|
|
and return the number of bytes decoded from src.
|
|
|
|
|
|
|
|
Note that real world uuencoded data is sometimes permitted to
|
|
|
|
contain whitespace characters or new lines. This function will not allow
|
|
|
|
those and return the decoded data until then.
|
|
|
|
|
|
|
|
uudecoding works on lines, and the first byte in each line contains the
|
|
|
|
length of the line (encoded). scan_uuencoded expects one such line as
|
|
|
|
input, and it will decode all the bytes in it.
|
|
|
|
|
|
|
|
uuencoded data can contain bytes from 0x21 to 0x96, which means it is
|
|
|
|
not "string safe" (can contain single and double quotes and backslash).
|
|
|
|
|
|
|
|
dest can be NULL. destlen can be NULL.
|
|
|
|
|
|
|
|
.SH "RETURN VALUE"
|
|
|
|
scan_uuencoded returns the number of bytes successfully scanned and
|
|
|
|
processed from src.
|
|
|
|
|
|
|
|
.SH EXAMPLES
|
|
|
|
scan_uuencoded("&9FYO<F0*",buf,&i) -> return 9, i=5, buf="fnord"
|
|
|
|
|
|
|
|
.SH "SEE ALSO"
|
|
|
|
scan_xlong(3), scan_8long(3), fmt_ulong(3)
|