Fix regression from upgrade FIX 5.0 (Revision 46944)

../../../epan/dissectors/packet-fix.h:1450:10: error: multi-character character constant [-Werror=multichar]
../../../epan/dissectors/packet-fix.h:1451:10: error: multi-character character constant [-Werror=multichar]
[...]

When FIX field type is MULTIPLESTRINGVALUE use string_string (not value_string)

And regenerated packet-fix.h

svn path=/trunk/; revision=46947
This commit is contained in:
Alexis La Goutte 2013-01-05 10:12:44 +00:00
parent 3fdc413fd6
commit 5d6a6b4652
3 changed files with 200 additions and 191 deletions

View File

@ -1329,149 +1329,149 @@ typedef struct _fix_field {
};
static const value_string QuoteCondition_val[] = {
{ 'A', "OPEN ACTIVE" },
{ 'B', "CLOSED INACTIVE" },
{ 'C', "EXCHANGE BEST" },
{ 'D', "CONSOLIDATED BEST" },
{ 'E', "LOCKED" },
{ 'F', "CROSSED" },
{ 'G', "DEPTH" },
{ 'H', "FAST TRADING" },
{ 'I', "NON FIRM" },
{ 'L', "MANUAL SLOW QUOTE" },
{ 'J', "OUTRIGHT PRICE" },
{ 'K', "IMPLIED PRICE" },
{ 'M', "DEPTH ON OFFER" },
{ 'N', "DEPTH ON BID" },
{ 'O', "CLOSING" },
{ 'P', "NEWS DISSEMINATION" },
{ 'Q', "TRADING RANGE" },
{ 'R', "ORDER INFLUX" },
{ 'S', "DUE TO RELATED" },
{ 'T', "NEWS PENDING" },
{ 'U', "ADDITIONAL INFO" },
{ 'V', "ADDITIONAL INFO DUE TO RELATED" },
{ 'W', "RESUME" },
{ 'X', "VIEW OF COMMON" },
{ 'Y', "VOLUME ALERT" },
{ 'Z', "ORDER IMBALANCE" },
{ 'a', "EQUIPMENT CHANGEOVER" },
{ 'b', "NO OPEN" },
{ 'c', "REGULAR ETH" },
{ 'd', "AUTOMATIC EXECUTION" },
{ 'e', "AUTOMATIC EXECUTION ETH" },
{ 'f ', "FAST MARKET ETH" },
{ 'g', "INACTIVE ETH" },
{ 'h', "ROTATION" },
{ 'i', "ROTATION ETH" },
{ 'j', "HALT" },
{ 'k', "HALT ETH" },
{ 'l', "DUE TO NEWS DISSEMINATION" },
{ 'm', "DUE TO NEWS PENDING" },
{ 'n', "TRADING RESUME" },
{ 'o', "OUT OF SEQUENCE" },
{ 'p', "BID SPECIALIST" },
{ 'q', "OFFER SPECIALIST" },
{ 'r', "BID OFFER SPECIALIST" },
{ 's', "END OF DAY SAM" },
{ 't', "FORBIDDEN SAM" },
{ 'u', "FROZEN SAM" },
{ 'v', "PREOPENING SAM" },
{ 'w', "OPENING SAM" },
{ 'x', "OPEN SAM" },
{ 'y', "SURVEILLANCE SAM" },
{ 'z', "SUSPENDED SAM" },
{ '0', "RESERVED SAM" },
{ '1', "NO ACTIVE SAM" },
{ '2', "RESTRICTED" },
{ '3', "REST OF BOOK VWAP" },
{ '4', "BETTER PRICES IN CONDITIONAL ORDERS" },
{ '5', "MEDIAN PRICE" },
{ '6', "FULL CURVE" },
{ '7', "FLAT CURVE" },
static const string_string QuoteCondition_val[] = {
{ "A", "OPEN ACTIVE" },
{ "B", "CLOSED INACTIVE" },
{ "C", "EXCHANGE BEST" },
{ "D", "CONSOLIDATED BEST" },
{ "E", "LOCKED" },
{ "F", "CROSSED" },
{ "G", "DEPTH" },
{ "H", "FAST TRADING" },
{ "I", "NON FIRM" },
{ "L", "MANUAL SLOW QUOTE" },
{ "J", "OUTRIGHT PRICE" },
{ "K", "IMPLIED PRICE" },
{ "M", "DEPTH ON OFFER" },
{ "N", "DEPTH ON BID" },
{ "O", "CLOSING" },
{ "P", "NEWS DISSEMINATION" },
{ "Q", "TRADING RANGE" },
{ "R", "ORDER INFLUX" },
{ "S", "DUE TO RELATED" },
{ "T", "NEWS PENDING" },
{ "U", "ADDITIONAL INFO" },
{ "V", "ADDITIONAL INFO DUE TO RELATED" },
{ "W", "RESUME" },
{ "X", "VIEW OF COMMON" },
{ "Y", "VOLUME ALERT" },
{ "Z", "ORDER IMBALANCE" },
{ "a", "EQUIPMENT CHANGEOVER" },
{ "b", "NO OPEN" },
{ "c", "REGULAR ETH" },
{ "d", "AUTOMATIC EXECUTION" },
{ "e", "AUTOMATIC EXECUTION ETH" },
{ "f ", "FAST MARKET ETH" },
{ "g", "INACTIVE ETH" },
{ "h", "ROTATION" },
{ "i", "ROTATION ETH" },
{ "j", "HALT" },
{ "k", "HALT ETH" },
{ "l", "DUE TO NEWS DISSEMINATION" },
{ "m", "DUE TO NEWS PENDING" },
{ "n", "TRADING RESUME" },
{ "o", "OUT OF SEQUENCE" },
{ "p", "BID SPECIALIST" },
{ "q", "OFFER SPECIALIST" },
{ "r", "BID OFFER SPECIALIST" },
{ "s", "END OF DAY SAM" },
{ "t", "FORBIDDEN SAM" },
{ "u", "FROZEN SAM" },
{ "v", "PREOPENING SAM" },
{ "w", "OPENING SAM" },
{ "x", "OPEN SAM" },
{ "y", "SURVEILLANCE SAM" },
{ "z", "SUSPENDED SAM" },
{ "0", "RESERVED SAM" },
{ "1", "NO ACTIVE SAM" },
{ "2", "RESTRICTED" },
{ "3", "REST OF BOOK VWAP" },
{ "4", "BETTER PRICES IN CONDITIONAL ORDERS" },
{ "5", "MEDIAN PRICE" },
{ "6", "FULL CURVE" },
{ "7", "FLAT CURVE" },
{ 0, NULL }
};
static const value_string TradeCondition_val[] = {
{ 'A', "CASH" },
{ 'B', "AVERAGE PRICE TRADE" },
{ 'C', "CASH TRADE" },
{ 'D', "NEXT DAY" },
{ 'E', "OPENING REOPENING TRADE DETAIL" },
{ 'F', "INTRADAY TRADE DETAIL" },
{ 'G', "RULE 127 TRADE" },
{ 'H', "RULE 155 TRADE" },
{ 'I', "SOLD LAST" },
{ 'J', "NEXT DAY TRADE" },
{ 'K', "OPENED" },
{ 'L', "SELLER" },
{ 'M', "SOLD" },
{ 'N', "STOPPED STOCK" },
{ 'P', "IMBALANCE MORE BUYERS" },
{ 'Q', "IMBALANCE MORE SELLERS" },
{ 'R', "OPENING PRICE" },
{ 'S', "BARGAIN CONDITION" },
{ 'T', "CONVERTED PRICE INDICATOR" },
{ 'U', "EXCHANGE LAST" },
{ 'V', "FINAL PRICE OF SESSION" },
{ 'W', "EX PIT" },
{ 'X', "CROSSED X" },
{ 'Y', "TRADES RESULTING FROM MANUAL SLOW QUOTE" },
{ 'Z', "TRADES RESULTING FROM INTERMARKET SWEEP" },
{ '0', "CANCEL" },
{ 'a', "VOLUME ONLY" },
{ 'b', "DIRECT PLUS" },
{ 'c', "ACQUISITION" },
{ 'd', "BUNCHED" },
{ 'e', "DISTRIBUTION" },
{ 'f', "BUNCHED SALE" },
{ 'g', "SPLIT TRADE" },
{ 'h', "CANCEL STOPPED" },
{ 'i', "CANCEL ETH" },
{ 'j', "CANCEL STOPPED ETH" },
{ 'k', "OUT OF SEQUENCE ETH" },
{ 'l', "CANCEL LAST ETH" },
{ 'm', "SOLD LAST SALE ETH" },
{ 'n', "CANCEL LAST" },
{ 'o', "SOLD LAST SALE" },
{ 'p', "CANCEL OPEN" },
{ 'q', "CANCEL OPEN ETH" },
{ 'r', "OPENED SALE ETH" },
{ 's', "CANCEL ONLY" },
{ 't', "CANCEL ONLY ETH" },
{ 'u', "LATE OPEN ETH" },
{ 'v', "AUTO EXECUTION ETH" },
{ 'w', "REOPEN" },
{ 'x', "REOPEN ETH" },
{ 'y', "ADJUSTED" },
{ 'z', "ADJUSTED ETH" },
{ 'AA', "SPREAD" },
{ 'AB', "SPREAD ETH" },
{ 'AC', "STRADDLE" },
{ 'AD', "STRADDLE ETH" },
{ 'AE', "STOPPED" },
{ 'AF', "STOPPED ETH" },
{ 'AG', "REGULAR ETH" },
{ 'AH', "COMBO" },
{ 'AI', "COMBO ETH" },
{ 'AJ', "OFFICIAL CLOSING PRICE" },
{ 'AK', "PRIOR REFERENCE PRICE" },
{ 'AL', "STOPPED SOLD LAST" },
{ 'AM', "STOPPED OUT OF SEQUENCE" },
{ 'AN', "OFFICAL CLOSING PRICE" },
{ 'AO', "CROSSED AO" },
{ 'AP', "FAST MARKET" },
{ 'AQ', "AUTOMATIC EXECUTION" },
{ 'AR', "FORM T" },
{ 'AS', "BASKET INDEX" },
{ 'AT', "BURST BASKET" },
{ '1', "IMPLIED TRADE" },
{ 'AV', "OUTSIDE SPREAD" },
{ '2', "MARKETPLACE ENTERED TRADE" },
{ '3', "MULT ASSET CLASS MULTILEG TRADE" },
{ '4', "MULTILEG TO MULTILEG TRADE" },
static const string_string TradeCondition_val[] = {
{ "A", "CASH" },
{ "B", "AVERAGE PRICE TRADE" },
{ "C", "CASH TRADE" },
{ "D", "NEXT DAY" },
{ "E", "OPENING REOPENING TRADE DETAIL" },
{ "F", "INTRADAY TRADE DETAIL" },
{ "G", "RULE 127 TRADE" },
{ "H", "RULE 155 TRADE" },
{ "I", "SOLD LAST" },
{ "J", "NEXT DAY TRADE" },
{ "K", "OPENED" },
{ "L", "SELLER" },
{ "M", "SOLD" },
{ "N", "STOPPED STOCK" },
{ "P", "IMBALANCE MORE BUYERS" },
{ "Q", "IMBALANCE MORE SELLERS" },
{ "R", "OPENING PRICE" },
{ "S", "BARGAIN CONDITION" },
{ "T", "CONVERTED PRICE INDICATOR" },
{ "U", "EXCHANGE LAST" },
{ "V", "FINAL PRICE OF SESSION" },
{ "W", "EX PIT" },
{ "X", "CROSSED X" },
{ "Y", "TRADES RESULTING FROM MANUAL SLOW QUOTE" },
{ "Z", "TRADES RESULTING FROM INTERMARKET SWEEP" },
{ "0", "CANCEL" },
{ "a", "VOLUME ONLY" },
{ "b", "DIRECT PLUS" },
{ "c", "ACQUISITION" },
{ "d", "BUNCHED" },
{ "e", "DISTRIBUTION" },
{ "f", "BUNCHED SALE" },
{ "g", "SPLIT TRADE" },
{ "h", "CANCEL STOPPED" },
{ "i", "CANCEL ETH" },
{ "j", "CANCEL STOPPED ETH" },
{ "k", "OUT OF SEQUENCE ETH" },
{ "l", "CANCEL LAST ETH" },
{ "m", "SOLD LAST SALE ETH" },
{ "n", "CANCEL LAST" },
{ "o", "SOLD LAST SALE" },
{ "p", "CANCEL OPEN" },
{ "q", "CANCEL OPEN ETH" },
{ "r", "OPENED SALE ETH" },
{ "s", "CANCEL ONLY" },
{ "t", "CANCEL ONLY ETH" },
{ "u", "LATE OPEN ETH" },
{ "v", "AUTO EXECUTION ETH" },
{ "w", "REOPEN" },
{ "x", "REOPEN ETH" },
{ "y", "ADJUSTED" },
{ "z", "ADJUSTED ETH" },
{ "AA", "SPREAD" },
{ "AB", "SPREAD ETH" },
{ "AC", "STRADDLE" },
{ "AD", "STRADDLE ETH" },
{ "AE", "STOPPED" },
{ "AF", "STOPPED ETH" },
{ "AG", "REGULAR ETH" },
{ "AH", "COMBO" },
{ "AI", "COMBO ETH" },
{ "AJ", "OFFICIAL CLOSING PRICE" },
{ "AK", "PRIOR REFERENCE PRICE" },
{ "AL", "STOPPED SOLD LAST" },
{ "AM", "STOPPED OUT OF SEQUENCE" },
{ "AN", "OFFICAL CLOSING PRICE" },
{ "AO", "CROSSED AO" },
{ "AP", "FAST MARKET" },
{ "AQ", "AUTOMATIC EXECUTION" },
{ "AR", "FORM T" },
{ "AS", "BASKET INDEX" },
{ "AT", "BURST BASKET" },
{ "1", "IMPLIED TRADE" },
{ "AV", "OUTSIDE SPREAD" },
{ "2", "MARKETPLACE ENTERED TRADE" },
{ "3", "MULT ASSET CLASS MULTILEG TRADE" },
{ "4", "MULTILEG TO MULTILEG TRADE" },
{ 0, NULL }
};
@ -3972,31 +3972,31 @@ typedef struct _fix_field {
};
static const value_string CustOrderHandlingInst_val[] = {
{ 'ADD', "ADD ON ORDER" },
{ 'AON', "ALL OR NONE" },
{ 'CNH', "CASH NOT HELD" },
{ 'DIR', "DIRECTED ORDER" },
{ 'E.W', "EXCHANGE FOR PHYSICAL TRANSACTION" },
{ 'FOK', "FILL OR KILL" },
{ 'IO', "IMBALANCE ONLY" },
{ 'IOC', "IMMEDIATE OR CANCEL" },
{ 'LOO', "LIMIT ON OPEN" },
{ 'LOC', "LIMIT ON CLOSE" },
{ 'MAO', "MARKET AT OPEN" },
{ 'MAC', "MARKET AT CLOSE" },
{ 'MOO', "MARKET ON OPEN" },
{ 'MOC', "MARKET ON CLOSE" },
{ 'MQT', "MINIMUM QUANTITY" },
{ 'NH', "NOT HELD" },
{ 'OVD', "OVER THE DAY" },
{ 'PEG', "PEGGED" },
{ 'RSV', "RESERVE SIZE ORDER" },
{ 'S.W', "STOP STOCK TRANSACTION" },
{ 'SCL', "SCALE" },
{ 'TMO', "TIME ORDER" },
{ 'TS', "TRAILING STOP" },
{ 'WRK', "WORK" },
static const string_string CustOrderHandlingInst_val[] = {
{ "ADD", "ADD ON ORDER" },
{ "AON", "ALL OR NONE" },
{ "CNH", "CASH NOT HELD" },
{ "DIR", "DIRECTED ORDER" },
{ "E.W", "EXCHANGE FOR PHYSICAL TRANSACTION" },
{ "FOK", "FILL OR KILL" },
{ "IO", "IMBALANCE ONLY" },
{ "IOC", "IMMEDIATE OR CANCEL" },
{ "LOO", "LIMIT ON OPEN" },
{ "LOC", "LIMIT ON CLOSE" },
{ "MAO", "MARKET AT OPEN" },
{ "MAC", "MARKET AT CLOSE" },
{ "MOO", "MARKET ON OPEN" },
{ "MOC", "MARKET ON CLOSE" },
{ "MQT", "MINIMUM QUANTITY" },
{ "NH", "NOT HELD" },
{ "OVD", "OVER THE DAY" },
{ "PEG", "PEGGED" },
{ "RSV", "RESERVE SIZE ORDER" },
{ "S.W", "STOP STOCK TRANSACTION" },
{ "SCL", "SCALE" },
{ "TMO", "TIME ORDER" },
{ "TS", "TRAILING STOP" },
{ "WRK", "WORK" },
{ 0, NULL }
};
@ -4029,31 +4029,31 @@ typedef struct _fix_field {
};
static const value_string DeskOrderHandlingInst_val[] = {
{ 'ADD', "ADD ON ORDER" },
{ 'AON', "ALL OR NONE" },
{ 'CNH', "CASH NOT HELD" },
{ 'DIR', "DIRECTED ORDER" },
{ 'E.W', "EXCHANGE FOR PHYSICAL TRANSACTION" },
{ 'FOK', "FILL OR KILL" },
{ 'IO', "IMBALANCE ONLY" },
{ 'IOC', "IMMEDIATE OR CANCEL" },
{ 'LOO', "LIMIT ON OPEN" },
{ 'LOC', "LIMIT ON CLOSE" },
{ 'MAO', "MARKET AT OPEN" },
{ 'MAC', "MARKET AT CLOSE" },
{ 'MOO', "MARKET ON OPEN" },
{ 'MOC', "MARKET ON CLOSE" },
{ 'MQT', "MINIMUM QUANTITY" },
{ 'NH', "NOT HELD" },
{ 'OVD', "OVER THE DAY" },
{ 'PEG', "PEGGED" },
{ 'RSV', "RESERVE SIZE ORDER" },
{ 'S.W', "STOP STOCK TRANSACTION" },
{ 'SCL', "SCALE" },
{ 'TMO', "TIME ORDER" },
{ 'TS', "TRAILING STOP" },
{ 'WRK', "WORK" },
static const string_string DeskOrderHandlingInst_val[] = {
{ "ADD", "ADD ON ORDER" },
{ "AON", "ALL OR NONE" },
{ "CNH", "CASH NOT HELD" },
{ "DIR", "DIRECTED ORDER" },
{ "E.W", "EXCHANGE FOR PHYSICAL TRANSACTION" },
{ "FOK", "FILL OR KILL" },
{ "IO", "IMBALANCE ONLY" },
{ "IOC", "IMMEDIATE OR CANCEL" },
{ "LOO", "LIMIT ON OPEN" },
{ "LOC", "LIMIT ON CLOSE" },
{ "MAO", "MARKET AT OPEN" },
{ "MAC", "MARKET AT CLOSE" },
{ "MOO", "MARKET ON OPEN" },
{ "MOC", "MARKET ON CLOSE" },
{ "MQT", "MINIMUM QUANTITY" },
{ "NH", "NOT HELD" },
{ "OVD", "OVER THE DAY" },
{ "PEG", "PEGGED" },
{ "RSV", "RESERVE SIZE ORDER" },
{ "S.W", "STOP STOCK TRANSACTION" },
{ "SCL", "SCALE" },
{ "TMO", "TIME ORDER" },
{ "TS", "TRAILING STOP" },
{ "WRK", "WORK" },
{ 0, NULL }
};
@ -4934,6 +4934,7 @@ typedef struct _fix_field {
{ 0, NULL }
};
static fix_field fix_fields[] = {
{ 1, -1, 0, NULL }, /* Account */
@ -6548,7 +6549,7 @@ static fix_field fix_fields[] = {
{ 1621, -1, 0, NULL }, /* RiskEncodedSecurityDesc */
};
static hf_register_info hf_FIX[] = {
static hf_register_info hf_FIX[] = {
{ &fix_fields[0].hf_id,
{ "Account (1)", "fix.Account",
@ -14602,3 +14603,8 @@ static fix_field fix_fields[] = {
},
};
#define FIX_40 140
#define FIX_41 211
#define FIX_42 446
#define FIX_43 659
#define FIX_44 956

View File

@ -10604,4 +10604,4 @@
<field number='1620' name='RiskEncodedSecurityDescLen' type='LENGTH' />
<field number='1621' name='RiskEncodedSecurityDesc' type='DATA' />
</fields>
</fix>
</fix>

View File

@ -36,6 +36,7 @@ translate(@description,$uppercase,$smallcase)
<xsl:variable name="val_type" >
<xsl:choose>
<xsl:when test="@type='STRING'"> string_string </xsl:when>
<xsl:when test="@type='MULTIPLESTRINGVALUE'"> string_string </xsl:when>
<xsl:otherwise> value_string </xsl:otherwise>
</xsl:choose>
</xsl:variable>
@ -43,6 +44,8 @@ translate(@description,$uppercase,$smallcase)
<xsl:when test="../@type='INT'">
{ <xsl:value-of select="@enum"/>, "<xsl:value-of select="translate(@description,'_',' ')"/>" },</xsl:when>
<xsl:when test="../@type='STRING'">
{ "<xsl:value-of select="@enum"/>", "<xsl:value-of select="translate(@description,'_',' ')"/>" },</xsl:when>
<xsl:when test="../@type='MULTIPLESTRINGVALUE'">
{ "<xsl:value-of select="@enum"/>", "<xsl:value-of select="translate(@description,'_',' ')"/>" },</xsl:when>
<xsl:otherwise>
{ '<xsl:value-of select="@enum"/>', "<xsl:value-of select="translate(@description,'_',' ')"/>" },</xsl:otherwise>