[gnome-chess] Simplify implementation of ChessEngine.write()
- From: Michael Catanzaro <mcatanzaro src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-chess] Simplify implementation of ChessEngine.write()
- Date: Wed, 8 Jan 2014 00:12:20 +0000 (UTC)
commit 0dd10d969b77019b4f2a1a43194547155842e014
Author: Michael Catanzaro <mcatanzaro gnome org>
Date: Tue Jan 7 18:10:36 2014 -0600
Simplify implementation of ChessEngine.write()
src/chess-engine.vala | 18 +++++-------------
1 files changed, 5 insertions(+), 13 deletions(-)
---
diff --git a/src/chess-engine.vala b/src/chess-engine.vala
index 842ddd2..c0911a5 100644
--- a/src/chess-engine.vala
+++ b/src/chess-engine.vala
@@ -153,21 +153,13 @@ public abstract class ChessEngine : Object
protected void write (char[] data)
{
size_t offset = 0;
- size_t n_written;
-
- while (offset < data.length)
- {
- /* Unnecessary copying but there seems to be a vala bug here */
- char[] d = new char[data.length - offset];
- for (int i = 0; i < data.length - offset; i++)
- d[i] = data[offset + i];
-
- n_written = Posix.write(stdin_fd, d, d.length);
- if (n_written < 0)
- return;
+ size_t n_written = 0;
+ do
+ {
+ n_written = Posix.write(stdin_fd, &data[offset], data.length - offset);
offset += n_written;
- }
+ } while (n_written > 0 && offset < data.length);
}
protected void write_line (string line)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]