bug-gawk
[Top][All Lists]
Advanced

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

Re: [bug-gawk] in-place edit request


From: Eli Zaretskii
Subject: Re: [bug-gawk] in-place edit request
Date: Sun, 23 Dec 2012 19:37:06 +0200

> From: Aharon Robbins <address@hidden>
> Date: Sun, 23 Dec 2012 19:10:49 +0200
> Cc: address@hidden, address@hidden
> 
> It's not that hard, actually.  First, save the open file:
> 
>       int save_fd = dup(fileno(stdout));
> 
> Then close and reopen:
> 
>       fp = freopen(path_from_user, "w", stdout)
> 
> then to restore
> 
>       char buf[100];  /* say */
>       sprintf(buf, "/dev/fd/%d", save_fd);
> 
>       fp = freopen(buf, "w", stdout);
>       close(save_fd);
>       save_fd = -1;
> 
> Ta da!
> 
> Details left as an exercise for the reader.

But /dev/fd/N is not portable :-(



reply via email to

[Prev in Thread] Current Thread [Next in Thread]