/*
Copyright Â© 2022 uscan team

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package utils

const (
	FullLen = 0xFF
)

func WrapLen(data []byte) []byte {
	var bl byte
	l := len(data)

	if l > FullLen {
		bl = FullLen
	} else {
		bl = byte(l)
	}

	ds := make([]byte, l+1)
	ds[0] = bl
	copy(ds[1:], data)
	return ds
}
