Thread (3 messages) flat view 3 messages, 3 authors, 2016-06-15

Re: [PATCH] git-log: detect dup and fdopen failure

From: Alex Riesen <hidden>
Date: 2016-06-15 22:43:18

Possibly related (same subject, not in this thread)

On 6/27/07, Jim Meyering [off-list ref] wrote:
I didn't see that fdopen could fail with ENOMEM.
That'll teach me to trust the man page.  I see POSIX does mention it.
I wouldn't trust Linux man pages nor POSIX, if I were you.
Check if this works in some exotic but common
environments (like MacOSX, Cygwin or HP-UX).

(And yes, they probably are broken, and no, you can't fix them,
and no, people are not going to stop using them).
+       if (!use_stdout) {
+               int fd = dup(1);
+               if (fd < 0 || (realstdout = fdopen(fd, "w")) == NULL)
+                       die("failed to duplicate standard output: %s",
+                           strerror(errno));
+       }
Kinda stuffed in here. What's wrong with plain

  realstdout = fdopen(dup(1), "w");
  if (!realstdout)
    die("%s", strerror(errno));

(Yes, I do think that "duplicate standard output" is useless,
except for debugging. Exactly as strerror is, but that is shorter).
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help