RE: 3 Win32::API bugs
[email protected] (bulk 88)
| Newsgroups | perl.libwin32 |
|---|---|
| Message-ID | <[email protected]> |
---------------------------------------- > From: [email protected] > To: [email protected]; [email protected]; [email protected] > Subject: RE: 3 Win32::API bugs > Date: Thu, 10 May 2012 12:00:57 -0400 > I still don't know what letter to use for shorts. $ has no lower case version for signed short. H is too closed to hex numbers and pack's existing H unpack feature letter (H="Half"), someone might want to put in a 'H' type code one day to get strings back in ASCII HEX from Win32::API rather than binary gibberish. T (T="shorT", also "strucT", but sturct is S already), isn't used by pack, W (W="Word") is used for BER numbers by pack, and I've never seen those anywhere, so W or T I think are safe choices. > Another serious backwards compatibility problem. Win32::API's documentation official states only the flags that exist (I N F D C P S K) are all upper case, but in pack() upper case is unsigned number. In Win32::API::Type types are correctly mirrored as unsigned to upper case, signed to lower case. How is this supposed to be solved? API versioning "use Win32::API 0.69;" and an internal to Win32::API flag to invert the meaning of upper and lower case and turn on unsigned support? Time to fork Win32::API under a new name? or make a new PM called Win32::API::V2 or something that turned on unsigned support and inverts meaning of upper and lower case?