ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/src/conf_parser.y
(Generate patch)

Comparing ircd-hybrid/trunk/src/conf_parser.y (file contents):
Revision 1822 by michael, Sun Mar 31 14:06:08 2013 UTC vs.
Revision 1823 by michael, Sun Apr 14 18:24:38 2013 UTC

# Line 1710 | Line 1710 | resv_entry: RESV
1710  
1711    reset_block_state();
1712    strlcpy(block_state.rpass.buf, CONF_NOREASON, sizeof(block_state.rpass.buf));
1713 < } '{' resv_items '}' ';';
1713 > } '{' resv_items '}' ';'
1714 > {
1715 >  if (IsChanPrefix(block_state.name.buf[0]))
1716 >    create_channel_resv(block_state.name.buf, block_state.rpass.buf, 1);
1717 >  else if (block_state.name.buf[0])
1718 >    create_nick_resv(block_state.name.buf, block_state.rpass.buf, 1);
1719 > };
1720  
1721   resv_items:     resv_items resv_item | resv_item;
1722 < resv_item:      resv_creason | resv_channel | resv_nick | error ';' ;
1722 > resv_item:      resv_reason | resv_channel | resv_nick | error ';' ;
1723  
1724 < resv_creason: REASON '=' QSTRING ';'
1724 > resv_reason: REASON '=' QSTRING ';'
1725   {
1726    if (conf_parser_ctx.pass == 2)
1727      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
# Line 1723 | Line 1729 | resv_creason: REASON '=' QSTRING ';'
1729  
1730   resv_channel: CHANNEL '=' QSTRING ';'
1731   {
1732 <  if (conf_parser_ctx.pass != 2)
1733 <    break;
1728 <
1729 <  if (IsChanPrefix(*yylval.string))
1730 <    create_channel_resv(yylval.string, block_state.rpass.buf, 1);
1732 >  if (conf_parser_ctx.pass == 2)
1733 >    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
1734   };
1735  
1736   resv_nick: NICK '=' QSTRING ';'
1737   {
1738    if (conf_parser_ctx.pass == 2)
1739 <    create_nick_resv(yylval.string, block_state.rpass.buf, 1);
1739 >    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
1740   };
1741  
1742   /***************************************************************************

Diff Legend

Removed lines
+ Added lines
< Changed lines (old)
> Changed lines (new)