[Top][All Lists]
[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 :-(
- [bug-gawk] in-place edit request, Ed Morton, 2012/12/20
- Re: [bug-gawk] in-place edit request, Andrew J. Schorr, 2012/12/22
- Re: [bug-gawk] in-place edit request, Aharon Robbins, 2012/12/23
- Re: [bug-gawk] in-place edit request, Andrew J. Schorr, 2012/12/23
- Re: [bug-gawk] in-place edit request, Aharon Robbins, 2012/12/23
- Re: [bug-gawk] in-place edit request,
Eli Zaretskii <=
- Re: [bug-gawk] in-place edit request, Aharon Robbins, 2012/12/25
- Re: [bug-gawk] in-place edit request, Eli Zaretskii, 2012/12/25
- Re: [bug-gawk] in-place edit request, arnold, 2012/12/26
- Re: [bug-gawk] in-place edit request, Eli Zaretskii, 2012/12/26
- Re: [bug-gawk] in-place edit request, Andrew J. Schorr, 2012/12/26
- Re: [bug-gawk] in-place edit request, Eli Zaretskii, 2012/12/26
- Re: [bug-gawk] in-place edit request, Andrew J. Schorr, 2012/12/26
- Re: [bug-gawk] in-place edit request, Ed Morton, 2012/12/31
- Re: [bug-gawk] in-place edit request, arnold, 2012/12/31
- Re: [bug-gawk] in-place edit request, Ed Morton, 2012/12/31