memcpy(&size, xb, sizeof(int));
while (size > 0 && (size < xb_size) && (pos + size < xb_size)) {
- if (!strncmp((YCHAR *) (xb + pos + sizeof(int)), name, size)) {
+ if (!yaffs_strncmp((YCHAR *) (xb + pos + sizeof(int)), name, size)) {
if (exist_size)
*exist_size = size;
return pos;
int bsize, int flags)
{
int pos;
- int namelen = strnlen(name, xb_size);
+ int namelen = yaffs_strnlen(name, xb_size);
int reclen;
int size_exist = 0;
int space;
memcpy(xb + pos, &reclen, sizeof(int));
pos += sizeof(int);
- strncpy((YCHAR *) (xb + pos), name, reclen);
+ yaffs_strncpy((YCHAR *) (xb + pos), name, reclen);
pos += (namelen + 1);
memcpy(xb + pos, buf, bsize);
return 0;
pos++;
size--;
+ /* If bsize is zero then this is a size query.
+ * Return the size, but don't copy.
+ */
+ if (!bsize)
+ return size;
+
if (size <= bsize) {
memcpy(buf, xb + pos, size);
return size;
!filled) {
pos += sizeof(int);
size -= sizeof(int);
- name_len = strnlen((YCHAR *) (xb + pos), size);
+ name_len = yaffs_strnlen((YCHAR *) (xb + pos), size);
if (ncopied + name_len + 1 < bsize) {
memcpy(buf, xb + pos, name_len * sizeof(YCHAR));
buf += name_len;