diff options
author | Steve Peters <steve@fisharerojo.org> | 2007-12-28 05:05:50 +0000 |
---|---|---|
committer | Steve Peters <steve@fisharerojo.org> | 2007-12-28 05:05:50 +0000 |
commit | 662f1f9e0a1bbee45e1e02386151364c8517604e (patch) | |
tree | 3f1c97339f0a2fa55af39f42a3b229f0058d0889 | |
parent | 96704b718ce99c204c7abe57a0c70fd20f6584fd (diff) | |
download | perl-662f1f9e0a1bbee45e1e02386151364c8517604e.tar.gz |
SvPVX_const() triggers an assertion that when the sv isn't a PV.
Back this down to just checking to see if the sv is a PV or
not.
p4raw-id: //depot/perl@32750
-rw-r--r-- | ext/Encode/ucm/cp858.ucm | 274 | ||||
-rw-r--r-- | sv.h | 2 |
2 files changed, 275 insertions, 1 deletions
diff --git a/ext/Encode/ucm/cp858.ucm b/ext/Encode/ucm/cp858.ucm new file mode 100644 index 0000000000..29fa1b1d71 --- /dev/null +++ b/ext/Encode/ucm/cp858.ucm @@ -0,0 +1,274 @@ +<code_set_name> "cp858" +<mb_cur_min> 1 +<mb_cur_max> 1 +<subchar> \x3f +CHARMAP +<U0000> \x00 |0 # NULL +<U0001> \x01 |0 # START OF HEADING +<U0002> \x02 |0 # START OF TEXT +<U0003> \x03 |0 # END OF TEXT +<U0004> \x04 |0 # END OF TRANSMISSION +<U0005> \x05 |0 # ENQUIRY +<U0006> \x06 |0 # ACKNOWLEDGE +<U0007> \x07 |0 # BELL +<U0008> \x08 |0 # BACKSPACE +<U0009> \x09 |0 # HORIZONTAL TABULATION +<U000A> \x0A |0 # <control> +<U000B> \x0B |0 # <control> +<U000C> \x0C |0 # <control> +<U000D> \x0D |0 # <control> +<U000E> \x0E |0 # <control> +<U000F> \x0F |0 # <control> +<U000a> \x0a |0 # LINE FEED +<U000b> \x0b |0 # VERTICAL TABULATION +<U000c> \x0c |0 # FORM FEED +<U000d> \x0d |0 # CARRIAGE RETURN +<U000e> \x0e |0 # SHIFT OUT +<U000f> \x0f |0 # SHIFT IN +<U0010> \x10 |0 # DATA LINK ESCAPE +<U0011> \x11 |0 # DEVICE CONTROL ONE +<U0012> \x12 |0 # DEVICE CONTROL TWO +<U0013> \x13 |0 # DEVICE CONTROL THREE +<U0014> \x14 |0 # DEVICE CONTROL FOUR +<U0015> \x15 |0 # NEGATIVE ACKNOWLEDGE +<U0016> \x16 |0 # SYNCHRONOUS IDLE +<U0017> \x17 |0 # END OF TRANSMISSION BLOCK +<U0018> \x18 |0 # CANCEL +<U0019> \x19 |0 # END OF MEDIUM +<U001A> \x1A |0 # <control> +<U001B> \x1B |0 # <control> +<U001C> \x1C |0 # <control> +<U001D> \x1D |0 # <control> +<U001E> \x1E |0 # <control> +<U001F> \x1F |0 # <control> +<U001a> \x1a |0 # SUBSTITUTE +<U001b> \x1b |0 # ESCAPE +<U001c> \x1c |0 # FILE SEPARATOR +<U001d> \x1d |0 # GROUP SEPARATOR +<U001e> \x1e |0 # RECORD SEPARATOR +<U001f> \x1f |0 # UNIT SEPARATOR +<U0020> \x20 |0 # SPACE +<U0021> \x21 |0 # EXCLAMATION MARK +<U0022> \x22 |0 # QUOTATION MARK +<U0023> \x23 |0 # NUMBER SIGN +<U0024> \x24 |0 # DOLLAR SIGN +<U0025> \x25 |0 # PERCENT SIGN +<U0026> \x26 |0 # AMPERSAND +<U0027> \x27 |0 # APOSTROPHE +<U0028> \x28 |0 # LEFT PARENTHESIS +<U0029> \x29 |0 # RIGHT PARENTHESIS +<U002a> \x2a |0 # ASTERISK +<U002b> \x2b |0 # PLUS SIGN +<U002c> \x2c |0 # COMMA +<U002d> \x2d |0 # HYPHEN-MINUS +<U002e> \x2e |0 # FULL STOP +<U002f> \x2f |0 # SOLIDUS +<U0030> \x30 |0 # DIGIT ZERO +<U0031> \x31 |0 # DIGIT ONE +<U0032> \x32 |0 # DIGIT TWO +<U0033> \x33 |0 # DIGIT THREE +<U0034> \x34 |0 # DIGIT FOUR +<U0035> \x35 |0 # DIGIT FIVE +<U0036> \x36 |0 # DIGIT SIX +<U0037> \x37 |0 # DIGIT SEVEN +<U0038> \x38 |0 # DIGIT EIGHT +<U0039> \x39 |0 # DIGIT NINE +<U003a> \x3a |0 # COLON +<U003b> \x3b |0 # SEMICOLON +<U003c> \x3c |0 # LESS-THAN SIGN +<U003d> \x3d |0 # EQUALS SIGN +<U003e> \x3e |0 # GREATER-THAN SIGN +<U003f> \x3f |0 # QUESTION MARK +<U0040> \x40 |0 # COMMERCIAL AT +<U0041> \x41 |0 # LATIN CAPITAL LETTER A +<U0042> \x42 |0 # LATIN CAPITAL LETTER B +<U0043> \x43 |0 # LATIN CAPITAL LETTER C +<U0044> \x44 |0 # LATIN CAPITAL LETTER D +<U0045> \x45 |0 # LATIN CAPITAL LETTER E +<U0046> \x46 |0 # LATIN CAPITAL LETTER F +<U0047> \x47 |0 # LATIN CAPITAL LETTER G +<U0048> \x48 |0 # LATIN CAPITAL LETTER H +<U0049> \x49 |0 # LATIN CAPITAL LETTER I +<U004a> \x4a |0 # LATIN CAPITAL LETTER J +<U004b> \x4b |0 # LATIN CAPITAL LETTER K +<U004c> \x4c |0 # LATIN CAPITAL LETTER L +<U004d> \x4d |0 # LATIN CAPITAL LETTER M +<U004e> \x4e |0 # LATIN CAPITAL LETTER N +<U004f> \x4f |0 # LATIN CAPITAL LETTER O +<U0050> \x50 |0 # LATIN CAPITAL LETTER P +<U0051> \x51 |0 # LATIN CAPITAL LETTER Q +<U0052> \x52 |0 # LATIN CAPITAL LETTER R +<U0053> \x53 |0 # LATIN CAPITAL LETTER S +<U0054> \x54 |0 # LATIN CAPITAL LETTER T +<U0055> \x55 |0 # LATIN CAPITAL LETTER U +<U0056> \x56 |0 # LATIN CAPITAL LETTER V +<U0057> \x57 |0 # LATIN CAPITAL LETTER W +<U0058> \x58 |0 # LATIN CAPITAL LETTER X +<U0059> \x59 |0 # LATIN CAPITAL LETTER Y +<U005a> \x5a |0 # LATIN CAPITAL LETTER Z +<U005b> \x5b |0 # LEFT SQUARE BRACKET +<U005c> \x5c |0 # REVERSE SOLIDUS +<U005d> \x5d |0 # RIGHT SQUARE BRACKET +<U005e> \x5e |0 # CIRCUMFLEX ACCENT +<U005f> \x5f |0 # LOW LINE +<U0060> \x60 |0 # GRAVE ACCENT +<U0061> \x61 |0 # LATIN SMALL LETTER A +<U0062> \x62 |0 # LATIN SMALL LETTER B +<U0063> \x63 |0 # LATIN SMALL LETTER C +<U0064> \x64 |0 # LATIN SMALL LETTER D +<U0065> \x65 |0 # LATIN SMALL LETTER E +<U0066> \x66 |0 # LATIN SMALL LETTER F +<U0067> \x67 |0 # LATIN SMALL LETTER G +<U0068> \x68 |0 # LATIN SMALL LETTER H +<U0069> \x69 |0 # LATIN SMALL LETTER I +<U006a> \x6a |0 # LATIN SMALL LETTER J +<U006b> \x6b |0 # LATIN SMALL LETTER K +<U006c> \x6c |0 # LATIN SMALL LETTER L +<U006d> \x6d |0 # LATIN SMALL LETTER M +<U006e> \x6e |0 # LATIN SMALL LETTER N +<U006f> \x6f |0 # LATIN SMALL LETTER O +<U0070> \x70 |0 # LATIN SMALL LETTER P +<U0071> \x71 |0 # LATIN SMALL LETTER Q +<U0072> \x72 |0 # LATIN SMALL LETTER R +<U0073> \x73 |0 # LATIN SMALL LETTER S +<U0074> \x74 |0 # LATIN SMALL LETTER T +<U0075> \x75 |0 # LATIN SMALL LETTER U +<U0076> \x76 |0 # LATIN SMALL LETTER V +<U0077> \x77 |0 # LATIN SMALL LETTER W +<U0078> \x78 |0 # LATIN SMALL LETTER X +<U0079> \x79 |0 # LATIN SMALL LETTER Y +<U007a> \x7a |0 # LATIN SMALL LETTER Z +<U007b> \x7b |0 # LEFT CURLY BRACKET +<U007c> \x7c |0 # VERTICAL LINE +<U007d> \x7d |0 # RIGHT CURLY BRACKET +<U007e> \x7e |0 # TILDE +<U007f> \x7f |0 # DELETE +<U00a0> \xff |0 # NO-BREAK SPACE +<U00a1> \xad |0 # INVERTED EXCLAMATION MARK +<U00a2> \xbd |0 # CENT SIGN +<U00a3> \x9c |0 # POUND SIGN +<U00a4> \xcf |0 # CURRENCY SIGN +<U00a5> \xbe |0 # YEN SIGN +<U00a6> \xdd |0 # BROKEN BAR +<U00a7> \xf5 |0 # SECTION SIGN +<U00a8> \xf9 |0 # DIAERESIS +<U00a9> \xb8 |0 # COPYRIGHT SIGN +<U00aa> \xa6 |0 # FEMININE ORDINAL INDICATOR +<U00ab> \xae |0 # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK +<U00ac> \xaa |0 # NOT SIGN +<U00ad> \xf0 |0 # SOFT HYPHEN +<U00ae> \xa9 |0 # REGISTERED SIGN +<U00af> \xee |0 # MACRON +<U00b0> \xf8 |0 # DEGREE SIGN +<U00b1> \xf1 |0 # PLUS-MINUS SIGN +<U00b2> \xfd |0 # SUPERSCRIPT TWO +<U00b3> \xfc |0 # SUPERSCRIPT THREE +<U00b4> \xef |0 # ACUTE ACCENT +<U00b5> \xe6 |0 # MICRO SIGN +<U00b6> \xf4 |0 # PILCROW SIGN +<U00b7> \xfa |0 # MIDDLE DOT +<U00b8> \xf7 |0 # CEDILLA +<U00b9> \xfb |0 # SUPERSCRIPT ONE +<U00ba> \xa7 |0 # MASCULINE ORDINAL INDICATOR +<U00bb> \xaf |0 # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK +<U00bc> \xac |0 # VULGAR FRACTION ONE QUARTER +<U00bd> \xab |0 # VULGAR FRACTION ONE HALF +<U00be> \xf3 |0 # VULGAR FRACTION THREE QUARTERS +<U00bf> \xa8 |0 # INVERTED QUESTION MARK +<U00c0> \xb7 |0 # LATIN CAPITAL LETTER A WITH GRAVE +<U00c1> \xb5 |0 # LATIN CAPITAL LETTER A WITH ACUTE +<U00c2> \xb6 |0 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX +<U00c3> \xc7 |0 # LATIN CAPITAL LETTER A WITH TILDE +<U00c4> \x8e |0 # LATIN CAPITAL LETTER A WITH DIAERESIS +<U00c5> \x8f |0 # LATIN CAPITAL LETTER A WITH RING ABOVE +<U00c6> \x92 |0 # LATIN CAPITAL LIGATURE AE +<U00c7> \x80 |0 # LATIN CAPITAL LETTER C WITH CEDILLA +<U00c8> \xd4 |0 # LATIN CAPITAL LETTER E WITH GRAVE +<U00c9> \x90 |0 # LATIN CAPITAL LETTER E WITH ACUTE +<U00ca> \xd2 |0 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX +<U00cb> \xd3 |0 # LATIN CAPITAL LETTER E WITH DIAERESIS +<U00cc> \xde |0 # LATIN CAPITAL LETTER I WITH GRAVE +<U00cd> \xd6 |0 # LATIN CAPITAL LETTER I WITH ACUTE +<U00ce> \xd7 |0 # LATIN CAPITAL LETTER I WITH CIRCUMFLEX +<U00cf> \xd8 |0 # LATIN CAPITAL LETTER I WITH DIAERESIS +<U00d0> \xd1 |0 # LATIN CAPITAL LETTER ETH +<U00d1> \xa5 |0 # LATIN CAPITAL LETTER N WITH TILDE +<U00d2> \xe3 |0 # LATIN CAPITAL LETTER O WITH GRAVE +<U00d3> \xe0 |0 # LATIN CAPITAL LETTER O WITH ACUTE +<U00d4> \xe2 |0 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX +<U00d5> \xe5 |0 # LATIN CAPITAL LETTER O WITH TILDE +<U00d6> \x99 |0 # LATIN CAPITAL LETTER O WITH DIAERESIS +<U00d7> \x9e |0 # MULTIPLICATION SIGN +<U00d8> \x9d |0 # LATIN CAPITAL LETTER O WITH STROKE +<U00d9> \xeb |0 # LATIN CAPITAL LETTER U WITH GRAVE +<U00da> \xe9 |0 # LATIN CAPITAL LETTER U WITH ACUTE +<U00db> \xea |0 # LATIN CAPITAL LETTER U WITH CIRCUMFLEX +<U00dc> \x9a |0 # LATIN CAPITAL LETTER U WITH DIAERESIS +<U00dd> \xed |0 # LATIN CAPITAL LETTER Y WITH ACUTE +<U00de> \xe8 |0 # LATIN CAPITAL LETTER THORN +<U00df> \xe1 |0 # LATIN SMALL LETTER SHARP S +<U00e0> \x85 |0 # LATIN SMALL LETTER A WITH GRAVE +<U00e1> \xa0 |0 # LATIN SMALL LETTER A WITH ACUTE +<U00e2> \x83 |0 # LATIN SMALL LETTER A WITH CIRCUMFLEX +<U00e3> \xc6 |0 # LATIN SMALL LETTER A WITH TILDE +<U00e4> \x84 |0 # LATIN SMALL LETTER A WITH DIAERESIS +<U00e5> \x86 |0 # LATIN SMALL LETTER A WITH RING ABOVE +<U00e6> \x91 |0 # LATIN SMALL LIGATURE AE +<U00e7> \x87 |0 # LATIN SMALL LETTER C WITH CEDILLA +<U00e8> \x8a |0 # LATIN SMALL LETTER E WITH GRAVE +<U00e9> \x82 |0 # LATIN SMALL LETTER E WITH ACUTE +<U00ea> \x88 |0 # LATIN SMALL LETTER E WITH CIRCUMFLEX +<U00eb> \x89 |0 # LATIN SMALL LETTER E WITH DIAERESIS +<U00ec> \x8d |0 # LATIN SMALL LETTER I WITH GRAVE +<U00ed> \xa1 |0 # LATIN SMALL LETTER I WITH ACUTE +<U00ee> \x8c |0 # LATIN SMALL LETTER I WITH CIRCUMFLEX +<U00ef> \x8b |0 # LATIN SMALL LETTER I WITH DIAERESIS +<U00f0> \xd0 |0 # LATIN SMALL LETTER ETH +<U00f1> \xa4 |0 # LATIN SMALL LETTER N WITH TILDE +<U00f2> \x95 |0 # LATIN SMALL LETTER O WITH GRAVE +<U00f3> \xa2 |0 # LATIN SMALL LETTER O WITH ACUTE +<U00f4> \x93 |0 # LATIN SMALL LETTER O WITH CIRCUMFLEX +<U00f5> \xe4 |0 # LATIN SMALL LETTER O WITH TILDE +<U00f6> \x94 |0 # LATIN SMALL LETTER O WITH DIAERESIS +<U00f7> \xf6 |0 # DIVISION SIGN +<U00f8> \x9b |0 # LATIN SMALL LETTER O WITH STROKE +<U00f9> \x97 |0 # LATIN SMALL LETTER U WITH GRAVE +<U00fa> \xa3 |0 # LATIN SMALL LETTER U WITH ACUTE +<U00fb> \x96 |0 # LATIN SMALL LETTER U WITH CIRCUMFLEX +<U00fc> \x81 |0 # LATIN SMALL LETTER U WITH DIAERESIS +<U00fd> \xec |0 # LATIN SMALL LETTER Y WITH ACUTE +<U00fe> \xe7 |0 # LATIN SMALL LETTER THORN +<U00ff> \x98 |0 # LATIN SMALL LETTER Y WITH DIAERESIS +<U20ac> \xd5 |0 # EURO SIGN +<U0192> \x9f |0 # LATIN SMALL LETTER F WITH HOOK +<U2017> \xf2 |0 # DOUBLE LOW LINE +<U2500> \xc4 |0 # BOX DRAWINGS LIGHT HORIZONTAL +<U2502> \xb3 |0 # BOX DRAWINGS LIGHT VERTICAL +<U250c> \xda |0 # BOX DRAWINGS LIGHT DOWN AND RIGHT +<U2510> \xbf |0 # BOX DRAWINGS LIGHT DOWN AND LEFT +<U2514> \xc0 |0 # BOX DRAWINGS LIGHT UP AND RIGHT +<U2518> \xd9 |0 # BOX DRAWINGS LIGHT UP AND LEFT +<U251c> \xc3 |0 # BOX DRAWINGS LIGHT VERTICAL AND RIGHT +<U2524> \xb4 |0 # BOX DRAWINGS LIGHT VERTICAL AND LEFT +<U252c> \xc2 |0 # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL +<U2534> \xc1 |0 # BOX DRAWINGS LIGHT UP AND HORIZONTAL +<U253c> \xc5 |0 # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL +<U2550> \xcd |0 # BOX DRAWINGS DOUBLE HORIZONTAL +<U2551> \xba |0 # BOX DRAWINGS DOUBLE VERTICAL +<U2554> \xc9 |0 # BOX DRAWINGS DOUBLE DOWN AND RIGHT +<U2557> \xbb |0 # BOX DRAWINGS DOUBLE DOWN AND LEFT +<U255a> \xc8 |0 # BOX DRAWINGS DOUBLE UP AND RIGHT +<U255d> \xbc |0 # BOX DRAWINGS DOUBLE UP AND LEFT +<U2560> \xcc |0 # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT +<U2563> \xb9 |0 # BOX DRAWINGS DOUBLE VERTICAL AND LEFT +<U2566> \xcb |0 # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL +<U2569> \xca |0 # BOX DRAWINGS DOUBLE UP AND HORIZONTAL +<U256c> \xce |0 # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL +<U2580> \xdf |0 # UPPER HALF BLOCK +<U2584> \xdc |0 # LOWER HALF BLOCK +<U2588> \xdb |0 # FULL BLOCK +<U2591> \xb0 |0 # LIGHT SHADE +<U2592> \xb1 |0 # MEDIUM SHADE +<U2593> \xb2 |0 # DARK SHADE +<U25a0> \xfe |0 # BLACK SQUARE +END CHARMAP @@ -1448,7 +1448,7 @@ the scalar's value cannot change unless written to. STMT_START { \ if (SvTYPE(sv) < SVt_PV && SvTYPE(sv) != SVt_IV) \ sv_upgrade(sv, SVt_IV); \ - else if (SvPVX_const(sv)) { \ + else if (SvTYPE(sv) >= SVt_PV) { \ SvPV_free(sv); \ SvLEN_set(sv, 0); \ SvCUR_set(sv, 0); \ |