mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 06:38:20 +00:00
binpac: Rename files in patches to match current directory structure
This commit is contained in:
parent
c010152340
commit
6034744a0c
9 changed files with 132 additions and 134 deletions
|
@ -1,10 +1,10 @@
|
||||||
diff -urN bro-1.2.1-orig/src/binpac/pac_expr.cc bro-1.2.1-ssl-binpac/src/binpac/pac_expr.cc
|
diff -urN bro-1.2.1-orig/src/pac_expr.cc bro-1.2.1-ssl-binpac/src/pac_expr.cc
|
||||||
--- bro-1.2.1-orig/src/binpac/pac_expr.cc 2006-07-26 15:02:40.000000000 -0700
|
--- bro-1.2.1-orig/src/pac_expr.cc 2006-07-26 15:02:40.000000000 -0700
|
||||||
+++ bro-1.2.1-ssl-binpac/src/binpac/pac_expr.cc 2007-05-04 14:31:11.728494000 -0700
|
+++ bro-1.2.1-ssl-binpac/src/pac_expr.cc 2007-05-04 14:31:11.728494000 -0700
|
||||||
@@ -776,6 +776,27 @@
|
@@ -776,2 +776,2 @@
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
+ case EXPR_CALLARGS:
|
+ case EXPR_CALLARGS:
|
||||||
+ {
|
+ {
|
||||||
+ mhs = 0;
|
+ mhs = 0;
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
diff -urN bro-1.2.1-orig/src/binpac/pac_expr.cc bro-1.2.1-ssl-binpac/src/binpac/pac_expr.cc
|
diff -urN bro-1.2.1-orig/src/pac_expr.cc bro-1.2.1-ssl-binpac/src/pac_expr.cc
|
||||||
--- bro-1.2.1-orig/src/binpac/pac_expr.cc 2006-07-26 15:02:40.000000000 -0700
|
--- bro-1.2.1-orig/src/pac_expr.cc 2006-07-26 15:02:40.000000000 -0700
|
||||||
+++ bro-1.2.1-ssl-binpac/src/binpac/pac_expr.cc 2007-05-04 14:31:11.728494000 -0700
|
+++ bro-1.2.1-ssl-binpac/src/pac_expr.cc 2007-05-04 14:31:11.728494000 -0700
|
||||||
@@ -245,6 +245,12 @@
|
@@ -245,6 +245,12 @@
|
||||||
out_cc->println("%s %s;",
|
out_cc->println("%s %s;",
|
||||||
val_type->DataTypeStr().c_str(),
|
val_type->DataTypeStr().c_str(),
|
||||||
env->LValue(val_var));
|
env->LValue(val_var));
|
||||||
+
|
+
|
||||||
+ // force evaluation of IDs appearing in case stmt
|
+ // force evaluation of IDs appearing in case stmt
|
||||||
|
@ -12,12 +12,12 @@ diff -urN bro-1.2.1-orig/src/binpac/pac_expr.cc bro-1.2.1-ssl-binpac/src/binpac/
|
||||||
+ (*i)->value()->ForceIDEval(out_cc, env);
|
+ (*i)->value()->ForceIDEval(out_cc, env);
|
||||||
+
|
+
|
||||||
out_cc->println("switch ( %s )", operand_[0]->EvalExpr(out_cc, env));
|
out_cc->println("switch ( %s )", operand_[0]->EvalExpr(out_cc, env));
|
||||||
|
|
||||||
out_cc->inc_indent();
|
out_cc->inc_indent();
|
||||||
@@ -386,6 +392,49 @@
|
@@ -386,6 +392,49 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
+void Expr::ForceIDEval(Output* out_cc, Env* env)
|
+void Expr::ForceIDEval(Output* out_cc, Env* env)
|
||||||
+ {
|
+ {
|
||||||
+ switch ( expr_type_ )
|
+ switch ( expr_type_ )
|
||||||
|
@ -64,24 +64,24 @@ diff -urN bro-1.2.1-orig/src/binpac/pac_expr.cc bro-1.2.1-ssl-binpac/src/binpac/
|
||||||
const char* Expr::EvalExpr(Output* out_cc, Env* env)
|
const char* Expr::EvalExpr(Output* out_cc, Env* env)
|
||||||
{
|
{
|
||||||
GenEval(out_cc, env);
|
GenEval(out_cc, env);
|
||||||
diff -urN bro-1.2.1-orig/src/binpac/pac_expr.h bro-1.2.1-ssl-binpac/src/binpac/pac_expr.h
|
diff -urN bro-1.2.1-orig/src/pac_expr.h bro-1.2.1-ssl-binpac/src/pac_expr.h
|
||||||
--- bro-1.2.1-orig/src/binpac/pac_expr.h 2006-07-26 15:02:39.000000000 -0700
|
--- bro-1.2.1-orig/src/pac_expr.h 2006-07-26 15:02:39.000000000 -0700
|
||||||
+++ bro-1.2.1-ssl-binpac/src/binpac/pac_expr.h 2007-05-04 14:16:31.624287000 -0700
|
+++ bro-1.2.1-ssl-binpac/src/pac_expr.h 2007-05-04 14:16:31.624287000 -0700
|
||||||
@@ -56,6 +56,11 @@
|
@@ -56,6 +56,11 @@
|
||||||
//
|
//
|
||||||
const char *EvalExpr(Output *out, Env *env);
|
const char *EvalExpr(Output *out, Env *env);
|
||||||
|
|
||||||
+ // force evaulation of IDs contained in this expression;
|
+ // force evaulation of IDs contained in this expression;
|
||||||
+ // necessary with case expr and conditional let fields (&if)
|
+ // necessary with case expr and conditional let fields (&if)
|
||||||
+ // for correct parsing of fields
|
+ // for correct parsing of fields
|
||||||
+ void ForceIDEval(Output *out_cc, Env *env);
|
+ void ForceIDEval(Output *out_cc, Env *env);
|
||||||
+
|
+
|
||||||
// Returns the set_* function of the expression.
|
// Returns the set_* function of the expression.
|
||||||
// The expression must be of form ID or x.ID.
|
// The expression must be of form ID or x.ID.
|
||||||
string SetFunc(Output *out, Env *env);
|
string SetFunc(Output *out, Env *env);
|
||||||
diff -urN bro-1.2.1-orig/src/binpac/pac_let.cc bro-1.2.1-ssl-binpac/src/binpac/pac_let.cc
|
diff -urN bro-1.2.1-orig/src/pac_let.cc bro-1.2.1-ssl-binpac/src/pac_let.cc
|
||||||
--- bro-1.2.1-orig/src/binpac/pac_let.cc 2006-07-26 15:02:39.000000000 -0700
|
--- bro-1.2.1-orig/src/pac_let.cc 2006-07-26 15:02:39.000000000 -0700
|
||||||
+++ bro-1.2.1-ssl-binpac/src/binpac/pac_let.cc 2007-05-04 15:32:09.695568000 -0700
|
+++ bro-1.2.1-ssl-binpac/src/pac_let.cc 2007-05-04 15:32:09.695568000 -0700
|
||||||
@@ -80,7 +80,12 @@
|
@@ -80,7 +80,12 @@
|
||||||
if ( type_->attr_if_expr() )
|
if ( type_->attr_if_expr() )
|
||||||
{
|
{
|
||||||
|
@ -92,6 +92,6 @@ diff -urN bro-1.2.1-orig/src/binpac/pac_let.cc bro-1.2.1-ssl-binpac/src/binpac/p
|
||||||
+ // force evaluation of IDs contained in this expr
|
+ // force evaluation of IDs contained in this expr
|
||||||
+ expr()->ForceIDEval(out_cc, env);
|
+ expr()->ForceIDEval(out_cc, env);
|
||||||
+
|
+
|
||||||
out_cc->println("if ( %s )",
|
out_cc->println("if ( %s )",
|
||||||
env->RValue(type_->has_value_var()));
|
env->RValue(type_->has_value_var()));
|
||||||
out_cc->inc_indent();
|
out_cc->inc_indent();
|
||||||
|
|
|
@ -1,37 +1,37 @@
|
||||||
diff -urN bro-1.2.1-orig/src/binpac/pac_let.cc bro-1.2.1-ssl-binpac/src/binpac/pac_let.cc
|
diff -urN bro-1.2.1-orig/src/pac_let.cc bro-1.2.1-ssl-binpac/src/pac_let.cc
|
||||||
--- bro-1.2.1-orig/src/binpac/pac_let.cc 2006-07-26 15:02:39.000000000 -0700
|
--- bro-1.2.1-orig/src/pac_let.cc 2006-07-26 15:02:39.000000000 -0700
|
||||||
+++ bro-1.2.1-ssl-binpac/src/binpac/pac_let.cc 2007-05-04 15:32:09.695568000 -0700
|
+++ bro-1.2.1-ssl-binpac/src/pac_let.cc 2007-05-04 15:32:09.695568000 -0700
|
||||||
@@ -108,11 +108,6 @@
|
@@ -108,11 +108,6 @@
|
||||||
void LetField::GenEval(Output* out_cc, Env* env)
|
void LetField::GenEval(Output* out_cc, Env* env)
|
||||||
{
|
{
|
||||||
GenParseCode(out_cc, env);
|
GenParseCode(out_cc, env);
|
||||||
- if ( type_->attr_if_expr() )
|
- if ( type_->attr_if_expr() )
|
||||||
- {
|
- {
|
||||||
- out_cc->println("BINPAC_ASSERT(%s);",
|
- out_cc->println("BINPAC_ASSERT(%s);",
|
||||||
- env->RValue(type_->has_value_var()));
|
- env->RValue(type_->has_value_var()));
|
||||||
- }
|
- }
|
||||||
}
|
}
|
||||||
|
|
||||||
LetDecl::LetDecl(ID *id, Type *type, Expr *expr)
|
LetDecl::LetDecl(ID *id, Type *type, Expr *expr)
|
||||||
diff -urN bro-1.2.1-orig/src/binpac/pac_type.cc bro-1.2.1-ssl-binpac/src/binpac/pac_type.cc
|
diff -urN bro-1.2.1-orig/src/pac_type.cc bro-1.2.1-ssl-binpac/src/pac_type.cc
|
||||||
--- bro-1.2.1-orig/src/binpac/pac_type.cc 2006-07-26 15:02:40.000000000 -0700
|
--- bro-1.2.1-orig/src/pac_type.cc 2006-07-26 15:02:40.000000000 -0700
|
||||||
+++ bro-1.2.1-ssl-binpac/src/binpac/pac_type.cc 2007-05-24 10:56:42.140658000 -0700
|
+++ bro-1.2.1-ssl-binpac/src/pac_type.cc 2007-05-24 10:56:42.140658000 -0700
|
||||||
@@ -316,9 +316,15 @@
|
@@ -316,9 +316,15 @@
|
||||||
{
|
{
|
||||||
if ( DefineValueVar() )
|
if ( DefineValueVar() )
|
||||||
{
|
{
|
||||||
- out_h->println("%s %s const { return %s; }",
|
- out_h->println("%s %s const { return %s; }",
|
||||||
- DataTypeConstRefStr().c_str(),
|
- DataTypeConstRefStr().c_str(),
|
||||||
- env->RValue(value_var()), lvalue());
|
- env->RValue(value_var()), lvalue());
|
||||||
+ if ( attr_if_expr_ )
|
+ if ( attr_if_expr_ )
|
||||||
+ out_h->println("%s %s const { BINPAC_ASSERT(%s); return %s; }",
|
+ out_h->println("%s %s const { BINPAC_ASSERT(%s); return %s; }",
|
||||||
+ DataTypeConstRefStr().c_str(),
|
+ DataTypeConstRefStr().c_str(),
|
||||||
+ env->RValue(value_var()),
|
+ env->RValue(value_var()),
|
||||||
+ env->RValue(has_value_var()), lvalue());
|
+ env->RValue(has_value_var()), lvalue());
|
||||||
+ else
|
+ else
|
||||||
+ out_h->println("%s %s const { return %s; }",
|
+ out_h->println("%s %s const { return %s; }",
|
||||||
+ DataTypeConstRefStr().c_str(),
|
+ DataTypeConstRefStr().c_str(),
|
||||||
+ env->RValue(value_var()), lvalue());
|
+ env->RValue(value_var()), lvalue());
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (i, FieldList, fields_)
|
foreach (i, FieldList, fields_)
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
diff -urN bro-1.2.1-orig/src/binpac/pac_record.cc bro-1.2.1-ssl-binpac/src/binpac/pac_record.cc
|
diff -urN bro-1.2.1-orig/src/pac_record.cc bro-1.2.1-ssl-binpac/src/pac_record.cc
|
||||||
--- bro-1.2.1-orig/src/binpac/pac_record.cc 2006-07-26 15:02:40.000000000 -0700
|
--- bro-1.2.1-orig/src/pac_record.cc 2006-07-26 15:02:40.000000000 -0700
|
||||||
+++ bro-1.2.1-ssl-binpac/src/binpac/pac_record.cc 2007-05-08 16:13:33.373850000 -0700
|
+++ bro-1.2.1-ssl-binpac/src/pac_record.cc 2007-05-08 16:13:33.373850000 -0700
|
||||||
@@ -123,7 +123,7 @@
|
@@ -123,5 +123,5 @@
|
||||||
void RecordType::DoGenParseCode(Output* out_cc, Env* env,
|
void RecordType::DoGenParseCode(Output* out_cc, Env* env,
|
||||||
const DataPtr& data, int flags)
|
const DataPtr& data, int flags)
|
||||||
{
|
{
|
||||||
- if ( StaticSize(env) >= 0 )
|
- if ( StaticSize(env) >= 0 )
|
||||||
+ if ( !incremental_input() && StaticSize(env) >= 0 )
|
+ if ( !incremental_input() && StaticSize(env) >= 0 )
|
||||||
GenBoundaryCheck(out_cc, env, data);
|
GenBoundaryCheck(out_cc, env, data);
|
||||||
|
|
||||||
if ( incremental_parsing() )
|
if ( incremental_parsing() )
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
diff -urN bro-1.2.1-orig/src/binpac/pac_paramtype.cc bro-1.2.1-ssl-binpac/src/binpac/pac_paramtype.cc
|
diff -urN bro-1.2.1-orig/src/pac_paramtype.cc bro-1.2.1-ssl-binpac/src/pac_paramtype.cc
|
||||||
--- bro-1.2.1-orig/src/binpac/pac_paramtype.cc 2006-07-26 15:02:40.000000000 -0700
|
--- bro-1.2.1-orig/src/pac_paramtype.cc 2006-07-26 15:02:40.000000000 -0700
|
||||||
+++ bro-1.2.1-ssl-binpac/src/binpac/pac_paramtype.cc 2007-05-10 15:09:47.470104000 -0700
|
+++ bro-1.2.1-ssl-binpac/src/pac_paramtype.cc 2007-05-10 15:09:47.470104000 -0700
|
||||||
@@ -208,7 +208,13 @@
|
@@ -208,7 +208,13 @@
|
||||||
const char *parse_func;
|
const char *parse_func;
|
||||||
string parse_params;
|
string parse_params;
|
||||||
|
|
||||||
- if ( ref_type->incremental_input() )
|
- if ( ref_type->incremental_input() )
|
||||||
+ if ( buffer_mode() == BUFFER_NOTHING )
|
+ if ( buffer_mode() == BUFFER_NOTHING )
|
||||||
+ {
|
+ {
|
||||||
|
@ -17,7 +17,7 @@ diff -urN bro-1.2.1-orig/src/binpac/pac_paramtype.cc bro-1.2.1-ssl-binpac/src/bi
|
||||||
parse_func = kParseFuncWithBuffer;
|
parse_func = kParseFuncWithBuffer;
|
||||||
parse_params = env->RValue(flow_buffer_id);
|
parse_params = env->RValue(flow_buffer_id);
|
||||||
@@ -239,15 +245,24 @@
|
@@ -239,15 +245,24 @@
|
||||||
|
|
||||||
if ( incremental_input() )
|
if ( incremental_input() )
|
||||||
{
|
{
|
||||||
- ASSERT(parsing_complete_var());
|
- ASSERT(parsing_complete_var());
|
||||||
|
@ -32,7 +32,7 @@ diff -urN bro-1.2.1-orig/src/binpac/pac_paramtype.cc bro-1.2.1-ssl-binpac/src/bi
|
||||||
+ if ( buffer_mode() == BUFFER_NOTHING )
|
+ if ( buffer_mode() == BUFFER_NOTHING )
|
||||||
+ {
|
+ {
|
||||||
+ out_cc->println("%s;", call_parse_func.c_str());
|
+ out_cc->println("%s;", call_parse_func.c_str());
|
||||||
+ out_cc->println("%s = true;",
|
+ out_cc->println("%s = true;",
|
||||||
+ env->LValue(parsing_complete_var()));
|
+ env->LValue(parsing_complete_var()));
|
||||||
+ }
|
+ }
|
||||||
+ else
|
+ else
|
||||||
|
@ -50,14 +50,14 @@ diff -urN bro-1.2.1-orig/src/binpac/pac_paramtype.cc bro-1.2.1-ssl-binpac/src/bi
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
diff -urN bro-1.2.1-orig/src/binpac/pac_type.cc bro-1.2.1-ssl-binpac/src/binpac/pac_type.cc
|
diff -urN bro-1.2.1-orig/src/pac_type.cc bro-1.2.1-ssl-binpac/src/pac_type.cc
|
||||||
--- bro-1.2.1-orig/src/binpac/pac_type.cc 2006-07-26 15:02:40.000000000 -0700
|
--- bro-1.2.1-orig/src/pac_type.cc 2006-07-26 15:02:40.000000000 -0700
|
||||||
+++ bro-1.2.1-ssl-binpac/src/binpac/pac_type.cc 2007-05-24 10:56:42.140658000 -0700
|
+++ bro-1.2.1-ssl-binpac/src/pac_type.cc 2007-05-24 10:56:42.140658000 -0700
|
||||||
@@ -501,8 +501,8 @@
|
@@ -501,8 +501,8 @@
|
||||||
|
|
||||||
if ( buffer_mode() == BUFFER_NOTHING )
|
if ( buffer_mode() == BUFFER_NOTHING )
|
||||||
{
|
{
|
||||||
- out_cc->println("%s = true;",
|
- out_cc->println("%s = true;",
|
||||||
- env->LValue(parsing_complete_var()));
|
- env->LValue(parsing_complete_var()));
|
||||||
+ // this is the empty type
|
+ // this is the empty type
|
||||||
+ DoGenParseCode(out_cc, env, data, flags);
|
+ DoGenParseCode(out_cc, env, data, flags);
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
diff -urN bro-1.2.1-orig/src/binpac/lib/binpac_buffer.h bro-1.2.1-ssl-binpac/src/binpac/lib/binpac_buffer.h
|
diff -urN bro-1.2.1-orig/src/lib/binpac_buffer.h bro-1.2.1-ssl-binpac/src/lib/binpac_buffer.h
|
||||||
--- bro-1.2.1-orig/src/binpac/lib/binpac_buffer.h 2006-07-26 15:02:38.000000000 -0700
|
--- bro-1.2.1-orig/src/lib/binpac_buffer.h 2006-07-26 15:02:38.000000000 -0700
|
||||||
+++ bro-1.2.1-ssl-binpac/src/binpac/lib/binpac_buffer.h 2007-05-09 16:14:54.501656000 -0700
|
+++ bro-1.2.1-ssl-binpac/src/lib/binpac_buffer.h 2007-05-09 16:14:54.501656000 -0700
|
||||||
@@ -59,6 +59,11 @@
|
@@ -59,6 +59,11 @@
|
||||||
return frame_length_;
|
return frame_length_;
|
||||||
}
|
}
|
||||||
|
|
||||||
+ inline bool data_available() const
|
+ inline bool data_available() const
|
||||||
+ {
|
+ {
|
||||||
+ return buffer_n_ > 0 || orig_data_end_ > orig_data_begin_;
|
+ return buffer_n_ > 0 || orig_data_end_ > orig_data_begin_;
|
||||||
|
@ -13,16 +13,15 @@ diff -urN bro-1.2.1-orig/src/binpac/lib/binpac_buffer.h bro-1.2.1-ssl-binpac/src
|
||||||
void NewLine();
|
void NewLine();
|
||||||
// A negative frame_length represents a frame till EOF
|
// A negative frame_length represents a frame till EOF
|
||||||
void NewFrame(int frame_length, bool chunked_);
|
void NewFrame(int frame_length, bool chunked_);
|
||||||
diff -urN bro-1.2.1-orig/src/binpac/pac_flow.cc bro-1.2.1-ssl-binpac/src/binpac/pac_flow.cc
|
diff -urN bro-1.2.1-orig/src/pac_flow.cc bro-1.2.1-ssl-binpac/src/pac_flow.cc
|
||||||
--- bro-1.2.1-orig/src/binpac/pac_flow.cc 2006-10-12 14:13:12.000000000 -0700
|
--- bro-1.2.1-orig/src/pac_flow.cc 2006-10-12 14:13:12.000000000 -0700
|
||||||
+++ bro-1.2.1-ssl-binpac/src/binpac/pac_flow.cc 2007-05-22 16:43:55.997562000 -0700
|
+++ bro-1.2.1-ssl-binpac/src/pac_flow.cc 2007-05-22 16:43:55.997562000 -0700
|
||||||
@@ -272,7 +272,8 @@
|
@@ -272,7 +272,8 @@
|
||||||
env_->RValue(begin_of_data),
|
env_->RValue(begin_of_data),
|
||||||
env_->RValue(end_of_data));
|
env_->RValue(end_of_data));
|
||||||
|
|
||||||
- out_cc->println("while ( true )");
|
- out_cc->println("while ( true )");
|
||||||
+ out_cc->println("while ( %s->data_available() )",
|
+ out_cc->println("while ( %s->data_available() )",
|
||||||
+ env_->LValue(flow_buffer_id));
|
+ env_->LValue(flow_buffer_id));
|
||||||
out_cc->inc_indent();
|
out_cc->inc_indent();
|
||||||
out_cc->println("{");
|
out_cc->println("{");
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
diff -urN bro-1.2.1-orig/src/binpac/pac_type.cc bro-1.2.1-ssl-binpac/src/binpac/pac_type.cc
|
diff -urN bro-1.2.1-orig/src/pac_type.cc bro-1.2.1-ssl-binpac/src/pac_type.cc
|
||||||
--- bro-1.2.1-orig/src/binpac/pac_type.cc 2006-07-26 15:02:40.000000000 -0700
|
--- bro-1.2.1-orig/src/pac_type.cc 2006-07-26 15:02:40.000000000 -0700
|
||||||
+++ bro-1.2.1-ssl-binpac/src/binpac/pac_type.cc 2007-05-24 10:56:42.140658000 -0700
|
+++ bro-1.2.1-ssl-binpac/src/pac_type.cc 2007-05-24 10:56:42.140658000 -0700
|
||||||
@@ -393,7 +393,7 @@
|
@@ -393,7 +393,7 @@
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case BUFFER_BY_LENGTH:
|
case BUFFER_BY_LENGTH:
|
||||||
- if ( buffering_state_var_field_ )
|
- if ( buffering_state_var_field_ )
|
||||||
+ if ( env->GetDataType(buffering_state_id) )
|
+ if ( env->GetDataType(buffering_state_id) )
|
||||||
|
@ -13,7 +13,7 @@ diff -urN bro-1.2.1-orig/src/binpac/pac_type.cc bro-1.2.1-ssl-binpac/src/binpac/
|
||||||
@@ -421,7 +421,7 @@
|
@@ -421,7 +421,7 @@
|
||||||
frame_buffer_arg.c_str(),
|
frame_buffer_arg.c_str(),
|
||||||
attr_chunked() ? "true" : "false");
|
attr_chunked() ? "true" : "false");
|
||||||
|
|
||||||
- if ( buffering_state_var_field_ )
|
- if ( buffering_state_var_field_ )
|
||||||
+ if ( env->GetDataType(buffering_state_id) )
|
+ if ( env->GetDataType(buffering_state_id) )
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,18 +1,18 @@
|
||||||
diff -urN bro-1.2.1-orig/src/binpac/pac_analyzer.cc bro-1.2.1-ssl-binpac/src/binpac/pac_analyzer.cc
|
diff -urN bro-1.2.1-orig/src/pac_analyzer.cc bro-1.2.1-ssl-binpac/src/pac_analyzer.cc
|
||||||
--- bro-1.2.1-orig/src/binpac/pac_analyzer.cc 2006-07-26 15:02:40.000000000 -0700
|
--- bro-1.2.1-orig/src/pac_analyzer.cc 2006-07-26 15:02:40.000000000 -0700
|
||||||
+++ bro-1.2.1-ssl-binpac/src/binpac/pac_analyzer.cc 2007-05-22 17:00:10.091531000 -0700
|
+++ bro-1.2.1-ssl-binpac/src/pac_analyzer.cc 2007-05-22 17:00:10.091531000 -0700
|
||||||
@@ -26,8 +26,9 @@
|
@@ -26,8 +26,9 @@
|
||||||
helpers_ = new AnalyzerHelperList();
|
helpers_ = new AnalyzerHelperList();
|
||||||
functions_ = new FunctionList();
|
functions_ = new FunctionList();
|
||||||
|
|
||||||
- constructor_helper_ = 0;
|
- constructor_helper_ = 0;
|
||||||
- destructor_helper_ = 0;
|
- destructor_helper_ = 0;
|
||||||
+ constructor_helpers_ = new AnalyzerHelperList();
|
+ constructor_helpers_ = new AnalyzerHelperList();
|
||||||
+ destructor_helpers_ = new AnalyzerHelperList();
|
+ destructor_helpers_ = new AnalyzerHelperList();
|
||||||
+ eof_helpers_ = new AnalyzerHelperList();
|
+ eof_helpers_ = new AnalyzerHelperList();
|
||||||
|
|
||||||
SetAnalyzerContext();
|
SetAnalyzerContext();
|
||||||
|
|
||||||
@@ -41,6 +42,9 @@
|
@@ -41,6 +42,9 @@
|
||||||
delete_list(AnalyzerHelperList, helpers_);
|
delete_list(AnalyzerHelperList, helpers_);
|
||||||
delete_list(FunctionList, functions_);
|
delete_list(FunctionList, functions_);
|
||||||
|
@ -21,13 +21,13 @@ diff -urN bro-1.2.1-orig/src/binpac/pac_analyzer.cc bro-1.2.1-ssl-binpac/src/bin
|
||||||
+ delete_list(AnalyzerHelperList, destructor_helpers_);
|
+ delete_list(AnalyzerHelperList, destructor_helpers_);
|
||||||
+ delete_list(AnalyzerHelperList, eof_helpers_);
|
+ delete_list(AnalyzerHelperList, eof_helpers_);
|
||||||
}
|
}
|
||||||
|
|
||||||
void AnalyzerDecl::AddElements(AnalyzerElementList *elemlist)
|
void AnalyzerDecl::AddElements(AnalyzerElementList *elemlist)
|
||||||
@@ -75,28 +79,20 @@
|
@@ -75,28 +79,20 @@
|
||||||
AnalyzerHelper *helper_elem =
|
AnalyzerHelper *helper_elem =
|
||||||
(AnalyzerHelper *) elem;
|
(AnalyzerHelper *) elem;
|
||||||
|
|
||||||
- if ( helper_elem->helper_type() ==
|
- if ( helper_elem->helper_type() ==
|
||||||
- AnalyzerHelper::INIT_CODE)
|
- AnalyzerHelper::INIT_CODE)
|
||||||
- {
|
- {
|
||||||
- if ( constructor_helper_ )
|
- if ( constructor_helper_ )
|
||||||
|
@ -50,7 +50,7 @@ diff -urN bro-1.2.1-orig/src/binpac/pac_analyzer.cc bro-1.2.1-ssl-binpac/src/bin
|
||||||
+ default:
|
+ default:
|
||||||
+ helpers_->push_back(helper_elem);
|
+ helpers_->push_back(helper_elem);
|
||||||
}
|
}
|
||||||
- else if ( helper_elem->helper_type() ==
|
- else if ( helper_elem->helper_type() ==
|
||||||
- AnalyzerHelper::CLEANUP_CODE)
|
- AnalyzerHelper::CLEANUP_CODE)
|
||||||
- {
|
- {
|
||||||
- if ( destructor_helper_ )
|
- if ( destructor_helper_ )
|
||||||
|
@ -76,7 +76,7 @@ diff -urN bro-1.2.1-orig/src/binpac/pac_analyzer.cc bro-1.2.1-ssl-binpac/src/bin
|
||||||
+ (*i)->GenCode(0, out_cc, this);
|
+ (*i)->GenCode(0, out_cc, this);
|
||||||
+ }
|
+ }
|
||||||
}
|
}
|
||||||
|
|
||||||
void AnalyzerDecl::GenCleanUpCode(Output *out_cc)
|
void AnalyzerDecl::GenCleanUpCode(Output *out_cc)
|
||||||
{
|
{
|
||||||
TypeDecl::GenCleanUpCode(out_cc);
|
TypeDecl::GenCleanUpCode(out_cc);
|
||||||
|
@ -87,7 +87,7 @@ diff -urN bro-1.2.1-orig/src/binpac/pac_analyzer.cc bro-1.2.1-ssl-binpac/src/bin
|
||||||
+ (*i)->GenCode(0, out_cc, this);
|
+ (*i)->GenCode(0, out_cc, this);
|
||||||
+ }
|
+ }
|
||||||
}
|
}
|
||||||
|
|
||||||
void AnalyzerDecl::GenStateVarDecls(Output *out_h)
|
void AnalyzerDecl::GenStateVarDecls(Output *out_h)
|
||||||
@@ -295,6 +295,7 @@
|
@@ -295,6 +295,7 @@
|
||||||
break;
|
break;
|
||||||
|
@ -97,20 +97,20 @@ diff -urN bro-1.2.1-orig/src/binpac/pac_analyzer.cc bro-1.2.1-ssl-binpac/src/bin
|
||||||
out = out_cc;
|
out = out_cc;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
diff -urN bro-1.2.1-orig/src/binpac/pac_analyzer.h bro-1.2.1-ssl-binpac/src/binpac/pac_analyzer.h
|
diff -urN bro-1.2.1-orig/src/pac_analyzer.h bro-1.2.1-ssl-binpac/src/pac_analyzer.h
|
||||||
--- bro-1.2.1-orig/src/binpac/pac_analyzer.h 2006-07-26 15:02:39.000000000 -0700
|
--- bro-1.2.1-orig/src/pac_analyzer.h 2006-07-26 15:02:39.000000000 -0700
|
||||||
+++ bro-1.2.1-ssl-binpac/src/binpac/pac_analyzer.h 2007-05-22 16:32:08.397926000 -0700
|
+++ bro-1.2.1-ssl-binpac/src/pac_analyzer.h 2007-05-22 16:32:08.397926000 -0700
|
||||||
@@ -76,8 +76,9 @@
|
@@ -76,8 +76,9 @@
|
||||||
AnalyzerHelperList *helpers_;
|
AnalyzerHelperList *helpers_;
|
||||||
FunctionList *functions_;
|
FunctionList *functions_;
|
||||||
|
|
||||||
- AnalyzerHelper *constructor_helper_;
|
- AnalyzerHelper *constructor_helper_;
|
||||||
- AnalyzerHelper *destructor_helper_;
|
- AnalyzerHelper *destructor_helper_;
|
||||||
+ AnalyzerHelperList *constructor_helpers_;
|
+ AnalyzerHelperList *constructor_helpers_;
|
||||||
+ AnalyzerHelperList *destructor_helpers_;
|
+ AnalyzerHelperList *destructor_helpers_;
|
||||||
+ AnalyzerHelperList *eof_helpers_;
|
+ AnalyzerHelperList *eof_helpers_;
|
||||||
};
|
};
|
||||||
|
|
||||||
class AnalyzerElement : public Object
|
class AnalyzerElement : public Object
|
||||||
@@ -117,6 +118,7 @@
|
@@ -117,6 +118,7 @@
|
||||||
MEMBER_DECLS,
|
MEMBER_DECLS,
|
||||||
|
@ -120,9 +120,9 @@ diff -urN bro-1.2.1-orig/src/binpac/pac_analyzer.h bro-1.2.1-ssl-binpac/src/binp
|
||||||
};
|
};
|
||||||
AnalyzerHelper(Type helper_type, EmbeddedCode *code)
|
AnalyzerHelper(Type helper_type, EmbeddedCode *code)
|
||||||
: AnalyzerElement(HELPER),
|
: AnalyzerElement(HELPER),
|
||||||
diff -urN bro-1.2.1-orig/src/binpac/pac_conn.cc bro-1.2.1-ssl-binpac/src/binpac/pac_conn.cc
|
diff -urN bro-1.2.1-orig/src/pac_conn.cc bro-1.2.1-ssl-binpac/src/pac_conn.cc
|
||||||
--- bro-1.2.1-orig/src/binpac/pac_conn.cc 2006-07-26 15:02:40.000000000 -0700
|
--- bro-1.2.1-orig/src/pac_conn.cc 2006-07-26 15:02:40.000000000 -0700
|
||||||
+++ bro-1.2.1-ssl-binpac/src/binpac/pac_conn.cc 2007-05-22 16:42:35.406135000 -0700
|
+++ bro-1.2.1-ssl-binpac/src/pac_conn.cc 2007-05-22 16:42:35.406135000 -0700
|
||||||
@@ -97,6 +97,12 @@
|
@@ -97,6 +97,12 @@
|
||||||
out_cc->println("%s->%s();",
|
out_cc->println("%s->%s();",
|
||||||
env_->LValue(downflow_id),
|
env_->LValue(downflow_id),
|
||||||
|
@ -134,15 +134,15 @@ diff -urN bro-1.2.1-orig/src/binpac/pac_conn.cc bro-1.2.1-ssl-binpac/src/binpac/
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
out_cc->dec_indent();
|
out_cc->dec_indent();
|
||||||
|
|
||||||
out_cc->println("}");
|
out_cc->println("}");
|
||||||
diff -urN bro-1.2.1-orig/src/binpac/pac_flow.cc bro-1.2.1-ssl-binpac/src/binpac/pac_flow.cc
|
diff -urN bro-1.2.1-orig/src/pac_flow.cc bro-1.2.1-ssl-binpac/src/pac_flow.cc
|
||||||
--- bro-1.2.1-orig/src/binpac/pac_flow.cc 2006-10-12 14:13:12.000000000 -0700
|
--- bro-1.2.1-orig/src/pac_flow.cc 2006-10-12 14:13:12.000000000 -0700
|
||||||
+++ bro-1.2.1-ssl-binpac/src/binpac/pac_flow.cc 2007-05-22 16:43:55.997562000 -0700
|
+++ bro-1.2.1-ssl-binpac/src/pac_flow.cc 2007-05-22 16:43:55.997562000 -0700
|
||||||
@@ -151,6 +151,11 @@
|
@@ -151,6 +151,11 @@
|
||||||
out_cc->inc_indent();
|
out_cc->inc_indent();
|
||||||
out_cc->println("{");
|
out_cc->println("{");
|
||||||
|
|
||||||
+ foreach(i, AnalyzerHelperList, eof_helpers_)
|
+ foreach(i, AnalyzerHelperList, eof_helpers_)
|
||||||
+ {
|
+ {
|
||||||
+ (*i)->GenCode(0, out_cc, this);
|
+ (*i)->GenCode(0, out_cc, this);
|
||||||
|
@ -150,19 +150,19 @@ diff -urN bro-1.2.1-orig/src/binpac/pac_flow.cc bro-1.2.1-ssl-binpac/src/binpac/
|
||||||
+
|
+
|
||||||
if ( dataunit_->type() == AnalyzerDataUnit::FLOWUNIT )
|
if ( dataunit_->type() == AnalyzerDataUnit::FLOWUNIT )
|
||||||
{
|
{
|
||||||
out_cc->println("%s->set_eof();",
|
out_cc->println("%s->set_eof();",
|
||||||
diff -urN bro-1.2.1-orig/src/binpac/pac_parse.yy bro-1.2.1-ssl-binpac/src/binpac/pac_parse.yy
|
diff -urN bro-1.2.1-orig/src/pac_parse.yy bro-1.2.1-ssl-binpac/src/pac_parse.yy
|
||||||
--- bro-1.2.1-orig/src/binpac/pac_parse.yy 2006-10-12 14:13:12.000000000 -0700
|
--- bro-1.2.1-orig/src/pac_parse.yy 2006-10-12 14:13:12.000000000 -0700
|
||||||
+++ bro-1.2.1-ssl-binpac/src/binpac/pac_parse.yy 2007-05-22 16:56:09.280526000 -0700
|
+++ bro-1.2.1-ssl-binpac/src/pac_parse.yy 2007-05-22 16:56:09.280526000 -0700
|
||||||
@@ -22,7 +22,7 @@
|
@@ -22,7 +22,7 @@
|
||||||
%token TOK_STATE TOK_ACTION TOK_WHEN TOK_HELPER
|
%token TOK_STATE TOK_ACTION TOK_WHEN TOK_HELPER
|
||||||
%token TOK_DATAUNIT TOK_FLOWDIR TOK_WITHCONTEXT
|
%token TOK_DATAUNIT TOK_FLOWDIR TOK_WITHCONTEXT
|
||||||
%token TOK_LPB_EXTERN TOK_LPB_HEADER TOK_LPB_CODE
|
%token TOK_LPB_EXTERN TOK_LPB_HEADER TOK_LPB_CODE
|
||||||
-%token TOK_LPB_MEMBER TOK_LPB_INIT TOK_LPB_CLEANUP
|
-%token TOK_LPB_MEMBER TOK_LPB_INIT TOK_LPB_CLEANUP
|
||||||
+%token TOK_LPB_MEMBER TOK_LPB_INIT TOK_LPB_CLEANUP TOK_LPB_EOF
|
+%token TOK_LPB_MEMBER TOK_LPB_INIT TOK_LPB_CLEANUP TOK_LPB_EOF
|
||||||
%token TOK_LPB TOK_RPB
|
%token TOK_LPB TOK_RPB
|
||||||
%token TOK_EMBEDDED_ATOM TOK_EMBEDDED_STRING
|
%token TOK_EMBEDDED_ATOM TOK_EMBEDDED_STRING
|
||||||
%token TOK_PAC_VAL TOK_PAC_SET TOK_PAC_TYPE TOK_PAC_TYPEOF TOK_PAC_CONST_DEF
|
%token TOK_PAC_VAL TOK_PAC_SET TOK_PAC_TYPE TOK_PAC_TYPEOF TOK_PAC_CONST_DEF
|
||||||
@@ -795,6 +795,10 @@
|
@@ -795,6 +795,10 @@
|
||||||
{
|
{
|
||||||
$$ = new AnalyzerHelper(AnalyzerHelper::CLEANUP_CODE, $2);
|
$$ = new AnalyzerHelper(AnalyzerHelper::CLEANUP_CODE, $2);
|
||||||
|
@ -174,9 +174,9 @@ diff -urN bro-1.2.1-orig/src/binpac/pac_parse.yy bro-1.2.1-ssl-binpac/src/binpac
|
||||||
| TOK_FLOWDIR '=' tok_id optargs ';'
|
| TOK_FLOWDIR '=' tok_id optargs ';'
|
||||||
{
|
{
|
||||||
$$ = new AnalyzerFlow((AnalyzerFlow::Direction) $1, $3, $4);
|
$$ = new AnalyzerFlow((AnalyzerFlow::Direction) $1, $3, $4);
|
||||||
diff -urN bro-1.2.1-orig/src/binpac/pac_scan.ll bro-1.2.1-ssl-binpac/src/binpac/pac_scan.ll
|
diff -urN bro-1.2.1-orig/src/pac_scan.ll bro-1.2.1-ssl-binpac/src/pac_scan.ll
|
||||||
--- bro-1.2.1-orig/src/binpac/pac_scan.ll 2006-07-26 15:02:40.000000000 -0700
|
--- bro-1.2.1-orig/src/pac_scan.ll 2006-07-26 15:02:40.000000000 -0700
|
||||||
+++ bro-1.2.1-ssl-binpac/src/binpac/pac_scan.ll 2007-05-22 16:55:19.349644000 -0700
|
+++ bro-1.2.1-ssl-binpac/src/pac_scan.ll 2007-05-22 16:55:19.349644000 -0700
|
||||||
@@ -96,6 +96,10 @@
|
@@ -96,6 +96,10 @@
|
||||||
BEGIN(EC);
|
BEGIN(EC);
|
||||||
return TOK_LPB_MEMBER;
|
return TOK_LPB_MEMBER;
|
||||||
|
|
|
@ -1,24 +1,24 @@
|
||||||
Index: pac_type.h
|
Index: src/pac_type.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- pac_type.h (revision 4130)
|
--- src/pac_type.h (revision 4130)
|
||||||
+++ pac_type.h (working copy)
|
+++ src/pac_type.h (working copy)
|
||||||
@@ -78,12 +78,6 @@
|
@@ -78,12 +78,6 @@
|
||||||
string EvalByteOrder(Output *out_cc, Env *env) const;
|
string EvalByteOrder(Output *out_cc, Env *env) const;
|
||||||
|
|
||||||
virtual string EvalMember(const ID *member_id) const;
|
virtual string EvalMember(const ID *member_id) const;
|
||||||
-#if 0
|
-#if 0
|
||||||
- // member_env() is used for finding a member of the type.
|
- // member_env() is used for finding a member of the type.
|
||||||
- // Thus member_env() of a ParameterizedType should return
|
- // Thus member_env() of a ParameterizedType should return
|
||||||
- // ReferredDataType()->env()
|
- // ReferredDataType()->env()
|
||||||
- // virtual Env *member_env() const;
|
- // virtual Env *member_env() const;
|
||||||
-#endif
|
-#endif
|
||||||
|
|
||||||
// The variable defined by the type
|
// The variable defined by the type
|
||||||
const ID *value_var() const { return value_var_; }
|
const ID *value_var() const { return value_var_; }
|
||||||
@@ -223,6 +217,8 @@
|
@@ -223,6 +217,8 @@
|
||||||
|
|
||||||
virtual bool ByteOrderSensitive() const = 0;
|
virtual bool ByteOrderSensitive() const = 0;
|
||||||
|
|
||||||
+ bool NeedsBufferingStateVar() const;
|
+ bool NeedsBufferingStateVar() const;
|
||||||
+
|
+
|
||||||
void GenBufferingLoop(Output* out_cc, Env* env, int flags);
|
void GenBufferingLoop(Output* out_cc, Env* env, int flags);
|
||||||
|
@ -30,19 +30,19 @@ Index: lib/binpac_buffer.h
|
||||||
+++ lib/binpac_buffer.h (working copy)
|
+++ lib/binpac_buffer.h (working copy)
|
||||||
@@ -24,18 +24,18 @@
|
@@ -24,18 +24,18 @@
|
||||||
void DiscardData();
|
void DiscardData();
|
||||||
|
|
||||||
// Whether there is enough data for the frame
|
// Whether there is enough data for the frame
|
||||||
- bool ready() const{ return message_complete_; }
|
- bool ready() const{ return message_complete_; }
|
||||||
+ bool ready() const{ return message_complete_ || mode_ == UNKNOWN_MODE; }
|
+ bool ready() const{ return message_complete_ || mode_ == UNKNOWN_MODE; }
|
||||||
|
|
||||||
inline const_byteptr begin() const
|
inline const_byteptr begin() const
|
||||||
{
|
{
|
||||||
- BINPAC_ASSERT(message_complete_);
|
- BINPAC_ASSERT(message_complete_);
|
||||||
+ BINPAC_ASSERT(ready());
|
+ BINPAC_ASSERT(ready());
|
||||||
return ( buffer_n_ == 0 ) ?
|
return ( buffer_n_ == 0 ) ?
|
||||||
orig_data_begin_ : buffer_;
|
orig_data_begin_ : buffer_;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline const_byteptr end() const
|
inline const_byteptr end() const
|
||||||
{
|
{
|
||||||
- BINPAC_ASSERT(message_complete_);
|
- BINPAC_ASSERT(message_complete_);
|
||||||
|
@ -50,25 +50,25 @@ Index: lib/binpac_buffer.h
|
||||||
if ( buffer_n_ == 0 )
|
if ( buffer_n_ == 0 )
|
||||||
{
|
{
|
||||||
BINPAC_ASSERT(frame_length_ >= 0);
|
BINPAC_ASSERT(frame_length_ >= 0);
|
||||||
Index: pac_type.cc
|
Index: src/pac_type.cc
|
||||||
===================================================================
|
===================================================================
|
||||||
--- pac_type.cc (revision 4130)
|
--- src/pac_type.cc (revision 4130)
|
||||||
+++ pac_type.cc (working copy)
|
+++ src/pac_type.cc (working copy)
|
||||||
@@ -285,9 +285,8 @@
|
@@ -285,9 +285,8 @@
|
||||||
parsing_complete_var, extern_type_bool->Clone());
|
parsing_complete_var, extern_type_bool->Clone());
|
||||||
parsing_complete_var_field_->Prepare(env);
|
parsing_complete_var_field_->Prepare(env);
|
||||||
|
|
||||||
- if ( ( buffer_mode() == BUFFER_BY_LENGTH ||
|
- if ( ( buffer_mode() == BUFFER_BY_LENGTH ||
|
||||||
- buffer_mode() == BUFFER_BY_LINE ) &&
|
- buffer_mode() == BUFFER_BY_LINE ) &&
|
||||||
- ! env->GetDataType(buffering_state_id) )
|
- ! env->GetDataType(buffering_state_id) )
|
||||||
+ if ( NeedsBufferingStateVar() &&
|
+ if ( NeedsBufferingStateVar() &&
|
||||||
+ !env->GetDataType(buffering_state_id) )
|
+ !env->GetDataType(buffering_state_id) )
|
||||||
{
|
{
|
||||||
buffering_state_var_field_ = new PrivVarField(
|
buffering_state_var_field_ = new PrivVarField(
|
||||||
buffering_state_id->clone(),
|
buffering_state_id->clone(),
|
||||||
@@ -387,17 +386,17 @@
|
@@ -387,17 +386,17 @@
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case BUFFER_BY_LENGTH:
|
case BUFFER_BY_LENGTH:
|
||||||
- if ( buffering_state_var_field_ )
|
- if ( buffering_state_var_field_ )
|
||||||
- {
|
- {
|
||||||
|
@ -79,7 +79,7 @@ Index: pac_type.cc
|
||||||
- }
|
- }
|
||||||
+ if ( !NeedsBufferingStateVar() )
|
+ if ( !NeedsBufferingStateVar() )
|
||||||
+ break;
|
+ break;
|
||||||
|
|
||||||
+ ASSERT(env->GetDataType(buffering_state_id));
|
+ ASSERT(env->GetDataType(buffering_state_id));
|
||||||
+ out_cc->println("if ( %s == 0 )",
|
+ out_cc->println("if ( %s == 0 )",
|
||||||
+ env->RValue(buffering_state_id));
|
+ env->RValue(buffering_state_id));
|
||||||
|
@ -99,12 +99,12 @@ Index: pac_type.cc
|
||||||
- frame_buffer_arg = strfmt("%d", InitialBufferLength());
|
- frame_buffer_arg = strfmt("%d", InitialBufferLength());
|
||||||
+ ASSERT(0);
|
+ ASSERT(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
out_cc->println("%s->NewFrame(%s, %s);",
|
out_cc->println("%s->NewFrame(%s, %s);",
|
||||||
@@ -415,16 +414,14 @@
|
@@ -415,16 +414,14 @@
|
||||||
frame_buffer_arg.c_str(),
|
frame_buffer_arg.c_str(),
|
||||||
attr_chunked() ? "true" : "false");
|
attr_chunked() ? "true" : "false");
|
||||||
|
|
||||||
- if ( buffering_state_var_field_ )
|
- if ( buffering_state_var_field_ )
|
||||||
- {
|
- {
|
||||||
- out_cc->println("%s = 1;",
|
- out_cc->println("%s = 1;",
|
||||||
|
@ -117,16 +117,16 @@ Index: pac_type.cc
|
||||||
+ out_cc->println("}");
|
+ out_cc->println("}");
|
||||||
+ out_cc->dec_indent();
|
+ out_cc->dec_indent();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case BUFFER_BY_LINE:
|
case BUFFER_BY_LINE:
|
||||||
+ ASSERT(env->GetDataType(buffering_state_id));
|
+ ASSERT(env->GetDataType(buffering_state_id));
|
||||||
out_cc->println("if ( %s == 0 )",
|
out_cc->println("if ( %s == 0 )",
|
||||||
env->RValue(buffering_state_id));
|
env->RValue(buffering_state_id));
|
||||||
out_cc->inc_indent();
|
out_cc->inc_indent();
|
||||||
@@ -890,6 +887,25 @@
|
@@ -890,6 +887,25 @@
|
||||||
return ! attr_byteorder_expr() && ByteOrderSensitive();
|
return ! attr_byteorder_expr() && ByteOrderSensitive();
|
||||||
}
|
}
|
||||||
|
|
||||||
+bool Type::NeedsBufferingStateVar() const
|
+bool Type::NeedsBufferingStateVar() const
|
||||||
+ {
|
+ {
|
||||||
+ if ( !incremental_input() )
|
+ if ( !incremental_input() )
|
||||||
|
@ -149,10 +149,10 @@ Index: pac_type.cc
|
||||||
bool Type::DoTraverse(DataDepVisitor *visitor)
|
bool Type::DoTraverse(DataDepVisitor *visitor)
|
||||||
{
|
{
|
||||||
foreach (i, FieldList, fields_)
|
foreach (i, FieldList, fields_)
|
||||||
Index: pac_flow.cc
|
Index: src/pac_flow.cc
|
||||||
===================================================================
|
===================================================================
|
||||||
--- pac_flow.cc (revision 4130)
|
--- src/pac_flow.cc (revision 4130)
|
||||||
+++ pac_flow.cc (working copy)
|
+++ src/pac_flow.cc (working copy)
|
||||||
@@ -224,15 +224,13 @@
|
@@ -224,15 +224,13 @@
|
||||||
out_cc->println("catch ( Exception const &e )");
|
out_cc->println("catch ( Exception const &e )");
|
||||||
out_cc->inc_indent();
|
out_cc->inc_indent();
|
||||||
|
@ -169,4 +169,3 @@ Index: pac_flow.cc
|
||||||
+ out_cc->println("throw e;");
|
+ out_cc->println("throw e;");
|
||||||
out_cc->println("}");
|
out_cc->println("}");
|
||||||
out_cc->dec_indent();
|
out_cc->dec_indent();
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue