Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pack/unpack error #9637

Open
p5pRT opened this issue Jan 24, 2009 · 3 comments
Open

pack/unpack error #9637

p5pRT opened this issue Jan 24, 2009 · 3 comments

Comments

@p5pRT
Copy link

p5pRT commented Jan 24, 2009

Migrated from rt.perl.org#62696 (status was 'open')

Searchable as RT62696$

@p5pRT
Copy link
Author

p5pRT commented Jan 24, 2009

From 0body0@rambler.ru

Created by gtoly@toh-dev.localdomain

Can't unpack packed before string

Here code​:
my $str = pack "w/a(w/a)*", "Hello";
print unpack "w/a(w/a)*", $str;

'/' must follow a numeric type in unpack at ...

This also don't work
print join "​:",
  unpack "N/a(w/a)*",
  pack "N/a(w/a)*", "Hello"

and this don't work
  print join q[​:],unpack q[n(w/a)*], pack q[n(w/a)*], 1

And this works

print join "​:",
  unpack "(w/a)*",
  pack "(w/a)*";

And this also works

print join "​:",
  unpack "w/a(w/a)*",
  pack "w/a(w/a)*", "Hello", 'World';

And this works strange​:
  unpack "(nn)*", pack "n*", 1
  produce (1), but here must warnings or error or empty list

All code in one-line​:

perl -e "print join q[​:],unpack q[n(w/a)*], pack q[n(w/a)*], 1"
perl -e "print join q[​:],unpack q[n/a(w/a)*], pack q[n/a(w/a)*], q[a]"
perl -e "print join q[​:],unpack q[w/a(w/a)*], pack q[w/a(w/a)*], q[a]"

perl -e "print join q[​:],unpack q[(w/a)*], pack q[(w/a)*], "
perl -e "print join q[​:],unpack q[(w/a)*], pack q[(w/a)*], q[]"
perl -e "print join q[​:],unpack q[(nn)*], pack q[(n)*], 1"

Perl Info

Flags:
    category=core
    severity=medium

Site configuration information for perl 5.10.0:

Configured by gtoly at Sat Nov  1 16:44:39 MSK 2008.

Summary of my perl5 (revision 5 version 10 subversion 0) configuration:
  Platform:
    osname=linux, osvers=2.6.24.4, archname=x86_64-linux-thread-multi
    uname='linux toh-dev 2.6.24.4 #2 smp mon oct 6 15:36:34 msd 2008 x86_64 amd opteron(tm) processor 852 authenticamd gnulinux '
    config_args=''
    hint=recommended, useposix=true, d_sigaction=define
    useithreads=define, usemultiplicity=define
    useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
    use64bitint=define, use64bitall=define, uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm',
    optimize='-O3',
    cppflags='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -I/usr/local/include -I/usr/include/gdbm'
    ccversion='', gccversion='4.1.2 (Gentoo 4.1.2 p1.0.2)', gccosandvers=''
    intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
    ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='gcc', ldflags =' -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib /lib64 /usr/lib64 /usr/local/lib64
    libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc
    perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
    libc=/lib/libc-2.6.1.so, so=so, useshrplib=false, libperl=libperl.a
    gnulibc_version='2.6.1'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
    cccdlflags='-fPIC', lddlflags='-shared -O3 -L/usr/local/lib'

Locally applied patches:
    


@INC for perl 5.10.0:
    /home/gtoly/lib/XS/Data-AMF-XS/blib/arch
    /home/gtoly/lib/XS/Data-AMF-XS/blib/lib
    /home/gtoly/lib
    /usr/local/lib/perl5/5.10.0/x86_64-linux-thread-multi
    /usr/local/lib/perl5/5.10.0
    /usr/local/lib/perl5/site_perl/5.10.0/x86_64-linux-thread-multi
    /usr/local/lib/perl5/site_perl/5.10.0
    .


Environment for perl 5.10.0:
    HOME=/home/gtoly
    LANG (unset)
    LANGUAGE (unset)
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PATH=/opt/subversion/bin:/toh:/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.1.2:~/bin:/home/toh/toh.ru/bin
    PERL5LIB=/home/gtoly/lib
    PERL5OPT= -M5.010 -MData::Dumper -MExtUtils::testlib
    PERL_BADLANG (unset)
    SHELL=/bin/bash


@p5pRT
Copy link
Author

p5pRT commented May 27, 2013

From @jkeenan

On Sat Jan 24 07​:00​:26 2009, grian wrote​:

This is a bug report for perl from gtoly@​toh-dev.localdomain,
generated with the help of perlbug 1.36 running under perl 5.10.0.

-----------------------------------------------------------------
[Please enter your report here]

Can't unpack packed before string

Here code​:
my $str = pack "w/a(w/a)*", "Hello";
print unpack "w/a(w/a)*", $str;

'/' must follow a numeric type in unpack at ...

This also don't work
print join "​:",
unpack "N/a(w/a)*",
pack "N/a(w/a)*", "Hello"

and this don't work
print join q[​:],unpack q[n(w/a)*], pack q[n(w/a)*], 1

And this works

print join "​:",
unpack "(w/a)*",
pack "(w/a)*";

And this also works

print join "​:",
unpack "w/a(w/a)*",
pack "w/a(w/a)*", "Hello", 'World';

And this works strange​:
unpack "(nn)*", pack "n*", 1
produce (1), but here must warnings or error or empty list

All code in one-line​:

perl -e "print join q[​:],unpack q[n(w/a)*], pack q[n(w/a)*], 1"
perl -e "print join q[​:],unpack q[n/a(w/a)*], pack q[n/a(w/a)*], q[a]"
perl -e "print join q[​:],unpack q[w/a(w/a)*], pack q[w/a(w/a)*], q[a]"

perl -e "print join q[​:],unpack q[(w/a)*], pack q[(w/a)*], "
perl -e "print join q[​:],unpack q[(w/a)*], pack q[(w/a)*], q[]"
perl -e "print join q[​:],unpack q[(nn)*], pack q[(n)*], 1"

Can anyone hazard an opinion as to whether the erroneous cases described
in this older ticket are indeed erroneous?

Thank you very much.
Jim Keenan

@p5pRT
Copy link
Author

p5pRT commented May 27, 2013

The RT System itself - Status changed from 'new' to 'open'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants