bug-gawk
[Top][All Lists]
Advanced

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

Re: Fwd: inconstancy with RS = "(\r?\n){2}"


From: Alex fxmbsw7 Ratchev
Subject: Re: Fwd: inconstancy with RS = "(\r?\n){2}"
Date: Mon, 26 Jul 2021 20:33:32 +0200

or does it mean it printed, but i didnt notice where
wouldnt make the other old server ware work, they work the same as as
i try still now
it actually printed \n, then on second \n and fstat, then again read

On Mon, Jul 26, 2021 at 8:32 PM Alex fxmbsw7 Ratchev <fxmbsw7@gmail.com> wrote:
>
> i did strace -fF -s 50 the gawk in the tcpserver
>
> these are the last lines, the fstat being printed after
>
> read(0, "\n", 4096)                     = 1
> read(0, "\n", 4096)                     = 1
> fstat(1, {st_mode=S_IFSOCK|0777, st_size=0, ...}) = 0
> read(0,
>
> does this mean.. what.. didnt process two \ns as RS = \n\n ?
>
> On Mon, Jul 26, 2021 at 8:14 PM Alex fxmbsw7 Ratchev <fxmbsw7@gmail.com> 
> wrote:
> >
> > i mailed their misc@ address
> >
> > anyway before i had "\n\n" as RS stuff worked, curl wise etc
> > but its on an outdated version so nothing about it
> > maybe new, but first find why it doesnt print
> >
> > On Mon, Jul 26, 2021 at 8:07 PM Alex fxmbsw7 Ratchev <fxmbsw7@gmail.com> 
> > wrote:
> > >
> > > and indeed i sometimes recieve nothing
> > >
> > > tcpserver 0 1024 gawk -v RS=\\n\\n '{ print "ye" }'
> > >
> > > and in nc to it, many newlines, no ye back
> > > hmh ?
> > >
> > > ill look up if i can find the mailing list
> > >
> > > On Mon, Jul 26, 2021, 20:03 Alex fxmbsw7 Ratchev <fxmbsw7@gmail.com> 
> > > wrote:
> > >>
> > >> no idea, with RS = "\n\n" on terminal no prob, but it may br tcpservers 
> > >> fault, or gawk fail to recognize raw data by tcpserver
> > >> curl doesnt return, control-c makes the bash reader that reads the gawk 
> > >> recieve it, not before, hmm ..
> > >>
> > >> On Mon, Jul 26, 2021, 19:17 Alex fxmbsw7 Ratchev <fxmbsw7@gmail.com> 
> > >> wrote:
> > >>>
> > >>> id like to keep the double \n RS as was in my code, so i just 
> > >>> separately before strip em away
> > >>>
> > >>> thanks you for your input :)
> > >>>
> > >>> On Mon, Jul 26, 2021, 19:01 Ed Morton <mortoneccc@comcast.net> wrote:
> > >>>>
> > >>>>
> > >>>>
> > >>>> On 7/26/2021 11:27 AM, Alex fxmbsw7 Ratchev wrote:
> > >>>>
> > >>>> i will cause i have to RS = "" and FS = "\n"
> > >>>> and in another gawk strip the optional \r's away
> > >>>>
> > >>>> It wasn't clear to me that you wanted to just discard the `\r`s, that 
> > >>>> makes things even simpler. Given that - yes, you can use a separate 
> > >>>> call to awk to remove `\r`s before piping to your real script or you 
> > >>>> can do what I suggested below but change `$0 ~ /^\r?$/` to `{ 
> > >>>> sub(/\r$/,"") } $0 == ""`.
> > >>>>
> > >>>>     Ed.
> > >>>>
> > >>>> On Mon, Jul 26, 2021, 17:01 Ed Morton <mortoneccc@comcast.net> wrote:
> > >>>>
> > >>>> On 7/26/2021 8:15 AM, Alex fxmbsw7 Ratchev wrote:
> > >>>>
> > >>>> ---------- Forwarded message ---------
> > >>>> From: Alex fxmbsw7 Ratchev <fxmbsw7@gmail.com> <fxmbsw7@gmail.com>
> > >>>> Date: Mon, Jul 26, 2021, 15:13
> > >>>> Subject: Re: inconstancy with RS = "(\r?\n){2}"
> > >>>> To: Aharon Robbins <arnold@skeeve.com> <arnold@skeeve.com>
> > >>>>
> > >>>>
> > >>>> but the RS issue remains
> > >>>> oh well up to better times somewhen else
> > >>>> thanks :)
> > >>>>
> > >>>>
> > >>>> Have you considered just writing code to decide if a pair of `\r?\n`s 
> > >>>> has
> > >>>> been seen instead of using a more complicated RS? For example, using 
> > >>>> the
> > >>>> default RS and ORS, I think this will do what you want:
> > >>>>
> > >>>> --------
> > >>>> $ cat tst.awk
> > >>>> $0 ~ /^\r?$/ {
> > >>>>     gotRS = 1
> > >>>>     lineNr = 0
> > >>>> }
> > >>>> !gotRS {
> > >>>>     # just keep appending to the record until the real RS is found
> > >>>>     rec = ( ++lineNr == 1 ? "" : rec ORS) $0
> > >>>>     next
> > >>>> }
> > >>>> {
> > >>>>     # we have a complete record so save it in $0 and process as normal
> > >>>>     gotRS = 0
> > >>>>     $0 = rec
> > >>>>     print "<" $0 ">"
> > >>>> }
> > >>>> --------
> > >>>> $ awk -f tst.awk
> > >>>> 1
> > >>>> 2
> > >>>>
> > >>>> <1
> > >>>> 2>
> > >>>> 3
> > >>>>
> > >>>> <3>
> > >>>> --------
> > >>>>
> > >>>> Regards,
> > >>>>
> > >>>>     Ed.
> > >>>>
> > >>>>
> > >>>>
> > >>>> On Mon, Jul 26, 2021, 15:12 <arnold@skeeve.com> <arnold@skeeve.com> 
> > >>>> wrote:
> > >>>>
> > >>>>
> > >>>> I'm sorry.
> > >>>>
> > >>>> I give up.
> > >>>>
> > >>>> You will have to use another approach. Maybe using gawk's built-in
> > >>>> networking will help.
> > >>>>
> > >>>> Good luck.
> > >>>>
> > >>>> Arnold
> > >>>>
> > >>>> Alex fxmbsw7 Ratchev <fxmbsw7@gmail.com> <fxmbsw7@gmail.com> wrote:
> > >>>>
> > >>>>
> > >>>> and no it doesnt work
> > >>>> also on the stderr cmd i had to quit nc ( didnt try control d ) and 
> > >>>> then
> > >>>> the rest appeared, on the tcpserv side, .. seems bug nothing done
> > >>>> i fetched git clone new and did bootstrap and further
> > >>>>
> > >>>> On Mon, Jul 26, 2021, 15:07 Alex fxmbsw7 Ratchev <fxmbsw7@gmail.com> 
> > >>>> <fxmbsw7@gmail.com>
> > >>>>
> > >>>> wrote:
> > >>>>
> > >>>>  i just got now to it
> > >>>> in my testing on terminal still same bug, on testing that gawk > stderr
> > >>>> cmd even more newlines were needed to make it print ( on the tcpserv
> > >>>>
> > >>>> term )
> > >>>>
> > >>>> that makes it invalid for my httpd and the bug but ill just try now too
> > >>>>
> > >>>> On Mon, Jul 26, 2021, 13:24 Alex fxmbsw7 Ratchev <fxmbsw7@gmail.com> 
> > >>>> <fxmbsw7@gmail.com>
> > >>>> wrote:
> > >>>>
> > >>>>
> > >>>> thank you big time ! ill just test now
> > >>>> sorry for not knowing much git
> > >>>>
> > >>>> On Mon, Jul 26, 2021, 13:17 <arnold@skeeve.com> <arnold@skeeve.com> 
> > >>>> wrote:
> > >>>>
> > >>>>
> > >>>> Please do
> > >>>>
> > >>>>         make distclean
> > >>>>         git pull
> > >>>>         git checkout test-socket-patch
> > >>>>         ./bootstrap.sh && ./configure && make
> > >>>>
> > >>>> I applied the patch and pushed it to git in that branch.
> > >>>>
> > >>>> Arnold
> > >>>>
> > >>>>
> > >>>>
> > >>>>
> > >>>>



reply via email to

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