projects
/
yaffs2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add missing definition for yaffs_strcmp
[yaffs2.git]
/
yaffs_nameval.c
diff --git
a/yaffs_nameval.c
b/yaffs_nameval.c
index e75411be9fb7dfef4e3f6866347a35cc88140881..b04ade5ba36cff55ecd09bc21ae23a8388ca7aac 100644
(file)
--- a/
yaffs_nameval.c
+++ b/
yaffs_nameval.c
@@
-37,7
+37,7
@@
static int nval_find(const char *xb, int xb_size, const YCHAR *name,
memcpy(&size, xb, sizeof(int));
while (size > 0 && (size < xb_size) && (pos + size < xb_size)) {
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;
if (exist_size)
*exist_size = size;
return pos;
@@
-89,7
+89,7
@@
int nval_set(char *xb, int xb_size, const YCHAR *name, const char *buf,
int bsize, int flags)
{
int 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;
int reclen;
int size_exist = 0;
int space;
@@
-119,7
+119,7
@@
int nval_set(char *xb, int xb_size, const YCHAR *name, const char *buf,
memcpy(xb + pos, &reclen, sizeof(int));
pos += sizeof(int);
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 += (namelen + 1);
memcpy(xb + pos, buf, bsize);
return 0;
@@
-146,6
+146,12
@@
int nval_get(const char *xb, int xb_size, const YCHAR * name, char *buf,
pos++;
size--;
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;
if (size <= bsize) {
memcpy(buf, xb + pos, size);
return size;
@@
-172,7
+178,7
@@
int nval_list(const char *xb, int xb_size, char *buf, int bsize)
!filled) {
pos += sizeof(int);
size -= sizeof(int);
!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;
if (ncopied + name_len + 1 < bsize) {
memcpy(buf, xb + pos, name_len * sizeof(YCHAR));
buf += name_len;