zsh-users
 help / color / mirror / code / Atom feed
* Re: typeset -Z broken? -R broken too?
@ 1999-09-07  8:41 Sven Wischnowsky
  0 siblings, 0 replies; 2+ messages in thread
From: Sven Wischnowsky @ 1999-09-07  8:41 UTC (permalink / raw)
  To: zsh-users


Gabor wrote:

> It appears that -R is broken, too.
>
> ...
> 
> Also, even with the fix here is zsh for -Z

Ah. The documentation for `-Z' wasn't clear enough for me...

Bye
 Sven

--- os/subst.c	Mon Sep  6 14:51:27 1999
+++ Src/subst.c	Tue Sep  7 10:37:14 1999
@@ -1142,27 +1142,28 @@
 		case PM_RIGHT_B:
 		case PM_RIGHT_Z:
 		case PM_RIGHT_Z | PM_RIGHT_B:
-		    if (strlen(val) < fwidth) {
-			t = NULL;
-			if (v->pm->flags & PM_RIGHT_Z) {
-			    for (t = val; iblank(*t); t++);
-			    if (t && idigit(*t))
-				val = t, t = NULL;
-			}
-			if (!t) {
+		    {
+			int zero = 1;
+
+			if (strlen(val) < fwidth) {
+			    if (v->pm->flags & PM_RIGHT_Z) {
+				for (t = val; iblank(*t); t++);
+				if (!*t || !idigit(*t))
+				    zero = 0;
+			    }
 			    t = (char *)ncalloc(fwidth + 1);
-			    memset(t, (v->pm->flags & PM_RIGHT_B) ? ' ' : '0', 
-				   fwidth);
+			    memset(t, (((v->pm->flags & PM_RIGHT_B) || !zero) ?
+				       ' ' : '0'), fwidth);
 			    if ((t0 = strlen(val)) > fwidth)
 				t0 = fwidth;
 			    strcpy(t + (fwidth - t0), val);
 			    val = t;
+			} else {
+			    t = (char *)ncalloc(fwidth + 1);
+			    t[fwidth] = '\0';
+			    strncpy(t, val + strlen(val) - fwidth, fwidth);
+			    val = t;
 			}
-		    } else {
-			t = (char *)ncalloc(fwidth + 1);
-			t[fwidth] = '\0';
-			strncpy(t, val + strlen(val) - fwidth, fwidth);
-			val = t;
 		    }
 		    break;
 		}

--
Sven Wischnowsky                         wischnow@informatik.hu-berlin.de


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: typeset -Z broken? -R broken too?
  1999-09-05 12:57 typeset -Z broken? Gabor
@ 1999-09-06 15:19 ` Gabor
  0 siblings, 0 replies; 2+ messages in thread
From: Gabor @ 1999-09-06 15:19 UTC (permalink / raw)
  To: zsh-users

It appears that -R is broken, too.

Here is output of ksh with -R
=== gabor $ typeset -R20 name;for name in *;do print "$name";done
                bin/
     sample-scripts/
           software/
               test/
=== gabor $ 

And here is zsh
=== gabor $ typeset -R20 name;for name in *;do print "$name";done
bin/
sample-scripts/
software/
test/
=== gabor $ 

Also, even with the fix here is zsh for -Z
=== gabor $ typeset -Z20 name;for name in *;do print "$name";done
bin/
sample-scripts/
software/
test/
=== gabor $ 

And here is ksh
=== gabor $ typeset -Z20 name;for name in *;do print "$name";done
                bin/
     sample-scripts/
           software/
               test/
=== gabor $ 

Here they are with 0 prefix for test dir
ksh
=== gabor $ typeset -Z20 name;for name in *;do print "$name";done
000000000000000test/
                bin/
     sample-scripts/
           software/
=== gabor $ 

zsh
=== gabor $ typeset -Z20 name;for name in *;do print "$name";done
000000000000000test/
bin/
sample-scripts/
software/
=== gabor $ 


:(

On Sun, Sep 05, 1999 at 08:57:22AM -0400, Gabor wrote:
# Here is the relevant part of the man page
# 
# 
#               -Z     Right justify and fill with leading zeros if
#                      the first non-blank character is a digit and
#                      the  -L  flag  has  not  been  set.  If n is
#                      nonzero it defines the width of  the  field;
#                      otherwise  it  is determined by the width of
#                      the value of the first assignment.
# 
# yet, when I use this I get left padding with zeros even on names that don't
# start with a digit
# 
# typeset -Z10 nname
# for name in *; do
#     if (( ${#name} < 10 )) then
# 	nname=$name
# 	mv $name $nname
#     fi
# done


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~1999-09-07  8:41 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-09-07  8:41 typeset -Z broken? -R broken too? Sven Wischnowsky
  -- strict thread matches above, loose matches on Subject: below --
1999-09-05 12:57 typeset -Z broken? Gabor
1999-09-06 15:19 ` typeset -Z broken? -R broken too? Gabor

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).