nl-command bug

Silvano Catinella <[email protected]> Thu, 1 Dec 2005 06:39:43 -0800 (PST)
Newsgroups gmane.comp.gnu.core-utils.bugs,gmane.comp.gnu.textutils.bugs
Message-ID <[email protected]>
--0-313391756-1133447983=:51860
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
Content-Id: 
Content-Disposition: inline

Hello,

I have discovered a little bug in nl command written by  Scott Bartram and
David MacKenzie. When I push an ASCII-color-text into the pipe used by nl, I
can see a very strange behavior.

Usually, if I use "-b t" argument I would see no line-number before empty line.
But with ASCII-color the program considers escape-codes (\033[....m) as text
and prints number before empty lines. For example the following command

$ ls coreutils-5.93 --color=always |nl -b t

...produces the following output:

     1  ABOUT-NLS
     2  AUTHORS
     3  COPYING
    [ ... ]
    28  po
    29  src
    30  tests
    31  

"tests" file has blue color because it is a directory, and, as you can see the
nl-process prints a empty line (31) next.
If I do not use ASCII-colors I obtain different behavior:

$ ls coreutils-5.93 |nl -b t
     1  ABOUT-NLS
     2  AUTHORS
     3  COPYING
    [ ... ]
    28  po
    29  src
    30  tests

as you can see the empty line is not printed in this way.


I have written a new version of nl command, please find the source-file as
attach.

In my version I have add a feature to setting the record-separator string. I
have no yet implemented the regexp on flag -b, but if you consider my
contribute useful, I will happy to complete this task.


I will look for your answer.

Goodbye

Silvano Catinella


	
		
__________________________________ 
Yahoo! Mail - PC Magazine Editors' Choice 2005 
http://mail.yahoo.com
--0-313391756-1133447983=:51860
Content-Type: application/octet-stream; name="nl-1133444425.c"
Content-Transfer-Encoding: base64
Content-Description: 4065792782-nl-1133444425.c
Content-Disposition: attachment; filename="nl-1133444425.c"

Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Ci8vCi8vCi8vIFN5bm9wc2lzOgovLwovLwlubDIgW29wdGlvbnNdIFs8Zmls
ZT5dCi8vCi8vCQkKLy8gRGVzY3JpcHRpb246Ci8vCi8vCVRoaXMgY29tbWFu
ZCBhY2NlcHRzIGEgbGlzdCBvZiBzdHJpbmdzIHNlcGFyYXRlZCBieSBhIHNl
dCBvZiBjaGFyYWN0ZXJzIG9yIGEgCi8vCXJldHVybiBlY2FwZS1jb2RlLCBh
bmQgcHJpbnRzIHRoZW0gaW4gcm93cyB3aXRoIHRoZWlyIHJvdy1udW1iZXIu
Ci8vCUlmIG5vIGZpbGUgaXMgc3BlY2lmaWVkIHRoZW4gdGhlIHByb2dyYW0g
d2lsbCByZWFkIGRhdGEgZnJvbSBTVERJTgovLwovLwlOZXcgZmVhdHVyZToK
Ly8JaW4gb3JkZXIgdG8gYmUgbW9yZSBjb21mb3J0YWJsZSBpbiBzaGVsbC1z
Y3JpcHRzIHRoaXMgY29tbWFuZCBwcm92aWRlcyB0aGUKLy8JcG9zc2liaWxp
dHkgdG8gc2V0IHRoZSByZWNvcmQtc2VwYXJhdG9yIHN0cmluZywgYXMgdGhl
IGZvbGxvd2luZyBleGFtcGxlIHNob3dzOgovLwkJCi8vCQkkIGVjaG8gb25l
Ojp0d286OnRocmVlIHx0cjIgLXJzICI6OiIKLy8JCQovLwkJMSAgb25lCi8v
CQkyICB0d28KLy8JCTMgIHRocmVlCi8vCi8vCQkKLy8gT3B0aW9uczoKLy8K
Ly8JLXJzIDxzdHJpbmc+Ci8vCQlyZWNvcmQgc2VwYXJhdG9yIHN5bWJvbAov
LwovLwktdiA8aW50PgovLwkJbnVtYmVyaW5nIHN0YXJ0Ci8vCi8vCS1iIHth
fG58dHxwPHJlZ2V4cD59Ci8vCQludW1iZXJpbmcgc3R5bGUgc2V0dGluZyAo
YT0iYWxsIGxpbmVzIiBuPSJubyBvbmUiIHQ9Im9ubHkgdGhlIG5vbiBlbXB0
eSBsaW5lIgovLwovLwktbnoKLy8JCShub3QgemVybykgZW1wdHkgbGluZXMg
bm90IHByaW50ZWQKLy8KLy8JLXMgPHN0cmluZz4KLy8JCVNUUklORyBiZXR3
ZWVuIG51bWJlcnMgYW50IHRleHRzCi8vCi8vCS1pIDxpbnQ+Ci8vCQlpbmNy
ZW1lbnQgZm9yIGV2ZXJ5IHJvdyBudW1iZXIKLy8KLy8KLy8gRWRpdG9yIHNl
dHRpbnM6ICAgIHRhYi1zcGFjZXM9NiBjb2x1bW5zPTEzMgovLy0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiNpbmNsdWRl
IDxzdGRpby5oPgojaW5jbHVkZSA8c3RyaW5nLmg+CgojZGVmaW5lIERFQlVH
IDEKI2RlZmluZSBBU0NJSV9FQyAyNwoKLy8gRGVmYXVsdCBwYXJhbWV0ZXIg
dmFsdWVzCnN0YXRpYyBjaGFyICpyc0RlZj0iXG4iOwkvLyAtcnMgb3B0aW9u
IGRlZmF1bHQKc3RhdGljIGNoYXIgKm5zRGVmPSIgIjsJCS8vIC1zICBvcHRp
b24gZGVmYXVsdApzdGF0aWMgaW50ICBsaW5lPTE7CQkvLyBGaXJzdCBsaW5l
IG51bWJlcgpzdGF0aWMgaW50ICBuej0wOwkJCS8vIG56PTEgLS0+IHRoZSBl
bXB0eSBsaW5lIHdpbGwgbm90IGJlIHByaW50ZWQKc3RhdGljIGludCAgaW5j
cj0xOwkJLy8gaW5jcmVtZW50IGZvciBldmVyeSBsaW5lCgovLyBQYXJhbWV0
ZXIgdmFsdWVzCmNoYXIgKm5zPU5VTEw7CQkvLyBzdHJpbmcgYmV0d2VlbiB0
aGUgbGluZS1udW1iZXIgYW50IGl0cyB0ZXh0LWJvZHkKY2hhciAqcnM9TlVM
TDsJCS8vIFJlY29yZCBTZXBhcmF0b3IKY2hhciAqZmlsZT1OVUxMOwkJLy8g
ZmlsZSB0byByZWFkCmludCAgYnN0eWxlPTE7CQkvLyBic3R5bGUgPT0gMSAt
LT4gYWxsIGxpbmVzIHdpbGwgYmUgbnVtYmVyaW5nCgkKCi8vLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQovLyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgRiBVIE4gQyBUIEkgTyBOIFMgCi8vLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQp2b2lk
IGhlbHAoKSB7CglwcmludGYgKCJ1c2U6IG5sIFstcnMgPHN0cmluZz5dIFst
diAgPGludD5dIFstYiAge2F8bnx0fHA8cmVnZXhwPn1dIFstbnpdIFstcyA8
c3RyaW5nPl1cbiIpOwoJZXhpdCAoMSk7Cn0KCgoKaW50IHN0cmluZ2VxIChj
aGFyICphLCBjaGFyICpiKSB7CgkvLwoJLy8gSXQgY29tcGFyZXMgdHdvIGNo
YXJhY3Rlci1zdHJpbmdzIGFuZCByZXR1cm5zIHRoZSBmb2xsb3dpbmcgdmFs
dWVzOgoJLy8KCS8vIDEgIC0gdGhleSBhcmUgdGhlIHNhbWUKCS8vIDAgIC0g
dGhleSBoYXZlIGRpZmZlcmVudCBzaXplCgkvLyAtbiAtIG9uZSBvciBtb3Jl
IGNoYXJhY3RlcnMgZGlmZmVyCgkvLyAgICAgICh0aGUgcmV0dXJuZWQgbnVt
YmVyIGlzIHRoZSBwb3NpdGlvbiBvZiB0aGUgZmlyc3QgZGlmZmVyZW50IGNo
YWN0ZXIpCgkvLwoJaW50IHRtcD0wLCBlPTE7CglpbnQgbGE9c3RybGVuIChh
KTsKCWludCBsYj1zdHJsZW4gKGIpOwoJaWYgKGxhID09IGxiKSB7IAoJCXdo
aWxlICh0bXA8bGEgJiYgZT4wKSB7CgkJCWlmICgqYSAhPSAqYikgZT0tKHRt
cCk7CgkJCWErKzsgYisrOyB0bXArKzsKCQl9Cgl9IGVsc2UgewoJCWU9MDsK
CX0gCglyZXR1cm4gKGUpOwp9IAoKCmludCBzdHIyaW50IChjaGFyICphKSB7
IAoJLy8KCS8vIFRoaXMgZnVuY3Rpb24gYWNjZXB0cyBhIGludGVnZXItbnVt
YmVyIHJhcHByZXNlbnRlZCBieSBhIGNoYXJhY3Rlci1zdHJpbmcgYW5kIAoJ
Ly8gcmV0dXJucyBpdHMgbnVtZXJpY2FsIHZhbHVlLgoJLy8gSWYgdGhlIHN0
cmluZyBjb250YWlucyBub3Qgb25seSBudW1iZXJzLCB0aGUgZnVuY3Rpb24g
cmV0dXJucyAtMS4KCS8vCglpbnQgbGE9c3RybGVuIChhKTsKCWNoYXIgKnRt
cD1hK2xhLTE7CglpbnQgIGRlYz0xOwkJCS8vIGRlY2ltYWwKCWludCAgcmVz
PTA7CQkJLy8gcmVzdWx0aW5nCgkKCXdoaWxlICh0bXAgPj0gYSAmJiByZXMg
Pj0gMCkgeyAKCQlpZiAoKnRtcCA+IDQ3ICYmICp0bXAgPCA3MikgewoJCQly
ZXM9KCgqdG1wLTQ4KSAqZGVjKStyZXM7CgkJCWRlYz0oZGVjKjEwKTsKCQl9
IGVsc2UgewoJCQlyZXM9LTE7CgkJfQoJCXRtcC0tOwoJfQoJcmV0dXJuIChy
ZXMpOwp9CgoKaW50IHJlYWRJbnB1IChGSUxFICpmZiwgY2hhciAqYnl0ZSkg
ewoJaW50ICBvdXQ9MTsKCQoJaWYgKGZmID09IE5VTEwpIHsKCQkvLyBSZWFk
IGRhdGEgZnJvbSBTVElOCgkJaWYgKHJlYWQgKDAsIGJ5dGUsIDEpIDwgMSkJ
b3V0PS0xOwoJfSBlbHNlIHsKCQkvLyBSZWFkIGZyb20gZmlsZQoJCSpieXRl
PWZnZXRjIChmZik7CgkJaWYgKCpieXRlID09IEVPRikJCQlvdXQ9LTE7Cgl9
CglyZXR1cm4gKG91dCk7Cn0KCgp2b2lkIHByaW50TGluZSAoaW50IGxpbmUs
IGludCBzaW5kZXgsIGNoYXIgc3RyaW5nW10sIGludCBjZmwpIHsKCWludCB0
OwoJaWYgKGJzdHlsZSA9PSAxIHx8IChic3R5bGUgPT0gMyAmJiBjZmwgPiAw
KSkgewoJCS8vIGJzdHlsZT09MSAgIG51bWJlciBhbGwgbGluZXMKCQkvLyBi
c3R5bGU9PTMgICBudW1iZXIgb25seSBubyBlbXB0eSBsaW5lcwoJCWlmIChs
aW5lIDw9IDkpCXByaW50ZiAoIiVkICAlcyIsIGxpbmUsIG5zKTsKCQllbHNl
CQkJcHJpbnRmICgiJWQgJXMiLCBsaW5lLCBucyk7Cgl9IGVsc2UgaWYgKGJz
dHlsZSA9PSAyKSB7CgkJLy8gYnN0eWxlPT0yCW5vIG51bWJlciBhbnkgbGlu
ZXMKCQlpZiAobGluZSA8PSA5KQlwcmludGYgKCIlcyIsIG5zKTsKCQllbHNl
CQkJcHJpbnRmICgiJXMiLCBucyk7Cgl9IGVsc2UgewoJCS8vIGJzdHlsZT00
IHJlZ2V4cAoJfQkKCWZvciAodD0wOyB0PHNpbmRleDsgdCsrKSBwcmludGYg
KCIlYyIsIHN0cmluZ1t0XSk7CglwcmludGYgKCJcbiIpOwoJcmV0dXJuOwp9
CgovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
TSBBIEkgTgovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KCgppbnQgbWFpbiAoaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkg
ewoJaW50ICB0PTA7CgljaGFyICp0bXAyOwoJaW50ICBwcm9jc3RlcD0wOwkJ
Ly8gY291bnRlciBmb3IgZGVidWcgb3V0cHV0CglpbnQgIGlkeDI9MDsJCS8v
IGluZGV4IHVzZWQgZm9yIHJzIGNoZWNraW5nCgljaGFyIGM7CQkJLy8gY2hh
cmFjdGVyIGV4dHJhY3RlZCBmcm9tIFNURElOCglpbnQgIGNmbD0wOwkJCS8v
IG51bWJlciBvZiBjaGFyYWN0ZXJzIGluIHRoYXQgbGluZQoJRklMRSAqZmg7
CgkKCS8vIE1vb3JlIG1hY2hpbmVzCglpbnQgIGFyZ0ZsYWc9MDsJCS8vIFBh
cmFtZXRlciBwYXJzaW5nCglpbnQgIHN0YXRlPTA7CQkvLyBNYWluCglpbnQg
IGVzY3N0YXRlPTA7CQkvLyBFc2NhcGVDb2RlcwoJCgkvLyBQYXJ0aWFsIHN0
cmluZwoJY2hhciBzdHJpbmdbMjU2XTsJCS8vIGRhdGEKCWNoYXIgdG1wWzY0
XTsJCS8vIFJTIGNhbmRpZGF0ZQoJaW50ICBzaW5kZXg9MDsJCS8vIHRleHQg
b24gc2luZ2xlLXJvdyBpbmRleAoKCQoJZm9yICh0PTE7IHQ8YXJnYzsgdCsr
KSB7IAoJCS8vIFBhcmFtZXRlcnMKCQlpZiAgKGFyZ0ZsYWcgPT0gMCkgewoJ
CQlpZiAgICAgIChzdHJpbmdlcSAoYXJndlt0XSwgIi1ycyIpID4wKQlhcmdG
bGFnPTE7CgkJCWVsc2UgaWYgKHN0cmluZ2VxIChhcmd2W3RdLCAgIi12Iikg
PjApCWFyZ0ZsYWc9MjsKCQkJZWxzZSBpZiAoc3RyaW5nZXEgKGFyZ3ZbdF0s
ICAiLXMiKSA+MCkJYXJnRmxhZz0zOwoJCQllbHNlIGlmIChzdHJpbmdlcSAo
YXJndlt0XSwgICItaSIpID4wKQlhcmdGbGFnPTQ7CgkJCWVsc2UgaWYgKHN0
cmluZ2VxIChhcmd2W3RdLCAgIi1iIikgPjApCWFyZ0ZsYWc9NTsKCQkJZWxz
ZSBpZiAoc3RyaW5nZXEgKGFyZ3ZbdF0sICItbnoiKSA+MCkJbno9MTsKCQkJ
ZWxzZSBpZiAoc3RyaW5nZXEgKGFyZ3ZbdF0sICAiLWgiKSA+MCkJaGVscCgp
OwoJCQllbHNlIGlmICh0ID09IChhcmdjLTEpKSB7CgkJCQlmaWxlPW1hbGxv
YyAoc2l6ZW9mKGNoYXIpICogKHN0cmxlbihhcmd2W3RdKSsxKSk7CgkJCQkq
ZmlsZT0nXDAnOyBzdHJjcHkgKGZpbGUsIGFyZ3ZbdF0pOwoJCQkJZmg9Zm9w
ZW4gKGZpbGUsICJyIik7CgkJCQlpZiAoZmggPT0gTlVMTCkgewoJCQkJCXBy
aW50ZiAoImVycm9yOiBpbXBvc3NpYmxlIHRvIHJlYWQgJXNcbiIpOwoJCQkJ
CWV4aXQgKC0xKTsKCQkJCX0KCQkJfQoJCX0gZWxzZSBpZiAoYXJnRmxhZyA9
PSAxKSB7CgkJCXJzPW1hbGxvYyAoc2l6ZW9mKGNoYXIpICogKHN0cmxlbihh
cmd2W3RdKSsxKSk7CgkJCSpycz0nXDAnOyBzdHJjcHkgKHJzLCBhcmd2W3Rd
KTsKCQkJYXJnRmxhZz0wOwoKCQl9IGVsc2UgaWYgKGFyZ0ZsYWcgPT0gMikg
ewoJCQlpZiAoc3RyMmludCAoYXJndlt0XSkgPCAwKSB7CgkJCQlwcmludGYg
KCJQYXJhbWV0ZXIgZXJyb3JcbiIpOyBleGl0ICgtMSk7CgkJCX0gZWxzZSB7
IAoJCQkJbGluZT1zdHIyaW50IChhcmd2W3RdKTsKCQkJfQoJCQlhcmdGbGFn
PTA7CgoJCX0gZWxzZSBpZiAoYXJnRmxhZyA9PSAzKSB7CgkJCW5zPW1hbGxv
YyAoc2l6ZW9mKGNoYXIpICogKHN0cmxlbihhcmd2W3RdKSsxKSk7CgkJCSpu
cz0nXDAnOyBzdHJjcHkgKG5zLCBhcmd2W3RdKTsKCQkJYXJnRmxhZz0wOwoK
CQl9IGVsc2UgaWYgKGFyZ0ZsYWcgPT0gNCkgewoJCQlpZiAoc3RyMmludCAo
YXJndlt0XSkgPCAwKSB7CgkJCQlwcmludGYgKCJQYXJhbWV0ZXIgZXJyb3Jc
biIpOyBleGl0ICgtMSk7CgkJCX0gZWxzZSB7IAoJCQkJaW5jcj1zdHIyaW50
IChhcmd2W3RdKTsKCQkJfQoJCQlhcmdGbGFnPTA7CgkJfSBlbHNlIGlmIChh
cmdGbGFnID09IDUpIHsKCQkJaWYgCQkoc3RybGVuICAgKGFyZ3ZbdF0pICAg
ICAgPiAxKSBic3R5bGU9NDsKCQkJZWxzZSBpZgkoc3RyaW5nZXEgKGFyZ3Zb
dF0sICJhIikgPiAwKQlic3R5bGU9MTsKCQkJZWxzZSBpZgkoc3RyaW5nZXEg
KGFyZ3ZbdF0sICJuIikgPiAwKQlic3R5bGU9MjsKCQkJZWxzZSBpZgkoc3Ry
aW5nZXEgKGFyZ3ZbdF0sICJ0IikgPiAwKQlic3R5bGU9MzsKCQkJYXJnRmxh
Zz0wOwoJCX0KCX0KCQoJI2lmIERFQlVHID09IDEKCQlwcmludGYgKCItLS0t
LS0tUCBBIFIgQSBNIEUgVCBFIFIgUy0tLS0tLS0tXG4iKTsKCQlpZiAocnMg
IT0gTlVMTCkJcHJpbnRmICgiLXJzICAlc1xuIiwgcnMpOwoJCWlmIChsaW5l
ICE9IDEpCXByaW50ZiAoIi12ICAgJWRcbiIsIGxpbmUpOwoJCWlmIChucyAh
PSBOVUxMKQlwcmludGYgKCItbnMgICVzXG4iLCBucyk7CgkJaWYgKG56ID09
IDEpCXByaW50ZiAoIi1uelxuIik7CgkJaWYgKGluY3IgIT0xKQlwcmludGYg
KCItaSAgICVkXG4iLGluY3IpOwoJCWlmIChmaWxlICE9IE5VTEwpCXByaW50
ZiAoImZpbGU6ICVzXG4iLGZpbGUpOwoJCWlmIChic3R5bGUgIT0gMSkJcHJp
bnRmICgiLWIgICAlZCAoMT1hIDI9biAzPXQgND1yZXhleHApXG4iLGJzdHls
ZSk7CgkJcHJpbnRmICgiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLVxuXG4iKTsKCSNlbmRpZgoJCglpZiAocnMgPT0gTlVMTCkgcnM9cnNE
ZWY7CglpZiAobnMgPT0gTlVMTCkgbnM9bnNEZWY7CgoJaWR4Mj0wOwoJc3Rh
dGU9MDsKCWVzY3N0YXRlPTA7CgkKCQoJd2hpbGUgKHJlYWRJbnB1IChmaCwg
JmMpID4gMCkgewoJCXByb2NzdGVwKys7CgkJCgkJaWYgKHN0YXRlID09IDAp
IHsKCQkJaWYgKGMgPT0gKnJzKSB7CgkJCQlzdGF0ZT0yOwoJCQl9IGVsc2Ug
eyAKCQkJCXN0cmluZ1tzaW5kZXhdPWM7CgkJCQlzaW5kZXgrKzsKCgkJCQkv
LyByZWFsIGNoYXJhY3RlciBjb3VudGluZwoJCQkJaWYgKGVzY3N0YXRlID09
IDApIHsKCQkJCQlpZiAoYyA9PSBBU0NJSV9FQykJCWVzY3N0YXRlPTI7CQkv
LyBlc2NhcGUtY29kZSBzdGFydGluZwoJCQkJCWVsc2UJCQkJCWNmbCsrOwkJ
Ly8gcmVhbCBjaGFyYWN0ZXJzIHRvIHNob3cKCQkJCX0gZWxzZSBpZiAoZXNj
c3RhdGUgPT0gMikgewoJCQkJCWlmICAgICAgKGMgPT0gJ1snKQkJZXNjc3Rh
dGU9NDsJCS8vIGJlZ2luIGEgY29sb3IgZXNjYXBlLWNvZGUKCQkJCQllbHNl
IGlmIChjPj02MCAmJiBjPD03MSkJZXNjc3RhdGU9MjsJCS8vIGVzY2FwZS1j
b2RlCgkJCQkJZWxzZQkJCQkJZXNjc3RhdGU9MDsJCS8vIGVuZCBjb2RlCgkJ
CQl9IGVsc2UgaWYgKGVzY3N0YXRlID09IDQpIHsKCQkJCQlpZiAoYyA9PSAn
bScpCQkJZXNjc3RhdGU9MDsJCS8vIGVuZCBjb2RlCQoJCQkJfSAKCQkJfSAK
CQl9IAoJCQoJCWlmIChzdGF0ZSA9PSAyKSB7CgkJCS8vIC4uLnNlYXJjaW5n
IGZvciBSUwoJCQl0bXBbaWR4Ml09YzsKCQkJaWR4MisrOwoJCQlpZiAoaWR4
MiA9PSBzdHJsZW4gKHJzKSkgeyAKCQkJCXN0YXRlPTQ7CgkJCQl0bXBbaWR4
Ml09J1wwJzsKCQkJfSAJCgkJfSAKCQkKCQlpZiAoc3RhdGUgPT0gNCkgeyAK
CQkJaWYgKHN0cmluZ2VxICh0bXAsIHJzKSA+MCkgewoJCQkJLy8gYSByZWNv
cmQtc2VwYXRhcm9yIHN0cmluZyBpcyBlbmNvdW50ZXJlZAoJCQkJaWYgKChj
ZmwgPjAgJiYgbnogPT0gMSkgfHwgbnogPT0gMCkgewoJCQkJCXByaW50TGlu
ZSAobGluZSwgc2luZGV4LCBzdHJpbmcsIGNmbCk7CgkJCQkJc2luZGV4PTA7
CgkJCQkJbGluZT1saW5lK2luY3I7CgkJCQl9CgkJCQljZmw9MDsKCQkJfSBl
bHNlIHsKCQkJCS8vIGl0IHNlZW1lZCBhIHJlY29yZC1zZXBhcmF0b3IgYnV0
IGl0IHdhcyBub24gZXF1YWwKCQkJCWZvciAodD0wOyB0PGlkeDI7IHQrKykg
e3N0cmluZ1tzaW5kZXgrdF09dG1wW3RdO30gCgkJCQlzaW5kZXg9c2luZGV4
K2lkeDI7CgkJCQljZmw9Y2ZsK2lkeDI7CgkJCX0gCQoJCQlpZHgyPTA7CgkJ
CXN0YXRlPTA7CgkJfQoJfQoJaWYgKChjZmwgPjAgJiYgbnogPT0gMSkgfHwg
bnogPT0gMCkgcHJpbnRMaW5lIChsaW5lLCBzaW5kZXgsIHN0cmluZywgY2Zs
KTsKCQkKCQkKCWlmIChycyAhPSByc0RlZikJZnJlZSAocnMpOwoJaWYgKG5z
ICE9IG5zRGVmKQlmcmVlIChucyk7CglpZiAoZmggIT0gTlVMTCkJZmNsb3Nl
IChmaCk7CglyZXR1cm4gKDEpOwp9IAo=

--0-313391756-1133447983=:51860
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Bug-coreutils mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-coreutils

--0-313391756-1133447983=:51860--