diff options
author | Craig A. Berry <craigberry@mac.com> | 2003-12-06 06:44:40 -0600 |
---|---|---|
committer | Rafael Garcia-Suarez <rgarciasuarez@gmail.com> | 2003-12-06 20:01:24 +0000 |
commit | 3ce6b0cbdd28668e4405f44a007bcb02edaf855d (patch) | |
tree | 2fb5ab84bfcca01ad1551d51f1f011515e043426 /doio.c | |
parent | 085bcbb1d33da8a158e1316d85fae9d242baf2d0 (diff) | |
download | perl-3ce6b0cbdd28668e4405f44a007bcb02edaf855d.tar.gz |
casting bug in VMS part of Perl_start_glob
From: "Craig A. Berry" <craigberry@mac.com>
Message-ID: <3FD22398.1060506@mac.com>
p4raw-id: //depot/perl@21858
Diffstat (limited to 'doio.c')
-rw-r--r-- | doio.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -2290,8 +2290,9 @@ Perl_start_glob (pTHX_ SV *tmpglob, IO *io) if (*cp == '?') *cp = '%'; /* VMS style single-char wildcard */ while (ok && ((sts = lib$find_file(&wilddsc,&rsdsc,&cxt, &dfltdsc,NULL,NULL,NULL))&1)) { - end = rstr + (unsigned long int) *rslt; - if (!hasver) while (*end != ';') end--; + /* with varying string, 1st word of buffer contains result length */ + end = rstr + *((unsigned short int*)rslt); + if (!hasver) while (*end != ';' && end > rstr) end--; *(end++) = '\n'; *end = '\0'; for (cp = rstr; *cp; cp++) *cp = _tolower(*cp); if (hasdir) { |