summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-09-01upas: appendfolder() don't be picky about the timezone of ctime()cinap_lenrek
This is temporary fix, we should try to emulate the previous behaviour where we accept at least our local timezone, and otherwise ignore the offset.
2020-09-01upas: appendfolder(): skip the address from unix header before datecinap_lenrek
2020-09-01upas/fs: extract proper date from unix headercinap_lenrek
do not try to parse the m->unixfrom field, it only contains the unix mail address. instead, have parseunix() save a pointer into the unixheader after the unix mail address for the unixdate, and later use it to derive the mails timestamp.
2020-09-01upas/fs: remove unused function date822tounixAlex Musolino
2020-09-01png: remove bogus chanlen warningAlex Musolino
2020-08-29ape/ctype.h: add isblank, fix functions (thanks staalmannen)Ori Bernstein
Our ctype.h mistakenly ommitted isblank. Add it in. While we're here, the make the 'isfoo()' functions are broken: they're offsetting into the array, and don't work with negative character values. Sync the function bodies with the macros, and make them produce correct results.
2020-08-29walk(1): fix typoAlex Musolino
2020-08-27faces(1): remove bespoke date parserOri Bernstein
In addition to being more code, this date parser would treat local times as local, but anything that wasn't a local time would get parsed as gmt, due to a quirk of how tm2sec used to work. This moves the code to tmparse, and fixes timezone parsing at the same time.
2020-08-26walk(1): clarify how -n argument works (thanks umbraticus)Ori Bernstein
Make it clear what happens if you omit the ',' when specifying '-n'.
2020-08-26tmparse: fix typoOri Bernstein
2020-08-26libc: tmparse should ignore leading whitespaceOri Bernstein
We almost always want to skip leading whitespace in time formats, so make tmparse just do it. This fixes upas mbox parsing, which leaves a leading whitespace at the start of the date.
2020-08-25getwd(2): add reference to chdir(2) in SEE ALSO sectionAlex Musolino
2020-08-25chdir(2): add reference to getwd(2) in SEE ALSO sectionAlex Musolino
2020-08-24tm2sec: clear new fields in tmOri Bernstein
Old users of the time APIs would hand-craft time structs without first zeroing all the members. When this got into tmnorm(), we would try to access the new members, and things would go off the rails. This makes tm2sec() clear the new fields before passing them to the new APIs, so that the hand-crafted structs remain valid.
2020-08-23nusb/lib: use fmtprint for the entire dump to be printed outSigrid
2020-08-23kernel: fix Abind cyclic reference and mounthead leaks (thanks Alex Musolino)cinap_lenrek
The Abind case in namec() needs to cunique() the chan before attaching the umh mount head pointer onto it. This is because we cannot give a reference to the mount head to any of the mh->mount...->to channels, as they will never go away until the mount head goes away. This is a cyclic reference. This could be reproduced with: @{rfork n; mount -a '#s/boot' /mnt/root; bind /mnt/root /} Also, fix memory leaks around cunique(), which can error, leaking the mount head we got from domount(). Move the umh != nil check inside cunique().
2020-08-21torrent(1): update url in examples sectionAlex Musolino
2020-08-20ip(3): fix typo in manpage (thanks jstsmthrgk)Ori Bernstein
2020-08-20libaml: fix fault when the second operand of comparison cannot be convertedSigrid
2020-08-18oggdec: give it enough chance to seek from the start, where first seek might ↵Sigrid
be still too close to the beginning of the file
2020-08-12audio/oggdec: allow -s 0Sigrid
2020-08-12audio/mp3dec: mad timer duration is all wrong, use samples insteadSigrid
2020-08-12audio/mp3dec: add -s SECONDS optionSigrid
2020-08-11audio(1): add new -s SECONDS optionSigrid
2020-08-11audio/oggdec: add -s SECONDS option to seek before decodingSigrid
2020-08-11audio/flacdec: add -s SECONDS option to seek before decodingSigrid
2020-08-10tmdate(2): fix typo (thanks mveety)Ori Bernstein
sysfata => sysfatal
2020-08-10stdio.h: correct return type of putcOri Bernstein
The putc macro is specified as returning an int, but our type conversion rules turned it into a uint. Put in the appropriate cast to make the type what we want.
2020-08-10aux/ms2, aux/na: fix warningsOri Bernstein
aux/na was comparing the return of putc with <0, when it should have been comparing against EOF, which is not specified as -ve. aux/ms2 was zero-extending the mask for the address when it should have been sign extended.
2020-08-10seconds: use new libc date apiOri Bernstein
2020-08-10date: use new libc date apis.Ori Bernstein
2020-08-10mergeOri Bernstein
2020-08-10vmx: does not do well with certain fb widths, so restrict itSigrid
2020-08-09upas/fs: port date parsing to libc apisOri Bernstein
There was a lot of code in upas/fs to deal with dates. Now there isn't.
2020-08-09ip/httpd: fix 'mk nuke'Ori Bernstein
2020-08-09libc: new date apisOri Bernstein
The current date and time APIs on Plan 9 are not good. They're inflexible, non-threadsafe, and don't expose timezone information. This commit adds new time APIs that allow parsing arbitrary dates, work from multiple threads, and can handle timezones effectively.
2020-08-08cc: promote integer constants according to c99 spec.Ori Bernstein
C99 integer constants with no type suffix promote differently depending on the way that they're written: hex and oct consts promote as int => uint => long => ulong => vlong => uvlong. Decimal constants are always signed. We used to promote all values to uint on overflow, and never went wider. This change fixes that, and adds a warning when a decimal constant that would have been promoted to uint in the past gets promoted to int.
2020-08-08ndb/dns: allow multiple txt, nullrr, cert, key and sig records (thanks kvik)cinap_lenrek
The de-duplication of txt, nullrr, cert, key and sig records reduced all records to a single one. Also, dblookup1() missed the txt record case and did not return a unique list of rr's. Now we consider these records unique if their value is different. The new txtequiv() function does that for TXT records, which is a bit tricky as it needs to take different segmentation into account.
2020-08-07vmx: set xstart to either nsec or cycles depending on what is availableSigrid
2020-08-07bullshit: decentralized ActivityPubSigrid
2020-08-05libttf: fix cmap subtable offset type and rank UCS-4 higher (more ↵Sigrid
codepoints). fixes runes > 0xffff
2020-08-04kernel: don't strip binaries in bootfs.paqcinap_lenrek
2020-08-04qball: remove unused #include <stdio.h>cinap_lenrek
2020-08-04devmnt: print chanpath for unexpected reply tagcinap_lenrek
2020-08-04rc: avoid stat calls for directory globbingcinap_lenrek
On Plan9, we can count on Readdir() onlydirs argument to work, which allows us to avoid stating every single file to see if it is a directory.
2020-08-04libttf: check directory() resultSigrid
2020-08-047c: now really fix OASxxx operationscinap_lenrek
the previous patch broke 64-bit ops as the type for the operation is determined from the first argument to gopcode() (nod1.type), not the type the result (nod.type). so we need to include the conversion of nod1 type to the type of nod.
2020-08-03mergecinap_lenrek
2020-08-03reverting 7c change, breaks some 64-bit shifts...cinap_lenrek
2020-08-03mergecinap_lenrek