On Monday, 23 September 2019 at 12:31:16 UTC, Adam D. Ruppe wrote:
On Monday, 23 September 2019 at 06:06:05 UTC, Jarek wrote:
I have the same question. Where to find something similar to man pages from C?

They are the same functions, so the idea is you can just use the C man pages directly. There's just the pattern of the D module name to know.

but...

does it mean that I can't use seekdir() on systems with Musl? (Alpine linux)?

it is possibly just not copied in there, I'd say to just try it and see if it triggers the static assert down there.

the man page says

CONFORMING TO
       4.3BSD, POSIX.1-2001.

so it probably should work with the core.sys.posix header there, maybe it just isn't verified as to the type of the argument (the notes section warns it has changed, so the D devs are surely being extra cautious about which one it actually has in there, waiting for someone to verify it before putting in the file)

Hello,
thanks for reply.
This is my first dlang work:
import std.stdio;
import std.conv;
import core.sys.posix.dirent;

int main(string[] args)
{
        DIR* proc;
        dirent *ent;
        proc = opendir("/proc");
        if(proc == null)        {
                stderr.writeln("Open /proc error");
                return 1;
        }
        stdout.writeln("proc opened");
        while((ent = readdir(proc)) != null)    {
                if(ent.d_type != DT_DIR)        {
                        continue;
                }
                stdout.writeln("Subdir: ", to!string(ent.d_name));
        }
        if(closedir(proc) == -1)        {
                stderr.writeln("Close dir error");
                return 1;
        }
        return 0;
}

How to handle ent.d_name? When I writeln it with to!string() conversion then it doesn't print well.
As a result I got something like this:
(...)
Subdir: 8�
10�11�12�13�14�15�17�18�19�
10�11�12�13�14�15�17�18�19�22�
Subdir: 10�11�12�13�14�15�17�18�19�22�23�
ubdir: 11�12�13�14�15�17�18�19�22�23�24�K
Subdir: 12�13�14�15�17�18�19�22�23�24�K25�L
Subdir: 13�14�15�17�18�19�22�23�24�K25�L73�M
Subdir: 14�15�17�18�19�22�23�24�K25�L73�M74�N
Subdir: 15�17�18�19�22�23�24�K25�L73�M74�N75�O
Subdir: 17�18�19�22�23�24�K25�L73�M74�N75�O76�Q
Subdir: 18�19�22�23�24�K25�L73�M74�N75�O76�Q77�R
Subdir: 19�22�23�24�K25�L73�M74�N75�O76�Q77�R79�S
Subdir: 22�23�24�K25�L73�M74�N75�O76�Q77�R79�S80�T
Subdir: 23�24�K25�L73�M74�N75�O76�Q77�R79�S80�T81�U
(...)
to!string() doesn't work?
thanks for help

Reply via email to