[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Lost] [Patch] vterm - EOF



! vterm: EOF wird jetzt nicht mehr gesetzt
+ libc: LostIO-Flag LOSTIO_FLAG_NOAUTOEOF

Dieser Patch verhindert, dass LostIO in vterm beim öffnen EOF setzt, wenn der 
node eine Grösse von 0 hat.
Index: trunk/src/modules/include/lostio.h
===================================================================
--- trunk.orig/src/modules/include/lostio.h
+++ trunk/src/modules/include/lostio.h
@@ -55,6 +55,8 @@
 #define LOSTIO_FLAG_BROWSABLE 0x20000
 ///Der Knoten ist ein Symlink.
 #define LOSTIO_FLAG_SYMLINK 0x40000
+/// EOF nicht automatisch setzen wenn beim Oeffnen die Groesse 0 ist
+#define LOSTIO_FLAG_NOAUTOEOF 0x80000
 
 /*#define LOSTIO_MODE_READ 0x1
 #define LOSTIO_MODE_WRITE 0x2
Index: trunk/src/modules/lib/lostio/handler.c
===================================================================
--- trunk.orig/src/modules/lib/lostio/handler.c
+++ trunk/src/modules/lib/lostio/handler.c
@@ -570,7 +570,7 @@ static lostio_filehandle_t* lostio_open(
     
     // Wenn der Knoten eine Groesse von 0 hat, muss schon das EOF-Flag gesetzt
     // werden.
-    if (node->size == 0) {
+    if ((node->size == 0) && ((node->flags & LOSTIO_FLAG_NOAUTOEOF) == 0)) {
         handle->flags |= LOSTIO_FLAG_EOF;
     }
 
Index: trunk/src/modules/vterm/term.c
===================================================================
--- trunk.orig/src/modules/vterm/term.c
+++ trunk/src/modules/vterm/term.c
@@ -104,7 +104,8 @@ vterminal_t* vterm_create(char shortcut)
         LOSTIO_FLAG_BROWSABLE);
     // In-Node
     memcpy(path + name_len + 1, "/in", 4);
-    vfstree_create_node(path, LOSTIO_TYPES_IN, 0, vterm, 0);
+    vfstree_create_node(path, LOSTIO_TYPES_IN, 0, vterm,
+        LOSTIO_FLAG_NOAUTOEOF);
     vterm->in_node = vfstree_get_node_by_path(path);
 
     // Out-Node

Attachment: signature.asc
Description: This is a digitally signed message part.