package yaffs2.utils;
import yaffs2.utils.*;
/**
* These methods should not be used if you want to avoid garbage collection.
*
*/
public abstract class EmulationUtils
{
/**
*
* @param array String, terminated with 0.
* @param index
* @return
*/
public static String byteArrayToString(byte[] array, int index)
{
int length = Unix.strlen(array, index);
StringBuffer result = new StringBuffer(length);
result.setLength(length);
for (int i = 0; i < length; i++)
result.setCharAt(i, (char)(array[index+i] & 0xff));
return result.toString();
}
/**
* XXX No terminating 0 is appended.
* @param string
* @param array
* @param offset
* @return
*/
public static int StringToByteArraySafe(String string, byte[] array, int offset)
{
for (int i = 0; i < string.length() && offset+i < array.length; i++)
array[offset+i] = (byte)string.charAt(i);
return Math.min(offset+string.length(), array.length-1);
}
}