+ Renamed Expr class to DisjList, which is more descriptive
as to its function
+ Added ' and " to the list of allowed characters in an
unquoted string.
+ Added updated sniffer rule grammar to doxygen for the
Parser class
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@685 a95241bf-73f2-0310-859d-f6bbb57e9c96
instead of const char*'s to allow for rules with NULL characters
embedded in them.
+ Updated Rule::Sniff() to actually return a useful value
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@662 a95241bf-73f2-0310-859d-f6bbb57e9c96
+ Fixed a bug with 0eXXX floats being handled improperly
+ Updated a few error messages to give proper character
stream positions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@650 a95241bf-73f2-0310-859d-f6bbb57e9c96
+ Fixed a stupid bug in my hexToChar() function
+ Added code to actually return the parsed in priority to ParsePriority()...
+ Added code to actually SetTo() the result in ParseRule()...
+ Changed most "Sniffer scanner error" messages to "Sniffer
pattern error" messages.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@630 a95241bf-73f2-0310-859d-f6bbb57e9c96
+ Added support for extended notation floating point numbers,
as well as signed (+ and -) floats.
+ Finished up parsing code
+ Moved Err class into it's own header/source pair, since I
started using it all over the place in the sniffer code.
+ Did my darndest to make sure I wasn't leaking memory
anywhere.
+ Matched up error messages as best as possible with R5's
error message. Some couldn't be matched, some were improved.
There *are* a few things left to do. I don't think priorities are
verified to be valid (0.0 <= x <= 1.0). More tests also need to
be written. Things have solidified enough now that documentation
is a reasonable thing to start considering as well.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@608 a95241bf-73f2-0310-859d-f6bbb57e9c96
+ Added Priority()
+ Added Sniff()
+ Replaced ExprList typedef with plain old std::vector<Expr*>
so I wouldn't forget what the hell kind of list I was working with.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@607 a95241bf-73f2-0310-859d-f6bbb57e9c96
work very well with BApplication and has some issue with plain loopers
too.
* DispatchMessage(): _QUIT_ doesn't delete the object any longer. The
looper thread simply falls through the dispatching loop and deletes
the object.
* Caused by not killing the looper thread in the destructor, Quit() had
to be adjusted. When called from the looper thread the thread exists.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@576 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Error message, if not locked.
* Lock(), quit, Unlock(), if not locked.
* Don't call BLooper:Quit() any more. We post a _QUIT_ message when being
called from another than the looper thread.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@575 a95241bf-73f2-0310-859d-f6bbb57e9c96
removed. The old static BLooper functions for managing the looper list are
still there, but they are officially deprecated. The approved interface
for this information is BPrivate::BLooperList, accessible via the global
BPrivate::gLooperList variable. Being as it lives in BPrivate, it is for
API-internal use *ONLY*. User apps use it to their own risk.
Also added a small test to make sure that the size of BLooper stays the
same. I will probably add this to other classes as well; doesn't hurt to
be safe. =)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@572 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Run() was returning fTaskID, which was invalidated by Quit().
* assert_app_signature() -> check_app_signature(). InitData() now quits
when an error occured and no error variable has been supplied. That seems
to be what R5 does.
* When args are present B_ARGV_RECEIVED is always sent to the own team,
even if the app flags include B_ARGV_ONLY. But it is sent to a remote
application (already running instance), only if that app has NOT
B_ARGV_ONLY set.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@564 a95241bf-73f2-0310-859d-f6bbb57e9c96
+ Started on Parser class
+ Moved parsing functions into Parser class
+ Added Pos() member to Err class to allow for
snazzy BMimeType::CheckSnifferRule() error strings.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@531 a95241bf-73f2-0310-859d-f6bbb57e9c96