Archived
1
0
Fork 0
Commit graph

42 commits

Author SHA1 Message Date
378de035de dlhist.c: dlhist_lookup: pass a variable to he_empty().
he_empty() is a macro, do not pass a function call as argument.
when the macro expands, the function will be called numerous times.
2011-11-03 14:36:10 +01:00
a0f46daa4a dlhist.c: store number of entries in header instead of table size
Now that table size can be calculated, lets store the number of entries
instead of size in the header so we can rely on that when reading
entries, instead of the actual size on disk. this is safer if data is
appended to the file outside of the application.
2011-11-03 13:42:59 +01:00
bbefd9daf5 dlhist.c: calculate initial size when read table from file.
Now that records are fixed size, it's easy to calculate the number of
entries in the file. use that to calculate how large the hash table
should be.
2011-11-03 13:10:30 +01:00
9517d28f72 dlhist.c: do linear-probing when inserting entries.
Somehow I apperently missed to do linear probing in he_insert that
results in colliding entries read from file (and when resizing)
to be dropped on the floor.

Lets not drop things on the floor anymore, certainly there is
another place in the table that will do fine instead of just
giving up and throw it on the floor.
2011-10-26 16:48:29 +01:00
113dc524ed Small fix in README 2011-10-17 14:34:23 +01:00
c41f11e57a dlight.c: do not add a newline to error() calls 2011-10-25 16:58:24 +02:00
e3bd4545a2 filter.c: compile: Oops, assigning function to char pointer
info->msg is being assigned to 'error'. but there is no such variable.
altho there is such a function in error.h

fix this by assigning info->msg to 'err' instead, that is the variable
passed to pcre_compile().
2011-10-25 16:57:48 +02:00
e39b9d64c6 env.c: use error.h 2011-10-12 14:15:08 +02:00
6758b06188 dlhist: use sha1 hashes as keys to make records fixed size.
use sha1 hashes instead of c-strings to make records fixed size.
because it's hard to find collisions in sha1 hashes, this works well
in practise. And dynamic memory allocation for the variadic size keys
is not needed anymore. space is also reduced due to most key strings being
more than 20 bytes long.

calculating sha1 should be fast enough to not make any more overhead
than dynamic memory allocation did.
2011-10-04 15:29:45 +02:00
1f46350f84 dlight.c: don't use errno from http_fetch_file
http_fetch_file does not set errno. so dont use it.
2011-10-02 22:42:34 +02:00
356cddf07d error.h: Incorrect name in function prototype 2011-09-29 23:25:05 +02:00
02814cc1f7 dlight.c: only download a file once.
When going through the filter list for an item, we download and store the item
everytime a filter is matched.
This patch allowes an item to be downloaded the first time a filter
match and save the data throughout the rest of the list, so all
other matches never downloads the item again but uses the data in memory.
2011-09-29 21:34:34 +02:00
eb0702cd93 http: Adding http_fetch_file().
Sometimes, you want to fetch a file in memory so you can
store it on multiple places on disk whitout having to download it
again or copy files. while http_fetch_page works for fetching data
in memory, the possible filename found in the 'Content-Disposition'
header-feild is not accounted to.

http_fetch_file() fetches the data and store it in memory while trying to
get ahold of the filename.
2011-09-29 19:54:02 +02:00
ad4ac41b13 lockfile.c: missing stdlib.h for atexit() 2011-09-24 13:53:18 +02:00
611409c777 lockfile: expose locked()
usefull to have this macro in the interface so other modules using lockfiles
can check if a certain lock is active.
2011-09-24 13:03:22 +02:00
2f9e968717 dlight.c: more verbose output 2011-09-20 16:33:55 +02:00
6a4d6af99d lockfile.h: small typo in headercomment 2011-09-12 20:40:52 +02:00
5eda6e7705 dlhist.c: resize_table: Oops, storing floating point value in integer. 2011-09-21 17:19:12 +02:00
fce177b486 dlight.c: dlhist purge: remove magic number and set interval to 6h 2011-09-21 17:19:12 +02:00
90505d8e5b remove new-line from error() calls. 2011-09-21 17:19:12 +02:00
9767be013a http.c: refactor http request code.
remove duplicated curl code in 'fetch_page' and 'download_file'
and put it in an helper function.
2011-09-21 17:19:12 +02:00
8cf883eb29 http.c: remove new-line from error() calls
one new-line is always appended to the message by the error function.
2011-09-21 17:19:11 +02:00
c1a7c9671d http.c: skip memory storage when download files
don't need to store the http data in memory when downloading files, write to disk directly.
2011-09-21 17:19:11 +02:00
3aea2adbc6 dlight.c: print items that are downloaded 2011-09-21 17:19:11 +02:00
a2569b58e3 http.c: remove double init of CURLhandle
handle is initialized in setup_connection()
2011-09-21 17:19:11 +02:00
8b649d35f6 http.h: remove unneeded function prototype 2011-09-21 17:19:11 +02:00
d931ce7fd8 adding command line tool for checking an regex 2011-09-21 17:19:11 +02:00
4c8c92b7f6 lockfile.c: unlink locks on signal 2011-09-21 17:19:10 +02:00
45736b3845 filter.c: dont print error in 'compile()'.
Make compile store the error information in a struct so that both filter_check_syntax
and filter_match, can share the code.
2011-09-21 17:19:10 +02:00
a2f2e58353 Make the other modules use error.c 2011-09-21 17:19:10 +02:00
6bc3ffde5d Adding error.c/.h 2011-09-21 17:19:10 +02:00
692cdc16dd Makefile: add -Wall -O2 to CFLAGS 2011-09-21 17:19:10 +02:00
b02ff8863e lockfile: release locks on exit 2011-09-21 17:19:10 +02:00
31293d7253 gitignore: ignore executeables and config file 2011-09-21 17:19:09 +02:00
1166d3be86 compiled file format: associate destination whit each invidual filter
Better to have an destination for every filter then every target.
otherwise one will have to have two targets with the same source but
different destination.
2011-09-21 17:19:09 +02:00
bb5963dbf6 License with GPLv2 2011-09-21 17:19:09 +02:00
ffb8241a89 compile.c: parse_alias() only allow 'MAXNAME' number of characters for an alias 2011-09-21 17:19:09 +02:00
31ede77a9a compile.c: refactor out alias parsing 2011-09-21 17:19:09 +02:00
06dca6c150 dlhist.c: use lockfile 2011-09-21 17:19:09 +02:00
5a5a3d33e4 Adding lockfile.c
moving code from compile.c under an api so it can be reused.
2011-09-21 17:19:09 +02:00
00e149c04c compile.c: check filter syntax 2011-09-21 17:19:08 +02:00
b2df740514 Initial commit 2011-09-21 17:13:28 +02:00