Skip to content

Commit 1409597

Browse files
1 parent 0adf498 commit 1409597

File tree

1 file changed

+15
-54
lines changed

1 file changed

+15
-54
lines changed

dotnet/src/dotnetframework/GxClasses/Domain/GXFileIO.cs

Lines changed: 15 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1450,36 +1450,16 @@ public void OpenWrite(string encoding)
14501450
_lastErrorDescription = "";
14511451
if (validSource())
14521452
{
1453-
int attempts = 0;
1454-
bool opened = false;
1455-
while (!opened && attempts < 3)
1453+
try
14561454
{
14571455
#pragma warning disable SCS0018 // Path traversal: injection possible in {1} argument passed to '{0}'
1458-
try
1459-
{
1460-
_fileStreamWriter = new FileStream(_file.FullName,
1461-
FileMode.Append | FileMode.OpenOrCreate,
1462-
FileAccess.Write,
1463-
FileShare.Read);
1464-
_fileWriter = new StreamWriter(_fileStreamWriter, GXUtil.GxIanaToNetEncoding(encoding, false));
1465-
opened = true;
1466-
}
1467-
catch (IOException ex)
1468-
{
1469-
attempts++;
1470-
if (attempts >= 3)
1471-
{
1472-
setError(ex);
1473-
break;
1474-
}
1475-
System.Threading.Thread.Sleep(2000);
1476-
}
1477-
catch (Exception e)
1478-
{
1479-
setError(e);
1480-
break;
1481-
}
1456+
_fileStreamWriter = new FileStream(_file.FullName, FileMode.Append | FileMode.OpenOrCreate, FileAccess.Write, FileShare.Read);
14821457
#pragma warning restore SCS0018 // Path traversal: injection possible in {1} argument passed to '{0}'
1458+
_fileWriter = new StreamWriter(_fileStreamWriter, GXUtil.GxIanaToNetEncoding(encoding, false));
1459+
}
1460+
catch (Exception e)
1461+
{
1462+
setError(e);
14831463
}
14841464
}
14851465
}
@@ -1490,40 +1470,21 @@ public void OpenRead(string encoding)
14901470
_lastErrorDescription = "";
14911471
if (validSource())
14921472
{
1493-
int attempts = 0;
1494-
bool opened = false;
1495-
while (!opened && attempts < 3)
1473+
try
14961474
{
14971475
#pragma warning disable SCS0018 // Path traversal: injection possible in {1} argument passed to '{0}'
1498-
try
1499-
{
1500-
_fileStreamReader = new FileStream(_file.FullName,
1501-
FileMode.Open,
1502-
FileAccess.Read,
1503-
FileShare.ReadWrite);
1504-
_fileReader = new StreamReader(_fileStreamReader, GXUtil.GxIanaToNetEncoding(encoding, false));
1505-
opened = true;
1506-
}
1507-
catch (IOException ex)
1508-
{
1509-
attempts++;
1510-
if (attempts >= 3)
1511-
{
1512-
setError(ex);
1513-
break;
1514-
}
1515-
System.Threading.Thread.Sleep(2000);
1516-
}
1517-
catch (Exception e)
1518-
{
1519-
setError(e);
1520-
break;
1521-
}
1476+
_fileStreamReader = new FileStream(_file.FullName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
15221477
#pragma warning restore SCS0018 // Path traversal: injection possible in {1} argument passed to '{0}'
1478+
_fileReader = new StreamReader(_fileStreamReader, GXUtil.GxIanaToNetEncoding(encoding, false));
1479+
}
1480+
catch (Exception e)
1481+
{
1482+
setError(e);
15231483
}
15241484
}
15251485
}
15261486

1487+
15271488
public void WriteLine(String value)
15281489
{
15291490
_lastError = 0;

0 commit comments

Comments
 (0)