+
+void big_xattr_test(const char *mountpt)
+{
+ char name[100];
+ int h;
+ int result;
+ char val[1000];
+ char valread[1000];
+
+ yaffs_StartUp();
+
+ yaffs_mount(mountpt);
+
+ strcpy(name,mountpt);
+ strcat(name,"/");
+ strcat(name,"xfile");
+
+ yaffs_unlink(name);
+ h = yaffs_open(name,O_CREAT | O_TRUNC | O_RDWR, S_IREAD | S_IWRITE);
+ yaffs_close(h);
+
+ printf("Start\n");
+ list_xattr(name);
+
+ printf("Add a large attribute\n");
+ memset(val,0x1,sizeof(val));
+ result = yaffs_setxattr(name,"aaa",val,200,0);
+ printf("wrote attribute aaa: result %d\n",result);
+ list_xattr(name);
+
+ printf("Add a large attribute\n");
+ memset(val,0x2,sizeof(val));
+ result = yaffs_setxattr(name,"bbb",val,1000,0);
+ printf("wrote attribute bbb: result %d\n",result);
+ list_xattr(name);
+
+ printf("Replace attribute\n");
+ memset(val,0x3,sizeof(val));
+ result = yaffs_setxattr(name,"aaa",val,1000,0);
+ printf("wrote attribute aaa: result %d\n",result);
+ list_xattr(name);
+
+}