DEADSOFTWARE

FD_ZERO
authorAlexander Shiryaev <aixp@mail.ru>
Thu, 15 Nov 2012 08:11:50 +0000 (12:11 +0400)
committerAlexander Shiryaev <aixp@mail.ru>
Thu, 15 Nov 2012 08:11:50 +0000 (12:11 +0400)
Trurl-based/_Linux_/Comm/Mod/TCP.odc
Trurl-based/_Linux_/Lin/Mod/Net.txt
Trurl-based/_Linux_/Lin/Mod/Termios.txt
Trurl-based/_Linux_/Lin/Mod/gen-Net/Net.txt.templ
Trurl-based/_Linux_/Lin/Mod/gen-Termios/Termios.txt.templ
Trurl-based/_OpenBSD_/Comm/Mod/TCP.odc
Trurl-based/_OpenBSD_/Lin/Mod/Net.txt
Trurl-based/_OpenBSD_/Lin/Mod/Termios.txt
Trurl-based/_OpenBSD_/Lin/Mod/gen-Net/Net.txt.templ
Trurl-based/_OpenBSD_/Lin/Mod/gen-Termios/Termios.txt.templ

index 770b4456fbf8596442f37db38aaafbfc6202d80b..f904fc2985d0824aa262aec5f97fa86f6b7682db 100644 (file)
Binary files a/Trurl-based/_Linux_/Comm/Mod/TCP.odc and b/Trurl-based/_Linux_/Comm/Mod/TCP.odc differ
index 5636fe77c691fc51036eed8fac42ac634af04d52..738f28a6fbb3e6e1438e1be7ed08f3d664870bbb 100644 (file)
@@ -149,7 +149,6 @@ MODULE LinNet ["libc.so.6"];
 
                (* /usr/include/i386-linux-gnu/bits/typesizes.h *)
                        __FD_SETSIZE = 1024;
-                       __NFDBITS = SIZE(SET) * 8;
 
        TYPE
                SOCKET* = INTEGER;
@@ -215,7 +214,7 @@ MODULE LinNet ["libc.so.6"];
 
                (* /usr/include/i386-linux-gnu/sys/select.h *)
                        __fd_mask = SET;
-                       fd_set* = ARRAY [untagged] __FD_SETSIZE DIV __NFDBITS OF __fd_mask;
+                       fd_set* = ARRAY [untagged] __FD_SETSIZE DIV (SIZE(__fd_mask) * 8) OF __fd_mask;
 
        VAR
                h_errno*: INTEGER;
@@ -244,7 +243,7 @@ MODULE LinNet ["libc.so.6"];
        PROCEDURE FD_ZERO (VAR set: Net.fd_set);
                VAR i: INTEGER;
        BEGIN
-               i := 0; WHILE i < LEN(set) DO set[i] := {}; INC(i) END
+               i := LEN(set); REPEAT DEC(i); set[i] := {} UNTIL i = 0
        END FD_ZERO;
 
        PROCEDURE FD_SET (fd: Net.SOCKET; VAR set: Net.fd_set);
index 8e07bf3d55432993479fb31467c856e977b07846..f682c36d0dad74d263cf5b0034d10f1543c2320f 100644 (file)
@@ -133,16 +133,16 @@ MODULE LinTermios ["libc.so.6"];
                END;
 
        (* POSIX.1 *)
-       PROCEDURE [ccall] cfgetispeed* (VAR tp: termios): speed_t;
-       PROCEDURE [ccall] cfsetispeed* (VAR tp: termios; ispeed: speed_t): INTEGER;
-       PROCEDURE [ccall] cfgetospeed* (VAR tp: termios): speed_t;
-       PROCEDURE [ccall] cfsetospeed* (VAR tp: termios; ospeed: speed_t): INTEGER;
-       PROCEDURE [ccall] tcgetattr* (fd: INTEGER; VAR tp: termios): INTEGER;
-       PROCEDURE [ccall] tcsetattr* (fd: INTEGER; action: INTEGER; VAR tp: termios): INTEGER;
+               PROCEDURE [ccall] cfgetispeed* (VAR tp: termios): speed_t;
+               PROCEDURE [ccall] cfsetispeed* (VAR tp: termios; ispeed: speed_t): INTEGER;
+               PROCEDURE [ccall] cfgetospeed* (VAR tp: termios): speed_t;
+               PROCEDURE [ccall] cfsetospeed* (VAR tp: termios; ospeed: speed_t): INTEGER;
+               PROCEDURE [ccall] tcgetattr* (fd: INTEGER; VAR tp: termios): INTEGER;
+               PROCEDURE [ccall] tcsetattr* (fd: INTEGER; action: INTEGER; VAR tp: termios): INTEGER;
 
-       PROCEDURE [ccall] tcdrain* (fd: INTEGER): INTEGER;
-       PROCEDURE [ccall] tcflow* (fd: INTEGER; action: INTEGER): INTEGER;
-       PROCEDURE [ccall] tcflush* (fd: INTEGER; action: INTEGER): INTEGER;
-       PROCEDURE [ccall] tcsendbreak* (fd: INTEGER; len: INTEGER): INTEGER;
+               PROCEDURE [ccall] tcdrain* (fd: INTEGER): INTEGER;
+               PROCEDURE [ccall] tcflow* (fd: INTEGER; action: INTEGER): INTEGER;
+               PROCEDURE [ccall] tcflush* (fd: INTEGER; action: INTEGER): INTEGER;
+               PROCEDURE [ccall] tcsendbreak* (fd: INTEGER; len: INTEGER): INTEGER;
 
 END LinTermios.
index ea54461b935d087ce5e0c5526458a7406bde0f44..756fa5e45b9a12dda5dfbaa9ff5daa8aa6c075c9 100644 (file)
@@ -31,7 +31,6 @@ MODULE LinNet ["libc.so.6"];
 %%defs-netdb%%
                (* /usr/include/i386-linux-gnu/bits/typesizes.h *)
                        __FD_SETSIZE = 1024;
-                       __NFDBITS = SIZE(SET) * 8;
 
        TYPE
                SOCKET* = INTEGER;
@@ -97,7 +96,7 @@ MODULE LinNet ["libc.so.6"];
 
                (* /usr/include/i386-linux-gnu/sys/select.h *)
                        __fd_mask = SET;
-                       fd_set* = ARRAY [untagged] __FD_SETSIZE DIV __NFDBITS OF __fd_mask;
+                       fd_set* = ARRAY [untagged] __FD_SETSIZE DIV (SIZE(__fd_mask) * 8) OF __fd_mask;
 
        VAR
                h_errno*: INTEGER;
@@ -126,7 +125,7 @@ MODULE LinNet ["libc.so.6"];
        PROCEDURE FD_ZERO (VAR set: Net.fd_set);
                VAR i: INTEGER;
        BEGIN
-               i := 0; WHILE i < LEN(set) DO set[i] := {}; INC(i) END
+               i := LEN(set); REPEAT DEC(i); set[i] := {} UNTIL i = 0
        END FD_ZERO;
 
        PROCEDURE FD_SET (fd: Net.SOCKET; VAR set: Net.fd_set);
index 5f5f06d1b51e776ada5a4e2513f8ffca7c452fee..561461a299ba1c272d69be046302b1f2e3c32d3d 100644 (file)
@@ -25,16 +25,16 @@ MODULE LinTermios ["libc.so.6"];
                END;
 
        (* POSIX.1 *)
-       PROCEDURE [ccall] cfgetispeed* (VAR tp: termios): speed_t;
-       PROCEDURE [ccall] cfsetispeed* (VAR tp: termios; ispeed: speed_t): INTEGER;
-       PROCEDURE [ccall] cfgetospeed* (VAR tp: termios): speed_t;
-       PROCEDURE [ccall] cfsetospeed* (VAR tp: termios; ospeed: speed_t): INTEGER;
-       PROCEDURE [ccall] tcgetattr* (fd: INTEGER; VAR tp: termios): INTEGER;
-       PROCEDURE [ccall] tcsetattr* (fd: INTEGER; action: INTEGER; VAR tp: termios): INTEGER;
+               PROCEDURE [ccall] cfgetispeed* (VAR tp: termios): speed_t;
+               PROCEDURE [ccall] cfsetispeed* (VAR tp: termios; ispeed: speed_t): INTEGER;
+               PROCEDURE [ccall] cfgetospeed* (VAR tp: termios): speed_t;
+               PROCEDURE [ccall] cfsetospeed* (VAR tp: termios; ospeed: speed_t): INTEGER;
+               PROCEDURE [ccall] tcgetattr* (fd: INTEGER; VAR tp: termios): INTEGER;
+               PROCEDURE [ccall] tcsetattr* (fd: INTEGER; action: INTEGER; VAR tp: termios): INTEGER;
 
-       PROCEDURE [ccall] tcdrain* (fd: INTEGER): INTEGER;
-       PROCEDURE [ccall] tcflow* (fd: INTEGER; action: INTEGER): INTEGER;
-       PROCEDURE [ccall] tcflush* (fd: INTEGER; action: INTEGER): INTEGER;
-       PROCEDURE [ccall] tcsendbreak* (fd: INTEGER; len: INTEGER): INTEGER;
+               PROCEDURE [ccall] tcdrain* (fd: INTEGER): INTEGER;
+               PROCEDURE [ccall] tcflow* (fd: INTEGER; action: INTEGER): INTEGER;
+               PROCEDURE [ccall] tcflush* (fd: INTEGER; action: INTEGER): INTEGER;
+               PROCEDURE [ccall] tcsendbreak* (fd: INTEGER; len: INTEGER): INTEGER;
 
 END LinTermios.
index a281fd8430537097759eb06702135c79ca112607..0e430cf9d9fca72011d81753222ba465da515a7d 100644 (file)
Binary files a/Trurl-based/_OpenBSD_/Comm/Mod/TCP.odc and b/Trurl-based/_OpenBSD_/Comm/Mod/TCP.odc differ
index 7c5df4e81ac6b749d9ab77d7872c7987b67da2ef..95c7e4c4f7726adcdab5c1708e39e7d6cf99a0f3 100644 (file)
@@ -257,7 +257,7 @@ MODULE LinNet ["libc.so.66.0"];
        PROCEDURE FD_ZERO (VAR set: Net.fd_set);
                VAR i: INTEGER;
        BEGIN
-               i := 0; WHILE i < LEN(set) DO set[i] := {}; INC(i) END
+               i := LEN(set); REPEAT DEC(i); set[i] := {} UNTIL i = 0
        END FD_ZERO;
 
        PROCEDURE FD_SET (fd: Net.SOCKET; VAR set: Net.fd_set);
index 459b6b605183f5e85227bb8a250c8a8e8d60c985..159fe770a9d7184bfdb7e313b7d6e7808947ee6f 100644 (file)
@@ -133,22 +133,22 @@ MODULE LinTermios ["libc.so.66.0"];
                END;
 
        (* POSIX.1 *)
-       PROCEDURE [ccall] cfgetispeed* (VAR tp: termios): speed_t;
-       PROCEDURE [ccall] cfsetispeed* (VAR tp: termios; ispeed: speed_t): INTEGER;
-       PROCEDURE [ccall] cfgetospeed* (VAR tp: termios): speed_t;
-       PROCEDURE [ccall] cfsetospeed* (VAR tp: termios; ospeed: speed_t): INTEGER;
-       PROCEDURE [ccall] tcgetattr* (fd: INTEGER; VAR tp: termios): INTEGER;
-       PROCEDURE [ccall] tcsetattr* (fd: INTEGER; action: INTEGER; VAR tp: termios): INTEGER;
+               PROCEDURE [ccall] cfgetispeed* (VAR tp: termios): speed_t;
+               PROCEDURE [ccall] cfsetispeed* (VAR tp: termios; ispeed: speed_t): INTEGER;
+               PROCEDURE [ccall] cfgetospeed* (VAR tp: termios): speed_t;
+               PROCEDURE [ccall] cfsetospeed* (VAR tp: termios; ospeed: speed_t): INTEGER;
+               PROCEDURE [ccall] tcgetattr* (fd: INTEGER; VAR tp: termios): INTEGER;
+               PROCEDURE [ccall] tcsetattr* (fd: INTEGER; action: INTEGER; VAR tp: termios): INTEGER;
 
-       PROCEDURE [ccall] tcdrain* (fd: INTEGER): INTEGER;
-       PROCEDURE [ccall] tcflow* (fd: INTEGER; action: INTEGER): INTEGER;
-       PROCEDURE [ccall] tcflush* (fd: INTEGER; action: INTEGER): INTEGER;
-       PROCEDURE [ccall] tcsendbreak* (fd: INTEGER; len: INTEGER): INTEGER;
+               PROCEDURE [ccall] tcdrain* (fd: INTEGER): INTEGER;
+               PROCEDURE [ccall] tcflow* (fd: INTEGER; action: INTEGER): INTEGER;
+               PROCEDURE [ccall] tcflush* (fd: INTEGER; action: INTEGER): INTEGER;
+               PROCEDURE [ccall] tcsendbreak* (fd: INTEGER; len: INTEGER): INTEGER;
 
        (* extensions *)
 (*
-       PROCEDURE [ccall] cfsetspeed* (VAR tp: termios; speed: speed_t): INTEGER;
-       PROCEDURE [ccall] cfmakeraw* (VAR tp: termios);
+               PROCEDURE [ccall] cfsetspeed* (VAR tp: termios; speed: speed_t): INTEGER;
+               PROCEDURE [ccall] cfmakeraw* (VAR tp: termios);
 *)
 
 END LinTermios.
index 6d16b28192a65b6379c31bc29c840c701f2547b8..0be10b654d043b7fe4bf326300505959a164d1bc 100644 (file)
@@ -127,7 +127,7 @@ MODULE LinNet ["libc.so.66.0"];
        PROCEDURE FD_ZERO (VAR set: Net.fd_set);
                VAR i: INTEGER;
        BEGIN
-               i := 0; WHILE i < LEN(set) DO set[i] := {}; INC(i) END
+               i := LEN(set); REPEAT DEC(i); set[i] := {} UNTIL i = 0
        END FD_ZERO;
 
        PROCEDURE FD_SET (fd: Net.SOCKET; VAR set: Net.fd_set);
index ebb67e8d136d67589f58017a01898870b0c37c43..81760c58193ee870eda19376190bf3cd491e7cce 100644 (file)
@@ -24,22 +24,22 @@ MODULE LinTermios ["libc.so.66.0"];
                END;
 
        (* POSIX.1 *)
-       PROCEDURE [ccall] cfgetispeed* (VAR tp: termios): speed_t;
-       PROCEDURE [ccall] cfsetispeed* (VAR tp: termios; ispeed: speed_t): INTEGER;
-       PROCEDURE [ccall] cfgetospeed* (VAR tp: termios): speed_t;
-       PROCEDURE [ccall] cfsetospeed* (VAR tp: termios; ospeed: speed_t): INTEGER;
-       PROCEDURE [ccall] tcgetattr* (fd: INTEGER; VAR tp: termios): INTEGER;
-       PROCEDURE [ccall] tcsetattr* (fd: INTEGER; action: INTEGER; VAR tp: termios): INTEGER;
+               PROCEDURE [ccall] cfgetispeed* (VAR tp: termios): speed_t;
+               PROCEDURE [ccall] cfsetispeed* (VAR tp: termios; ispeed: speed_t): INTEGER;
+               PROCEDURE [ccall] cfgetospeed* (VAR tp: termios): speed_t;
+               PROCEDURE [ccall] cfsetospeed* (VAR tp: termios; ospeed: speed_t): INTEGER;
+               PROCEDURE [ccall] tcgetattr* (fd: INTEGER; VAR tp: termios): INTEGER;
+               PROCEDURE [ccall] tcsetattr* (fd: INTEGER; action: INTEGER; VAR tp: termios): INTEGER;
 
-       PROCEDURE [ccall] tcdrain* (fd: INTEGER): INTEGER;
-       PROCEDURE [ccall] tcflow* (fd: INTEGER; action: INTEGER): INTEGER;
-       PROCEDURE [ccall] tcflush* (fd: INTEGER; action: INTEGER): INTEGER;
-       PROCEDURE [ccall] tcsendbreak* (fd: INTEGER; len: INTEGER): INTEGER;
+               PROCEDURE [ccall] tcdrain* (fd: INTEGER): INTEGER;
+               PROCEDURE [ccall] tcflow* (fd: INTEGER; action: INTEGER): INTEGER;
+               PROCEDURE [ccall] tcflush* (fd: INTEGER; action: INTEGER): INTEGER;
+               PROCEDURE [ccall] tcsendbreak* (fd: INTEGER; len: INTEGER): INTEGER;
 
        (* extensions *)
 (*
-       PROCEDURE [ccall] cfsetspeed* (VAR tp: termios; speed: speed_t): INTEGER;
-       PROCEDURE [ccall] cfmakeraw* (VAR tp: termios);
+               PROCEDURE [ccall] cfsetspeed* (VAR tp: termios; speed: speed_t): INTEGER;
+               PROCEDURE [ccall] cfmakeraw* (VAR tp: termios);
 *)
 
 END LinTermios.