Age | Commit message (Collapse) | Author |
|
in scripts empty output should be checked.
|
|
|
|
- Stricter parsing of tags, no whitespace stripping after <.
- For end tags the "internal" context x->tag would be "/sometag". Make sure
this matches exactly with the parameter tag.
- Reset tagname after parsing an end tag.
- Make end tag handling more consistent.
- Remove temporary variable taglen.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This reverts commit 8699fa2bb4c75670952fee503a58ca4a652627eb.
There is a regression in directory permissions among other things.
|
|
+ fix wrong comment "temporary file" -> "temporary directory".
|
|
|
|
|
|
|
|
- reorder and remove a goto.
- no need for a separate variable "end".
- don't use s[0] style because the pointer was changed.
|
|
- Handle SIGTERM properly, don't leave stray processes. Kill them on both
SIGTERM and SIGINT.
- When a "batch" of feeds was interrupted, don't allow to wait again.
- Simplify and create sighandler function.
- Now on both SIGTERM and SIGINT the cleanup() handler is called to not leave
stray files.
Tested with ksh, dash, bash, zsh.
|
|
When SIGINT occurs on waiting for jobs it returns 130 (128 + SIGINT). Make sure
to check for interrupted and return immediately.
Tested with ksh, dash, bash, zsh.
Sidenote: ideally we want to cleanup() on SIGTERM too, but this is too
inconsistent over various shells.
|
|
|
|
noticed in "RMS notes" RSS.
|
|
|
|
|
|
This adds a variable for the maximum amount of feeds to update concurrently. A
system/user may have fork resource limits or want to setup some job limit.
Thanks leot for the idea and feedback!
|
|
|
|
|
|
Pass the name parameter to the functions and add these to the pipeline. They
can be overridden in the config.
- add the ability to change the merge logic per feed.
- add the ability to filter lines and fields per feed.
- add the ability to order lines differently per feed.
- add filter example to README.
- code-style:
- fetchfeed consistency in parameter order.
- change [ x"" = x"" ] to [ "" = "" ]. Simplify some if statements.
- wrap long line in fetchfeed().
- use signal names for trap.
|
|
|
|
... this is useful to change the interrupted behaviour in some use-cases.
Thanks leot for the feedback.
|
|
|
|
|
|
Reported by "Dekedro", thanks!
|
|
|
|
- cast all ctype(3) function argument to (unsigned char) to avoid UB
POSIX says:
"The c argument is an int, the value of which the application shall ensure is a
character representable as an unsigned char or equal to the value of the macro
EOF. If the argument has any other value, the behavior is undefined."
Many libc cast implicitly the value, but NetBSD does not, which is probably the
correct thing to interpret it.
- no need to cast for putchar + rename some fputc(..., stdout) to putchar
POSIX says:
"The fputc() function shall write the byte specified by c (converted to an
unsigned char) to the output stream pointed to by stream [...]"
Major thanks to Leonardo Taccari <iamleot@gmail.com> for reporting and testing
it on NetBSD!
|
|
|
|
long is atleast 32-bits, codepointtoutf8() works with >= 32-bit types. Valid
codepoint ranges are not larger than this. unsigned char is not needed because
converted unicode bytes don't use this range.
tested all valid codepoints and output on amd64, i386 and SPARC64.
|
|
|
|
|
|
- don't output content and HTML mail anymore: this is very insecure for most
mail clients.
- improve Content-Type utf-8 encoding header (use the more common form).
- improve line-endings at the end of the data.
|
|
|
|
|
|
+ dont memcpy the struct stat(2) when nothing changed.
|
|
Thanks trqx for pointing it out!
|
|
- sfeed_tail only reads from files now, not from stdin anymore. This had too many
caveats.
- Instead of a timer it now detects changes faster and is more efficient using
memory.
- Improve documentation of its behaviour.
|
|
|
|
the uint* types in XML are not exposed anymore.
|
|
It is invalid XML, but this allows parsing old HTML pages aswell.
For example:
<input id=cb checked type="checkbox" title='checkbox' />
or
<FONT FACE=wingdings SIZE=12><BLINK>oh hai</BLINK></FONT>
|
|
this also fixes an issue with truncating and missing data on invalid input.
|
|
|
|
|
|
No more converting to a uint32_t type. Just convert to a byte buffer.
Tested on little- and big-endian.
The code should be more clear too hopefully.
|
|
... this affects "tags" starting with < such as CDATA and processing
instructions.
|