1 | package Convert::UUlib; |
1 | package Convert::UUlib; |
|
|
2 | |
|
|
3 | no warnings; |
|
|
4 | use strict; |
2 | |
5 | |
3 | use Carp; |
6 | use Carp; |
4 | |
7 | |
5 | require Exporter; |
8 | require Exporter; |
6 | require DynaLoader; |
9 | require DynaLoader; |
7 | |
10 | |
8 | $VERSION = '1.08'; |
11 | our $VERSION = '1.08'; |
9 | |
12 | |
10 | @ISA = qw(Exporter DynaLoader); |
13 | our @ISA = qw(Exporter DynaLoader); |
11 | |
14 | |
12 | @_consts = qw( |
15 | our @_consts = qw( |
13 | ACT_COPYING ACT_DECODING ACT_ENCODING ACT_IDLE ACT_SCANNING |
16 | ACT_COPYING ACT_DECODING ACT_ENCODING ACT_IDLE ACT_SCANNING |
14 | |
17 | |
15 | FILE_DECODED FILE_ERROR FILE_MISPART FILE_NOBEGIN FILE_NODATA |
18 | FILE_DECODED FILE_ERROR FILE_MISPART FILE_NOBEGIN FILE_NODATA |
16 | FILE_NOEND FILE_OK FILE_READ FILE_TMPFILE |
19 | FILE_NOEND FILE_OK FILE_READ FILE_TMPFILE |
17 | |
20 | |
… | |
… | |
28 | |
31 | |
29 | B64_ENCODED BH_ENCODED PT_ENCODED QP_ENCODED |
32 | B64_ENCODED BH_ENCODED PT_ENCODED QP_ENCODED |
30 | XX_ENCODED UU_ENCODED YENC_ENCODED |
33 | XX_ENCODED UU_ENCODED YENC_ENCODED |
31 | ); |
34 | ); |
32 | |
35 | |
33 | @_funcs = qw( |
36 | our @_funcs = qw( |
34 | Initialize CleanUp GetOption SetOption strerror SetMsgCallback |
37 | Initialize CleanUp GetOption SetOption strerror SetMsgCallback |
35 | SetBusyCallback SetFileCallback SetFNameFilter SetFileNameCallback |
38 | SetBusyCallback SetFileCallback SetFNameFilter SetFileNameCallback |
36 | FNameFilter LoadFile GetFileListItem RenameFile DecodeToTemp |
39 | FNameFilter LoadFile GetFileListItem RenameFile DecodeToTemp |
37 | RemoveTemp DecodeFile InfoFile Smerge QuickDecode EncodeMulti |
40 | RemoveTemp DecodeFile InfoFile Smerge QuickDecode EncodeMulti |
38 | EncodePartial EncodeToStream EncodeToFile E_PrepSingle |
41 | EncodePartial EncodeToStream EncodeToFile E_PrepSingle |
39 | E_PrepPartial |
42 | E_PrepPartial |
40 | |
43 | |
41 | straction strencoding strmsglevel |
44 | straction strencoding strmsglevel |
42 | ); |
45 | ); |
43 | |
46 | |
44 | @EXPORT = @_consts; |
47 | our @EXPORT = @_consts; |
45 | @EXPORT_OK = @_funcs; |
48 | our @EXPORT_OK = @_funcs; |
46 | %EXPORT_TAGS = (all => [@_consts,@_funcs], constants => \@_consts); |
49 | our %EXPORT_TAGS = (all => [@_consts,@_funcs], constants => \@_consts); |
47 | |
50 | |
48 | bootstrap Convert::UUlib $VERSION; |
51 | bootstrap Convert::UUlib $VERSION; |
49 | |
52 | |
50 | Initialize(); |
53 | Initialize(); |
51 | |
54 | |
52 | # not when < 5.005_6x |
55 | # not when < 5.005_6x |
53 | # END { CleanUp() } |
56 | # END { CleanUp() } |
54 | |
57 | |
55 | for (@_consts) { |
58 | for (@_consts) { |
56 | my $constant = constant($_); |
59 | my $constant = constant($_); |
|
|
60 | no strict 'refs'; |
57 | *$_ = sub () { $constant }; |
61 | *$_ = sub () { $constant }; |
58 | } |
62 | } |
59 | |
63 | |
60 | # action code -> string mapping |
64 | # action code -> string mapping |
61 | sub straction($) { |
65 | sub straction($) { |