* published by the Free Software Foundation.
*/
+/* yaffs will open a file without an error with the creation mode set to 255.*/
+
#include "test_yaffs_open_EINVAL2.h"
-static int handle=0;
-int test_yaffs_open_EINVAL2(void){
- int output=0;
- int error_code=0;
- /*printf("path %s\n",path); */
+static int handle = -1;
+
+int test_yaffs_open_EINVAL2(void)
+{
+
handle=yaffs_open(FILE_PATH, O_CREAT | O_RDWR ,255);
- if (handle==-1){
- error_code=yaffs_get_error();
- //printf("EEXIST def %d, Error code %d\n",(- EEXIST),error_code);
- if (abs(error_code)== EINVAL){
- return 1;
- }
- else {
- printf("different error than expected\n");
- return -1;
- }
- }
- else {
- printf(" file opened with bad mode.(which is a bad thing)\n");
+
+ /* yaffs_open does not check the modes passed into it. This means that the file should open */
+ if (handle < 0){
+ print_message("file not opened with bad creation mode set (which is a bad thing)\n",2);
return -1;
+ } else {
+ /* file opened */
+ return 1;
}
- /* the program should not get here but the compiler is complaining */
- return -1;
}
-int test_yaffs_open_EINVAL2_clean(void){
- if (handle >=0){
+
+int test_yaffs_open_EINVAL2_clean(void)
+{
+ if (handle >= 0){
return yaffs_close(handle);
- }
- else {
+ } else {
return 1; /* the file failed to open so there is no need to close it*/
}
}