Skip to content

Commit 30ed039

Browse files
committed
[[ Bug 13797 ]] Removed 'ExecutableWrite' open mode as it shouldn't be needed.
1 parent 28bc16d commit 30ed039

6 files changed

Lines changed: 15 additions & 37 deletions

File tree

engine/src/dsklnx.cpp

Lines changed: 13 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1712,33 +1712,20 @@ class MCLinuxDesktop: public MCSystemInterface
17121712
}
17131713

17141714
FILE *t_fptr;
1715-
// [[ Bug 12192 ]] We want to create an executable file on Linux
1716-
// when calling OpenFile from MCS_save(binary|text)file
1717-
if (p_mode == kMCOpenFileModeExecutableWrite)
1718-
{
1719-
int t_fd = open(*t_path_sys, O_CREAT | O_TRUNC | O_WRONLY, 0777);
1720-
if (t_fd != -1)
1721-
t_fptr = fdopen(t_fd, "w");
1722-
else
1723-
t_fptr = NULL;
1724-
}
1725-
else
1726-
{
1727-
const char *t_mode;
1728-
if (p_mode == kMCOpenFileModeRead)
1729-
t_mode = IO_READ_MODE;
1730-
else if (p_mode == kMCOpenFileModeWrite)
1731-
t_mode = IO_WRITE_MODE;
1732-
else if (p_mode == kMCOpenFileModeUpdate)
1733-
t_mode = IO_UPDATE_MODE;
1734-
else if (p_mode == kMCOpenFileModeAppend)
1735-
t_mode = IO_APPEND_MODE;
1715+
const char *t_mode;
1716+
if (p_mode == kMCOpenFileModeRead)
1717+
t_mode = IO_READ_MODE;
1718+
else if (p_mode == kMCOpenFileModeWrite)
1719+
t_mode = IO_WRITE_MODE;
1720+
else if (p_mode == kMCOpenFileModeUpdate)
1721+
t_mode = IO_UPDATE_MODE;
1722+
else if (p_mode == kMCOpenFileModeAppend)
1723+
t_mode = IO_APPEND_MODE;
17361724

1737-
t_fptr = fopen(*t_path_sys, t_mode);
1725+
t_fptr = fopen(*t_path_sys, t_mode);
17381726

1739-
if (t_fptr == NULL && p_mode != kMCOpenFileModeRead)
1740-
t_fptr = fopen(*t_path_sys, IO_CREATE_MODE);
1741-
}
1727+
if (t_fptr == NULL && p_mode != kMCOpenFileModeRead)
1728+
t_fptr = fopen(*t_path_sys, IO_CREATE_MODE);
17421729

17431730
if (t_fptr != NULL)
17441731
{
@@ -1759,7 +1746,6 @@ class MCLinuxDesktop: public MCSystemInterface
17591746
t_fptr = fdopen(p_fd, IO_READ_MODE);
17601747
break;
17611748
case kMCOpenFileModeWrite:
1762-
case kMCOpenFileModeExecutableWrite:
17631749
t_fptr = fdopen(p_fd, IO_WRITE_MODE);
17641750
break;
17651751
case kMCOpenFileModeUpdate:
@@ -1786,7 +1772,7 @@ class MCLinuxDesktop: public MCSystemInterface
17861772

17871773
if (p_mode == kMCOpenFileModeRead)
17881774
t_fptr = fopen(*t_path_sys, IO_READ_MODE);
1789-
else if (p_mode == kMCOpenFileModeWrite || p_mode == kMCOpenFileModeExecutableWrite)
1775+
else if (p_mode == kMCOpenFileModeWrite)
17901776
t_fptr = fopen(*t_path_sys, IO_WRITE_MODE);
17911777
else if (p_mode == kMCOpenFileModeUpdate)
17921778
t_fptr = fopen(*t_path_sys, IO_UPDATE_MODE);

engine/src/dskmac.cpp

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6570,7 +6570,6 @@ struct MCMacDesktop: public MCSystemInterface, public MCMacSystemService
65706570
fptr = fopen(*t_path_utf, IO_APPEND_MODE);
65716571
break;
65726572
case kMCOpenFileModeWrite:
6573-
case kMCOpenFileModeExecutableWrite:
65746573
fptr = fopen(*t_path_utf, IO_WRITE_MODE);
65756574
break;
65766575
default:
@@ -6621,7 +6620,6 @@ struct MCMacDesktop: public MCSystemInterface, public MCMacSystemService
66216620
t_stream = fdopen(p_fd, IO_UPDATE_MODE);
66226621
break;
66236622
case kMCOpenFileModeWrite:
6624-
case kMCOpenFileModeExecutableWrite:
66256623
t_stream = fdopen(p_fd, IO_WRITE_MODE);
66266624
break;
66276625
default:
@@ -6632,7 +6630,7 @@ struct MCMacDesktop: public MCSystemInterface, public MCMacSystemService
66326630
return NULL;
66336631

66346632
// MH-2007-05-17: [[Bug 3196]] Opening the write pipe to a process should not be buffered.
6635-
if (p_mode == kMCOpenFileModeWrite || p_mode == kMCOpenFileModeExecutableWrite)
6633+
if (p_mode == kMCOpenFileModeWrite)
66366634
setvbuf(t_stream, NULL, _IONBF, 0);
66376635

66386636
IO_handle t_handle;
@@ -6667,7 +6665,6 @@ struct MCMacDesktop: public MCSystemInterface, public MCMacSystemService
66676665
fptr = fopen(*t_path_utf, IO_UPDATE_MODE);
66686666
break;
66696667
case kMCOpenFileModeWrite:
6670-
case kMCOpenFileModeExecutableWrite:
66716668
fptr = fopen(*t_path_utf, IO_WRITE_MODE);
66726669
break;
66736670
default:

engine/src/dskw32.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3080,7 +3080,7 @@ struct MCWindowsDesktop: public MCSystemInterface, public MCWindowsSystemService
30803080
omode = GENERIC_READ;
30813081
createmode = OPEN_EXISTING;
30823082
}
3083-
if (p_mode== kMCOpenFileModeWrite || p_mode == kMCOpenFileModeExecutableWrite || p_mode == kMCOpenFileModeCreate)
3083+
if (p_mode== kMCOpenFileModeWrite || p_mode == kMCOpenFileModeCreate)
30843084
{
30853085
omode = GENERIC_WRITE;
30863086
createmode = CREATE_ALWAYS;

engine/src/mblandroidio.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,6 @@ IO_handle MCAndroidSystem::OpenFile(MCStringRef p_path, intenum_t p_mode, Boolea
258258
t_mode = 0;
259259
break;
260260
case kMCOpenFileModeWrite:
261-
case kMCOpenFileModeExecutableWrite:
262261
t_mode = 1;
263262
break;
264263
case kMCOpenFileModeUpdate:

engine/src/mbliphone.mm

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -599,7 +599,6 @@ virtual int64_t GetFileSize(void)
599599
t_mode = 0;
600600
break;
601601
case kMCOpenFileModeWrite:
602-
case kMCOpenFileModeExecutableWrite:
603602
t_mode = 1;
604603
break;
605604
case kMCOpenFileModeUpdate:

engine/src/mcio.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,6 @@ enum MCOpenFileMode
5454
kMCOpenFileModeUpdate,
5555
kMCOpenFileModeAppend,
5656
kMCOpenFileModeCreate,
57-
// [[ Bug 12192 ]] Need a specific mode for Linux, to enable the creation
58-
// of an executable file from MCS_save(text|binary)file instead of 0664 permission
59-
kMCOpenFileModeExecutableWrite
6057
};
6158

6259
enum MCFileEncodingType

0 commit comments

Comments
 (0)