suckless unix tools
git clone git://
Log | Files | Refs | README | LICENSE

DateCommit messageAuthorFiles+-
2016-10-03 Be more explicit we are using a heredoc hereFRIGN1+8-8
2016-10-03 22:55use only one getconf headerEvan Gates3+14-31
2016-03-30 01:04find: check whether readdir failed, and properly check timestampsMattias Andrée1+12-10
2016-03-31 01:03test: -erwx test against effetive uid/gid, not realMattias Andrée1+5-4
2016-03-29 23:46pathchk: fixes and cleanupMattias Andrée1+17-27
2016-07-15 16:57subtract 'a' from indices for marksEvan Gates1+3-3
2016-07-08 17:24touch: Avoid unnecessary call to statMichael Forney1+9-14
2016-07-08 17:24touch: Use special UTIME_NOW and UTIME_OMIT valuesMichael Forney1+14-10
2016-07-08 17:24touch: Remove useless variableMichael Forney1+2-3
2016-07-08 17:24touch: Respect caller's umaskMichael Forney1+1-1
2016-07-08 17:24ln: Only fail if same inode without -f flagMichael Forney1+5-3
2016-07-08 17:24install: Handle -c flag as a no-opMichael Forney1+3-0
2016-07-08 17:24od: Don't advance past end of type stringMichael Forney1+9-11
2016-07-08 17:24od: Add some missing type flagsMichael Forney2+46-7
2016-05-15 01:56linecmp: Handle NUL bytes properlyMichael Forney1+2-9
2016-05-15 01:56sort: Fix line comparison when col buffer contains data from longer l…Michael Forney1+20-17
2016-05-15 01:56ls: Simplify some logicMichael Forney1+7-8
2016-05-15 01:56ls: Don't show directory name with single directory operandMichael Forney1+4-1
2016-05-15 01:56Revert "ls: only display directory headers when more than one directo…Michael Forney1+2-3
2016-05-15 01:56Revert "Fix showing directories when -R flag is set in ls(1)"Michael Forney1+1-1
2016-06-25 17:11printf: support escaping '%' with '%%'. See printf(1p) EXAMPLES secti…pranomostro1+3-1
2016-06-23 18:37tee: Make sure we continue on errorsin1+15-7
2016-05-14 06:34grep: Fix -v output and exit statusMichael Forney1+15-13
2016-05-14 06:34grep: Fix exit status with -F when last line doesn't matchMichael Forney1+4-4
2016-05-14 06:34grep: Reverse some if-else logicMichael Forney1+7-7
2016-04-21 20:22Update Kurt H. Maier's E-Mail addressFRIGN1+1-1
2016-04-21 20:20Remove locale-cancer from grep(1)FRIGN1+0-3
2016-03-30 16:58grep: fix UTF-8 supportMattias Andrée1+3-0
2016-03-29 23:16printenv: exit status is 2 on failureMattias Andrée2+11-2
2016-03-27 12:49ls: fix segfault when timestamp is out of range for struct tmMattias Andrée1+5-1
2016-03-28 21:26Update test.1:Mattias Andrée1+11-0
2016-04-15 18:44touch: make invalid date an error and fix uninitialised valueHiltjo Posthuma1+2-5
2016-03-26 14:12test: Sort includessin1+3-2
2016-03-26 08:17test: Remove unused variablesin1+0-1
2016-03-24 23:18test: add support for big integersMattias Andrée1+44-7
2016-03-24 23:18test: add -k, -ef, -ot, and -ntMattias Andrée1+41-0
2016-03-23 18:12*sum: support - when using -cMattias Andrée1+5-2
2016-03-12 19:46sort: Fix -c optionMichael Forney1+8-3
2016-03-11 15:06uniq: always store previous line lengthEivind Uggedal1+2-2
2016-03-10 19:12Fix linecmp() to return correct valuesFRIGN1+8-4
2016-03-10 12:31Properly use delimlen instead of len in paste(1)FRIGN1+3-3
2016-03-10 06:05xargs(1) already supports NUL charactersFRIGN1+1-1
2016-03-10 06:02Change paste(1) a bit to prepare libutf changesFRIGN1+3-3
2016-03-10 06:02Support NUL containing lines in uniq(1)FRIGN2+39-35
2016-03-10 04:40Support NUL containing lines in nl(1) and reuse the line-buffer(!)FRIGN2+27-22
2016-03-09 14:56Support NUL containing lines in join(1)FRIGN2+31-45
2016-03-09 11:38Support NUL containing lines in fold(1) and reuse the line-buffer(!)FRIGN2+23-20
2016-03-07 21:00logger(1) is NUL compliantFRIGN1+1-1
2016-03-07 19:56Use the UTF8_POINT macro in cols(1)FRIGN2+9-8
2016-03-07 11:34Support NUL containing lines in cut(1)FRIGN2+39-31
2016-03-07 10:18Error out when giving an empty delimiter to sort(1)FRIGN1+2-0
2016-03-07 10:00Add linecmp()FRIGN1+20-0
2016-03-07 09:50Indent README headings properlyFRIGN1+2-2
2016-03-07 09:48Support NUL containing lines in head(1)FRIGN2+2-2
2016-03-07 09:20Support NUL containing lines in tail(1)FRIGN2+13-8
2016-03-07 01:04Rename struct linebufline to struct line and add linecmp()FRIGN4+17-22
2016-03-07 00:58Rename linecmp and line-structs in join(1) and sort(1)FRIGN2+20-20
2016-03-07 00:43No need for += when res is 0 anywayFRIGN1+2-2
2016-03-07 00:42Support NUL containing lines in comm(1)FRIGN2+22-12
2016-03-06 23:52Don't mark cols(1) as NUL-compliant as of yetFRIGN1+1-1
2016-03-06 23:20Actually move past the field separatorFRIGN1+2-1
2016-03-06 21:33Remove debug infoFRIGN1+0-1
2016-02-29 14:45Properly increment line lenght on edge-case in getlines()FRIGN1+1-0
2016-02-28 23:47Support NUL-containing lines in sort(1)FRIGN5+176-84
2016-02-28 23:45Support NUL-containing lines in cols(1)FRIGN4+24-14
2016-03-02 10:28Really force 1 entry per line with -1 in ls(1)FRIGN1+2-1
2016-03-02 09:08Fix -s in tr(1)FRIGN1+2-6
2016-03-01 15:23Revert "fix length after '\' getline string termination"sin5+8-8
2016-03-01 11:43uuencode: style: just use pointer *bHiltjo Posthuma1+2-3
2016-03-01 11:43uudecode: dont return pointer to local variableHiltjo Posthuma1+1-1
2016-03-01 10:04cat: fix u flagQuentin Rameau1+14-3
2016-02-29 16:34printf: replace strtonum with strtol functions in conversionsQuentin Rameau1+21-3
2016-02-29 14:35printf: remove unnecessary string size testQuentin Rameau1+2-3
2016-02-25 23:36Add symbol to mark NUL handling in each tool (and where it is missing)FRIGN1+95-95
2016-02-25 21:59Rever the strmem() addition and add a TODO elementFRIGN5+4-27
2016-02-25 20:44Implement strmem() and use it in join(1)FRIGN4+27-1
2016-02-25 20:42fix length after '\' getline string terminationHiltjo Posthuma5+8-8
2016-02-25 19:44tsort.1: use mandoc literal block for exampleHiltjo Posthuma1+2-1
2016-02-24 15:56tsort style fixessin1+5-7
2016-02-24 15:26Use en* instead of e* function family in tsort(1)FRIGN1+8-8
2016-02-24 15:11Remove wtfFRIGN1+0-5
2016-02-24 14:40Fix wc(1) output for large filesFRIGN1+15-6
2016-02-24 10:36add sha512-224sum (SHA512/224) and sha512-256sum (SHA512/256)Mattias Andrée10+347-109
2016-02-24 09:05add sha224sum and sha384sumMattias Andrée12+254-4
2016-02-20 20:54Fix compilation errorFRIGN1+1-1
2016-02-20 20:51Change the note in printf.1 on octal escapesFRIGN1+3-1
2016-02-20 20:50Do a range check on the resulting octalFRIGN1+1-1
2016-02-20 20:46Remove the octal note in printf.1FRIGN1+1-2
2016-02-20 20:40Allow \0ooo octal escapesFRIGN1+2-2
2016-02-19 18:59arg.h: fixed argv checks orderLucas Gabriel Vuotto1+2-2
2016-02-18 14:16ls: check for the index size before using it in visit()Quentin Rameau1+1-1
2016-02-18 11:48ls: make the opendir() warning message more consistentQuentin Rameau1+1-1
2016-02-18 11:46ls: set a return error code when skipping an already visited path.Quentin Rameau1+2-2
2016-02-18 11:06ls: do not exit when a directory isn't accessibleQuentin Rameau1+7-3
2016-02-18 10:54Add missing .El to xinstall.1sin1+1-0
2016-02-18 10:35install: treat target as file by default instead of dirQuentin Rameau2+4-6
2016-02-17 18:56Fix showing directories when -R flag is set in ls(1)pekka.jylha.ollila@gmail.com1+1-1
2016-02-16 22:05install: only create parent dirs to dest given -DEivind Uggedal1+6-5
2016-02-17 08:45tsort: clean upMattias Andrée1+1-1
2016-02-17 08:42Forgot to bump date for sort(1) manpagesin1+1-1
2016-02-17 08:38Mark sort(1) as POSIX compliantsin2+7-1
2016-02-17 08:27tsort: Minor style fixsin1+2-4
2016-02-17 00:17Add tsort(1)Mattias Andrée4+292-0
2016-02-16 00:42Add -d, -f and -i flags to sort(1)pekka.jylha.ollila@gmail.com2+69-2
2016-02-15 14:00tar: make remove(3) non-fatal when extractingEivind Uggedal1+1-1
2016-02-15 09:48tar: support -f - for stdin/outEivind Uggedal2+4-3
2016-02-15 09:56ls: only display directory headers when more than one directory is sp…tty01+3-2
2016-02-15 09:47Makefile: add sbase-box-uninstall ruleMattias Andrée1+4-1
2016-02-15 09:44Fix uninstall targetsin1+1-1
2016-02-15 09:42Add Eivind Uggedal to LICENSEsin1+1-0
2016-02-15 08:03tar: don't change modes for hardlinks on extractionEivind Uggedal1+3-0
2016-02-15 08:44install: bsd make compatibilityEivind Uggedal5+356-355
2016-02-12 13:33New command with corresponding man page. Includes the flags:Mattias Andrée5+356-6
2016-02-14 12:43fix problems in sedizabera1+3-2
2016-02-12 08:45Makefile: uninstall [ command in the uninstall ruleMattias Andrée1+1-1
2016-02-11 10:04Fix pathchk manpage regarding exit statussin2+3-3
2016-02-11 10:00Minor cleanup for pathchk(1)sin1+15-24
2016-02-03 19:12Add pathchk(1)Mattias Andrée6+161-1
2016-01-23 08:11Do not try to rematch patterns with ^ or $Roberto E. Vargas Caballero1+10-3
2016-01-20 17:26grep: Change match any pattern to "^"sin1+1-1
2016-01-20 15:05Revert "If we have a match any pattern also match against blank lines"sin1+1-1
2016-01-07 11:34Stop matching when lastmatch points to '\n'Roberto E. Vargas Caballero1+1-1
2016-01-07 10:44Fix pattern substitutionRoberto E. Vargas Caballero1+15-11
2016-01-07 10:37Fix rematch()Roberto E. Vargas Caballero1+7-2
2016-01-06 21:04Handle explicitly the case of line 0Roberto E. Vargas Caballero1+17-14
2016-01-08 10:27ed: Remove useless newlinessin1+0-2
2016-01-05 13:52grep: make E and F flags mutually exclusiveQuentin Rameau1+3-0
2016-01-02 10:32ed: Use snprintf() for constructing the scratch filenamesin1+6-6
2016-01-02 09:44ed: Use strlcpy/strlcat to construct the scratch filenamesin1+5-5
2016-01-01 17:25ed: Use TMPDIR to locate the temporal fileRoberto E. Vargas Caballero1+7-5
2016-01-01 16:40ed: Fix error introduced in b19d708Roberto E. Vargas Caballero1+11-8
2016-01-01 16:40ed: Don't show '!' in exec with -sRoberto E. Vargas Caballero1+2-1
2016-01-01 16:40ed: Correct error message when open fileRoberto E. Vargas Caballero1+2-2
2016-01-01 10:17ed: Don't show size of files in no diagnosistic modeRoberto E. Vargas Caballero1+2-1
2016-01-01 10:17ed: add init()Roberto E. Vargas Caballero1+18-14
2016-01-01 10:17ed: Reset modflag in clearbuf()Roberto E. Vargas Caballero1+1-1
2016-01-01 10:17ed: Move modflag=0 to clearundo()Roberto E. Vargas Caballero1+1-2
2016-01-01 10:31Update copyright yearssin1+2-2
2015-12-31 19:35ed: Fix infinite recursion to undo()Roberto E. Vargas Caballero1+3-1
2015-12-21 18:37chown: fix user:group option parsingQuentin Rameau2+17-5
2015-12-21 17:36Cleanup usage() across sbaseQuentin Rameau13+20-17
2015-12-21 14:12flock: Check for waitpid() errorsin1+2-1
2015-12-21 14:11flock: Close fd early for correct error propagationsin1+3-3
2015-12-21 12:57Check argv0 in xvprintf()FRIGN1+1-1
2015-12-21 09:54Do not indent labelsin1+1-1
2015-12-21 08:28Refactor eprintf.cFRIGN1+13-19
2015-12-16 20:21Move edit logic to an individual functionRoberto E. Vargas Caballero1+17-10
2015-12-16 20:17Fix small typo in commentRoberto E. Vargas Caballero1+1-1
2015-12-16 19:18call to addpre() in every iteration of subline()Roberto E. Vargas Caballero1+1-1
2015-12-16 18:44Escape correctly characters in getrhs()Roberto E. Vargas Caballero1+4-0
2015-12-16 18:39Discard input at the end of global commandsRoberto E. Vargas Caballero1+17-9
2015-12-15 14:45ed: use arg.hQuentin Rameau1+15-20
2015-12-15 14:13ed: fix cmd e/EQuentin Rameau1+1-1
2015-12-15 14:59Check if PRIO_MIN and PRIO_MAX are definedRoberto E. Vargas Caballero2+16-0
2015-12-15 09:44No need for using a sub-shell in getconf.shsin1+4-8
2015-12-15 09:39Fix warning in join(1)sin1+1-1
2015-12-15 09:04Fix some useless warningssin1+8-4
2015-12-15 08:48Fix sbase-box targetsin1+1-0
2015-12-15 08:43Fix getconf(1) usagesin1+1-1
2015-12-14 20:22Remove ifdef hell from getconf.cRoberto E. Vargas Caballero3+235-227
2015-12-14 14:40Fix getrhs()Roberto E. Vargas Caballero1+0-6
2015-12-14 14:38Restore state of buffer in errorsRoberto E. Vargas Caballero1+6-0
2015-12-14 14:18Do not modify curln with w commandsRoberto E. Vargas Caballero1+3-1
2015-12-14 12:13Staticise globals in ed(1)sin1+28-28
2015-12-14 12:12Remove unused variables in ed(1)sin1+1-2
2015-12-14 12:09Add ed(1) - the standard text editorRoberto E. Vargas Caballero5+1389-1
2015-12-14 11:58Fix style issue in whoami which broke the sbase-box targetsin1+2-2
2015-12-14 09:55Add whoami(1)FRIGN4+48-0
2015-11-26 10:32Fix type mismatch in split(1)sin1+2-2
2015-11-26 10:30Use SSIZE_MAX for overflow check in parseoffset()sin1+1-1
2015-11-26 10:24Fix type mismatchessin2+3-3
2015-11-21 10:19cal: Highlight current daysin1+13-2
2015-11-19 02:50tar: improve file status handling on extractBrad Barden1+40-29
2015-11-19 02:49tar: extract creation modeBrad Barden1+1-1
2015-11-16 16:28readlink: Remove broken support for -m and -esin2+17-56
2015-11-13 14:29Revert "enmasse: For the special case of 2 args, do not distinguish b…sin1+3-1
2015-11-13 14:23Align end of commentsin1+1-1
2015-11-13 14:18enmasse: For the special case of 2 args, do not distinguish between d…sin1+1-3
2015-11-13 14:12mv: Ensure stat is initialized when we prune a treesin1+1-1
2015-11-13 11:14Include sys/time.h for timeval structuresin1+1-0
2015-11-13 10:59Use -D_FILE_OFFSET_BITS=64 by defaultsin1+1-2
2015-11-06 10:58Sync cron with latest scronsin1+177-102
2015-11-06 10:51env: Check unsetenv() return valuesin1+2-1
2015-11-06 10:48env: environ can never be NULL so don't check for itsin1+2-3
2015-11-06 10:30Mark grep and tftp as auditedsin1+2-2
2015-11-06 10:26Update TODO regarding imported programssin1+0-5
2015-11-03 15:05od: document skip (-j) optionGreg Reagle2+7-2
2015-11-01 22:05tail: Fix operation with +n argumentMichael Forney1+1-1
2015-11-01 17:12ls: fix time handling by augmenting time resolutionQuentin Rameau1+8-7
2015-11-01 17:12ls: fix entities arrays handling in main()Quentin Rameau1+15-15
2015-11-01 17:23Revert "ls: Fix sorting of named entries"sin1+12-10
2015-11-01 10:16No need for semicolon after ARGENDsin61+61-61
2015-11-01 09:35getconf: Fix trailing whitespacesin1+9-9
2015-10-31 20:01ls: Fix sorting of named entriesMichael Forney1+10-12
2015-10-31 16:26Use ifdef in getconf(1) instead of commenting out missing definesFRIGN1+42-14
2015-10-27 18:26od: more accurate statement of compliance with POSIXGreg Reagle1+2-4
2015-10-26 16:26Fix typo in libutil/fshut.cFRIGN1+1-1
2015-10-26 16:21Fix multiple file handlingFRIGN1+4-3
2015-10-26 11:56Minor style fixsin1+2-1
2015-10-26 11:52Properly parse numbers in od(1)FRIGN1+3-4
2015-10-26 11:29Properly handle partial chunks in od(1)FRIGN1+12-4
2015-10-26 11:13Fix remaining endian-issue in od(1)FRIGN1+6-8
2015-10-25 23:45Mark getconf as audited in READMEFRIGN1+1-1
2015-10-25 23:42Mark od(1) and getconf(1) as auditedFRIGN1+1-1
2015-10-25 23:08Fix od(1) outputFRIGN1+1-1
2015-10-25 22:26Add -e and -E flags to od(1) and properly handle endiannessFRIGN2+34-14
2015-10-09 23:18getconf.1: fix: end list (El)Hiltjo Posthuma1+1-0
2015-10-09 01:09Update od(1)-documentationFRIGN2+19-12
2015-10-08 23:46Rewrite od(1)FRIGN3+184-59
2015-10-08 15:43Implement -o for flock(1) to close fd before execsin2+11-3
2015-10-08 15:15Use ISO-date-format in manpagesFRIGN85+85-85
2015-10-08 15:15Convert leading whitespace to tabssin1+3-3
2015-10-07 15:23env: Fix return value if the command could not be foundsin1+1-1
2015-10-07 14:20Include fcntl.h for open(2)sin1+1-0
2015-10-07 09:26If multiple modes are supplied to flock(1), the last one winssin1+1-1
2015-10-07 09:24Add flock entry in READMEsin1+1-0
2015-10-07 09:22flock: Set default mode for open(2)sin1+1-1
2015-10-07 09:16Initial implementation of flock(1)sin3+105-0
2015-10-04 15:58Prepend "usage: " in usage()sin1+1-1
2015-10-04 15:48Lint is dead - remove unnecessary cast to (void)sin1+1-1
2015-10-04 11:10ls: handle character/block files in long formatQuentin Rameau2+10-3
2015-10-04 15:36Stop defining major()/minor() and makedev()sin1+0-7
2015-10-02 13:43Match \v as escaped characterFRIGN1+1-1
2015-10-01 16:15Comment out some more entries in getconf.c to make it build on OpenBSDsin1+8-8
2015-09-30 22:59Add getconf(1)FRIGN5+375-1
2015-09-30 18:06Fix last offset output using skip in od(1)FRIGN1+2-2
2015-09-30 18:05Make strtol() parsing even stricter in parseoffset()FRIGN1+11-14
2015-09-30 17:27Print error message when size == 0 in split(1)FRIGN1+3-1
2015-09-30 17:24Check for size == 0 in split(1)FRIGN1+1-1
2015-09-30 17:21Convert split(1) to parseoffset()FRIGN1+5-28
2015-09-30 17:14Harden parseoffset() even moreFRIGN1+8-3
2015-09-30 17:13Check parseoffset return value in od(1)FRIGN1+4-2
2015-09-30 10:54Implement od(1) v-flagFRIGN3+8-2
2015-09-29 23:50Add -j and -N to od(1) and update READMEFRIGN2+35-23
2015-09-29 23:26Don't forget to scale in parseoffset()FRIGN1+2-2
2015-09-29 23:19Add parseoffset()FRIGN3+61-0
2015-09-29 22:08Some small changes for od(1)FRIGN1+17-17
2015-09-29 21:40Properly handle namedict in od(1)FRIGN1+1-2
2015-09-29 21:14Check explicit length in od(1)FRIGN1+2-2
2015-09-29 21:09Refactor parts of od(1)FRIGN1+70-100
2015-09-29 01:02Created od, with improvements suggested by FRIGNGreg Reagle6+210-2
2015-09-06 20:36ls: fix usage line, add f, n and p flagHiltjo Posthuma1+1-1
2015-09-06 20:36ls: printf("%s", s) -> fputs(s, stdout)Hiltjo Posthuma2+2-2
2015-09-06 20:35ls: LEN(pw|grname) -> sizeof()Hiltjo Posthuma1+4-4
2015-09-06 20:33code-style: whitespace fixesHiltjo Posthuma5+22-15
2015-09-03 18:07use CC for sbase-box, remove LDEvan Gates2+1-2
2015-08-31 16:02Remove trailing whitespace inside of ls(1)FRIGN1+3-3
2015-06-12 18:51ls: group sorting optionsQuentin Rameau1+19-16
2015-06-12 18:03ls: detect infinite loop with recursivityQuentin Rameau1+45-3
2015-06-12 17:38ls: correctly handle recursivityQuentin Rameau1+65-41
2015-06-12 14:22ls: list operands in correct orderQuentin Rameau1+36-12
2015-06-12 13:09ls: fix -qQuentin Rameau1+29-21
2015-08-28 04:10tail: Don't print garbage when input contains no newlines.Wolfgang Corcoran-Mathe1+3-2
2015-08-14 11:58Add TFTP client as specified by RFC 1350sin4+339-0
2015-08-04 18:51Fix mandoc warnings for sed.1 and find.1sin2+2-0
2015-08-04 18:42Mark manpages as done in the README for find(1) and sed(1)FRIGN1+2-2
2015-08-04 15:58add preliminary find(1) manpageEvan Gates1+130-2
2015-08-04 15:57add preliminary sed(1) manpageEvan Gates1+137-2
2015-08-03 19:30comm: Print first trailing unpaired line in file 1Wolfgang Corcoran-Mathe1+6-3
2015-08-04 10:59Note in the README that find(1) and sed(1) are lacking manpagesFRIGN1+4-4
2015-08-04 10:45Audit sort(1) and mark it as finishedFRIGN2+37-29
2015-08-04 10:44Make fname static in cut() in cut(1)FRIGN1+1-1
2015-08-03 15:35Make sort(1) utf-compliant and update READMEFRIGN2+19-8
2015-08-02 23:32Reorder functions in sort(1)FRIGN1+113-113
2015-08-02 23:12Factor out parse_keydef() into addkeydef() and reorder functionsFRIGN1+69-74
2015-08-02 21:55Use queue.h-macros in sort(1)FRIGN1+27-33
2015-07-31 22:09Call C compiler for linkingShiz1+1-1
2015-07-22 17:36join: Use LIMIT macroWolfgang Corcoran-Mathe1+1-4
2015-07-11 18:17find: NULL terminate braces array in exec primaryWolfgang Corcoran-Mathe1+1-0
2015-07-10 14:45Add LNGARG() to sbase.Christoph Lohmann1+2-0
2015-06-23 17:42join: Stricter parsing of -o listWolfgang Corcoran-Mathe1+6-11
2015-06-21 13:57Remove debug-code in printf(1)FRIGN1+1-1
2015-06-21 13:52Fix parameter-usage in printf(1)FRIGN1+13-10
2015-06-15 19:27find: Improve prompt spacing with -okWolfgang Corcoran-Mathe1+1-1
2015-06-15 19:27find: Fix flushing input buffer with -okWolfgang Corcoran-Mathe1+3-3
2015-06-15 20:49NULL terminate braces array in get_ok_argEvan Gates1+1-0
2015-06-11 17:58cksum: Skip files with read errors and continueWolfgang Corcoran-Mathe1+6-3
2015-06-06 20:38Fix typo in join(1)FRIGN1+1-1
2015-06-05 11:11ln: allow dangling symlinksEivind Uggedal1+14-11
2015-06-04 23:16Add some info to config.mkFRIGN1+3-1
2015-06-04 22:27Remove col(1)FRIGN4+0-297
2015-06-04 20:36readlink: simplify -fEivind Uggedal1+2-5
2015-06-03 17:50sed: Alias -r to -E for GNU compatsin1+1-0
2015-05-26 21:36sed: support extended regular expressions (-E)Eivind Uggedal1+7-2
2015-06-03 14:31delete pattern space before updating ranges on c,d,DEvan Gates1+1-0
2015-05-27 16:15Fix ln(1) symbolic link handlingFRIGN1+35-26
2015-05-24 23:33Simplify return & fshut() logicFRIGN34+142-72
2015-05-20 15:49Fix tail(1) -n 0 handling and unglobalize some variablesFRIGN1+21-23
2015-05-19 21:43fold: check -N form properlyHiltjo Posthuma1+2-1
2015-05-19 19:48fold: check form -n aswell, > 0Hiltjo Posthuma1+1-1
2015-05-19 15:59Use a function pointer in uuencode(1)FRIGN1+4-11
2015-05-19 15:44Remove handrolled strcmp()'sFRIGN21+31-21
2015-05-19 13:30Fix uniq(1)FRIGN1+13-19
2015-05-16 04:57touch: Use both atime and mtime of reference fileMichael Forney1+13-9
2015-05-16 04:57touch: Handle nanosecond timestampsMichael Forney1+11-13
2015-05-16 04:57mv, cp: Preserve nanosecond timestampsMichael Forney1+4-4
2015-05-15 11:37grep: Remove unused variablesin1+1-1
2015-05-15 11:28Handle '-' consistentlyFRIGN21+121-69
2015-05-14 21:37ls: fix option -S for it to work without -lnpFiAlexandre Niveau1+1-1
2015-05-15 10:55find: Allow using multiple pathssin1+1-1
2015-05-13 21:18need implicit -a between ) and !Evan Gates1+1-1
2015-05-09 18:38mktemp improvementsHiltjo Posthuma2+54-15
2015-05-10 09:13tar: compatibility, treat reserved type as regular fileHiltjo Posthuma1+3-1
2015-05-10 09:13tar: compatibility, allow empty magic aswellHiltjo Posthuma1+1-1
2015-05-09 17:01join: fix typoWolfgang Corcoran-Mathe1+1-1
2015-05-08 20:28tar: ignore more crazy GNU PAX header crapHiltjo Posthuma1+1-1
2015-05-08 20:01tar: fix checksum calculation (signed/unsigned issue)Hiltjo Posthuma1+2-2
2015-05-08 15:10libutil/getlines: fix potential crashHiltjo Posthuma1+2-2
2015-05-08 14:55Clarify that compression is now supported in tar.1sin1+1-1
2015-05-08 14:53Bump date in tar.1sin1+1-1
2015-05-08 10:43tar: add support for compressing with an external toolHiltjo Posthuma2+57-21
2015-05-08 10:28tar: add verbose flag (-v)Hiltjo Posthuma1+8-1
2015-05-08 08:16ln: exit non-zero when errors accuredEivind Uggedal1+6-2
2015-05-08 08:16ln: only check existence of src/to for hardlinksEivind Uggedal1+6-7
2015-05-05 12:55libutil/getlines: use known line lengthHiltjo Posthuma1+6-6
2015-05-05 12:53Revert "libutil/getlines: use known line length"Hiltjo Posthuma1+1-1
2015-05-05 11:42libutil/getlines: use known line lengthHiltjo Posthuma1+1-1
2015-05-05 11:41sort: reuse buffer in columns()Hiltjo Posthuma1+20-14
2015-05-01 17:41join manpage: Fix spellingWolfgang Corcoran-Mathe1+2-2
2015-05-01 17:38join: Add LICENSE headerWolfgang Corcoran-Mathe1+1-0
2015-04-29 21:19include stdint.h for SIZE_MAXEvan Gates1+1-0
2015-04-29 11:15kill: Include strings.h for strcasecmp()sin1+1-0
2015-04-29 11:12du: Use off_t instead of uintmax_tsin1+6-6
2015-04-28 10:48Use off_t in humansize() as it is more descriptive and applicablesin2+3-4
2015-04-28 10:35Include stdint.h in util.h for uintmax_tsin1+1-0
2015-04-28 09:25du: Use uintmax_t instead of size_tDionysis Grigoropoulos1+6-6
2015-04-28 09:23humansize: Use uintmax_t for sizeDionysis Grigoropoulos2+4-3
2015-04-27 18:33which: Add LICENSE headersin1+1-0
2015-04-27 18:27Add flag support to printf(1)FRIGN1+12-6
2015-04-27 18:01Refactor and audit which(1)FRIGN3+65-47
2015-04-27 00:49tr: Fix -c option when translatingMichael Forney1+2-0
2015-04-27 14:28join: remove argv0, it is in arg.hHiltjo Posthuma1+0-3
2015-04-27 14:24add whichHiltjo Posthuma4+117-0
2015-04-24 22:27Convert humansize() to accept a size_t instead of a doubleFRIGN3+10-8
2015-04-24 21:54Do not use arg.h for tools which take no flagsFRIGN16+18-79
2015-04-24 14:42du: staticize duHiltjo Posthuma1+1-1
2015-04-23 18:46tar: Fix remove(3)-error-messageFRIGN1+1-1
2015-04-23 16:45tar: Minor style fixessin1+32-26
2015-04-23 15:31tar: Add routine to test if the tar archive is "legit"sin1+30-0
2015-04-23 15:14tar: Rename field to better match specsin1+5-5
2015-04-23 14:43tar: Use more conventional name for iteratorsin1+3-3
2015-04-23 14:31tar: Match type like everywhere elsesin1+1-1
2015-04-23 14:29tar: No need to zero-fill variables with global storagesin1+2-2
2015-04-23 14:20tar: Use raw I/O instead of standard file streamssin1+70-54
2015-04-23 13:05tar: Use remove() instead of unlink() so we can work on directories t…sin1+1-1
2015-04-23 11:38tar: Staticise symbolssin1+2-2
2015-04-23 11:34tar: Apply mtime at the end otherwise it gets revertedsin1+40-8
2015-04-23 11:06tar: Add skipblk() and simplify codesin1+11-9
2015-04-22 23:04tar: Skip over git's global pax header crapsin1+8-0
2015-04-22 22:22tar: Skip over data before processing the next entrysin1+8-3
2015-04-21 16:59xargs: Don't print trailing spaces when -t is setsin1+4-1
2015-04-21 16:48Actually print <space> to stream in putword() toosin1+1-1
2015-04-21 16:40Update putword() to accept a FILE *sin4+9-9
2015-04-21 16:08expr: Don't interpret any argumentssin1+1-11
2015-04-21 15:19tar: Cast to proper type, no functional changesin1+2-2
2015-04-21 15:18tar: Don't error out if we can't pull pw/gr entriessin1+3-10
2015-04-21 14:35tar: Briefly update manpage and usage for the latest changessin2+6-5
2015-04-21 14:29tar: Allow extracting only a given list of filessin1+17-9
2015-04-21 14:05tar: Don't assume that name, linkname and prefix are null-terminatedsin1+10-8
2015-04-21 13:30Add support to tar multiple files in a single runsin1+7-5
2015-04-21 08:15Convert chown() failure to a warning in tar(1)sin1+1-1
2015-04-20 21:28expr: fix, first parse then enfshutHiltjo Posthuma1+5-1
2015-04-20 19:38tr(1): Show an error when classes and non-classes are mixedFRIGN1+2-0
2015-04-20 19:17tr: fix "isdigit" checkHiltjo Posthuma1+1-2
2015-04-20 17:02Move mkdirp() to libutilsin5+32-46
2015-04-20 17:01Add LICENSE header to fshut.csin1+1-0
2015-04-20 16:39Fix mkdir -p with a leading /sin2+2-2
2015-04-20 16:32tar: error if strdup fails (estrdup)Hiltjo Posthuma1+1-1
2015-04-20 15:33Use strtol() instead of strtoul() in tar(1)sin1+20-20
2015-04-20 15:31Fix tar(1) handling of archives with improper internal ordersin1+29-1
2015-04-20 15:29Fix tar(1) handling of <space> terminated fieldssin1+28-0
2015-04-20 15:12Fix mkdir -p and allow -m to be specified along with -psin1+13-8
2015-04-20 10:43Enable -lrt by defaultsin1+1-1
2015-04-20 10:26Simplify condition in wc(1)sin1+1-2
2015-04-20 10:23Add join(1)Wolfgang Corcoran-Mathe6+662-1
2015-04-19 12:00Add SILENT flag to recurse()FRIGN4+19-13
2015-04-18 20:04Add maxdepth to recurse()FRIGN10+54-45
2015-04-18 19:24Properly handle recursion in recurse()FRIGN8+24-20
2015-04-17 16:48sed: use reallocarray (non-issue)Hiltjo Posthuma1+1-1
2015-04-14 15:40intptr_t is an optional type, use intmax_tEvan Gates1+1-1
2015-04-09 14:31Don't close stdin early in sed(1)sin1+1-1
2015-04-07 17:08sed: remove unused strnacpy()Hiltjo Posthuma1+0-13
2015-04-05 19:36sort: allow keys where start_col > end_colJakob Kramer1+1-1
2015-04-05 18:33sort: allow 0 as key's end_charJakob Kramer1+1-1
2015-04-05 18:31sort: apply -b only to "custom" keysJakob Kramer1+2-1
2015-02-01 20:00sort: add support for delimiter stringsJakob Kramer1+27-24
2015-04-05 21:49du: Reset size counter for each file readDionysis Grigoropoulos1+1-0
2015-04-05 21:28Solve little output issue in du(1)FRIGN1+1-1
2015-04-05 08:16Fix function definition style for fshut.csin1+6-3
2015-04-05 08:14Add Dionysis Grigoropoulos alias erethon to LICENSEFRIGN1+1-0
2015-04-04 22:57wc: Print number of bytes by defaultDionysis Grigoropoulos1+1-1
2015-04-04 22:34Remove DEBUG-define for eprintf.cFRIGN2+5-7
2015-04-04 22:04Remove fflush-check from fshut()FRIGN1+6-4
2015-04-04 21:09Fix small issue in nl(1)FRIGN1+2-2
2015-04-04 19:25Add *fshut() functions to properly flush file streamsFRIGN60+175-118
2015-04-03 22:06Makefile: missing sbase-box-install in PHONYYpnose1+1-1
2015-04-03 18:36Revert "Add command(1) to TODO"sin1+0-1
2015-04-03 15:54Add command(1) to TODOsin1+1-0
2015-04-03 09:41Fix usage for printf(1)sin1+1-1
2015-04-03 09:29Do not interpret -- in echo(1)sin1+4-13
2015-04-01 00:15wc: Show line/char/word count even if it's zeroDionysis Grigoropoulos1+3-3
2015-03-30 19:49col: dont allow col -l 0Hiltjo Posthuma1+1-1
2015-03-30 19:49col: exit status 1 on usageHiltjo Posthuma1+1-1
2015-03-30 19:48col: buffer 128 lines by defaultHiltjo Posthuma2+3-3
2015-03-30 19:25paste: fix crash with empty delimiterHiltjo Posthuma1+2-0
2015-03-30 19:24tail: allow tail -n 0 or tail -0Hiltjo Posthuma2+3-1
2015-03-30 17:58du: fix possible division by zero if $BLOCKSIZE is 0Hiltjo Posthuma1+1-1
2015-03-29 19:55libutil/getlines: style fixHiltjo Posthuma1+1-3
2015-03-29 19:48libutil/getlines: fix crash with no linesHiltjo Posthuma1+4-3
2015-03-27 21:47whitespace fixesHiltjo Posthuma2+11-11
2015-03-27 21:45xargs: minor optimizationsHiltjo Posthuma1+5-4
2015-03-27 21:43xargs: fix sysconf(_SC_ARG_MAX)Hiltjo Posthuma1+5-6
2015-03-27 16:08find: fgetc() returns intHiltjo Posthuma1+2-2
2015-03-27 16:03fix some signed/unsigned warnings and style fixesHiltjo Posthuma5+7-6
2015-03-27 16:22POSIX 2013 auditFRIGN60+219-194
2015-03-27 15:20sed: declare functions and global vars static (some still missing)Hiltjo Posthuma1+159-159
2015-03-27 15:01sed: style improvementsHiltjo Posthuma1+31-30
2015-03-27 14:59sed: show specific error strings (strerror) and minor style fixesHiltjo Posthuma1+13-13
2015-03-27 14:54grep: use len returned from getline and check fmemopen()Hiltjo Posthuma1+16-11
2015-03-27 14:53comm: minor optimizationHiltjo Posthuma1+1-1
2015-03-27 13:49Check getline()-return-values properlyFRIGN15+22-21
2015-03-27 11:21nl.1: fix mandoc warningHiltjo Posthuma1+0-1
2015-03-27 11:21printf: no need to nul-terminate after strndupHiltjo Posthuma1+0-2
2015-03-26 22:00Properly handle width and precision in printf(1)FRIGN1+8-3
2015-03-24 20:43change estrlcat back to strlcatEvan Gates1+1-1
2015-03-23 21:56Drop maxdigits in expr(1)FRIGN1+2-9
2015-03-23 21:44Style fix in expr(1)FRIGN1+2-2
2015-03-23 21:31Can't use sizeof on malloc'ed array in expr(1)FRIGN1+5-3
2015-03-23 19:30Fix syntax error in sort(1)FRIGN1+1-1
2015-03-23 15:22Prepare POSIX 2013 auditFRIGN1+87-84
2015-03-22 22:37Add -m and -o flags to sort(1)FRIGN3+49-22
2015-03-22 21:53Add s-, t-, x-flags to and audit xargs(1)FRIGN3+104-57
2015-03-22 20:43Audit col(1), add UTF-8-supportFRIGN3+77-93
2015-03-22 19:23nl: Fix leading white-spacesin1+1-1
2015-03-22 17:30Don't indent non-numbered lines in nl(1)FRIGN1+1-4
2015-03-22 16:38Don't print section-control-lines as empty lines in nl(1)FRIGN1+0-1
2015-03-22 16:25Fix small typo in nl.1FRIGN1+1-1
2015-03-22 15:29Audit nl(1)FRIGN3+107-101
2015-03-22 13:32Audit expr(1)FRIGN2+154-161
2015-03-21 13:04Show usage() when filtermode is given for tar-creationFRIGN1+3-1
2015-03-21 00:03Audit tar(1), add DIRFIRST-flag to recurse()FRIGN5+177-130
2015-03-20 21:09Audit readlink(1)FRIGN3+42-48
2015-03-20 17:09nl: UTF-8 support and removed the two characters limit for delimiterQuentin Rameau3+24-12
2015-03-20 15:37Reorder variables in seq(1)FRIGN1+5-6
2015-03-20 15:04Audit seq(1)FRIGN3+23-20
2015-03-20 14:17Update README on feature-listFRIGN1+3-3
2015-03-19 16:45Audit cp() in libutilFRIGN4+118-92
2015-03-19 10:45kill: No need for const intsin1+1-1
2015-03-18 18:26ls: add -f and -S optionsQuentin Rameau3+36-8
2015-03-18 16:58nl: add -d -p -f -h optionsQuentin Rameau4+104-20
2015-03-18 23:53Refactor recurse() againFRIGN10+60-71
2015-03-18 21:58Audit concat() in libutilFRIGN1+6-5
2015-03-18 14:20Remove apathmax() and implicitly agetcwd()FRIGN8+17-67
2015-03-18 00:11Add notice on flags put in parentheses in READMEFRIGN1+1-1
2015-03-18 00:10ls has explicit UTF-8-support (q-flag)FRIGN1+1-1
2015-03-18 00:00Update README in regard to ls(1)FRIGN1+1-1
2015-03-17 23:20Audit wc(1)FRIGN3+13-12
2015-03-17 23:18Remove comma from uuencode.1FRIGN1+1-1
2015-03-17 23:14Audit uuencode(1)FRIGN3+12-5
2015-03-17 23:10Audit uudecode(1)FRIGN3+23-22
2015-03-17 22:59Audit uniq(1)FRIGN3+23-31
2015-03-17 22:45Audit unexpand(1)FRIGN2+8-6
2015-03-17 22:41Audit tr(1)FRIGN2+2-2
2015-03-17 22:38Audit touch(1)FRIGN3+6-6
2015-03-17 22:35Audit test(1)FRIGN3+10-1
2015-03-17 22:24Audit tail(1)FRIGN3+34-35
2015-03-17 22:07Mark sync(1) as auditedFRIGN1+1-1
2015-03-17 22:05Audit strings(1)FRIGN2+7-6
2015-03-17 21:59Audit split(1)FRIGN3+46-46
2015-03-17 21:15Audit renice(1)FRIGN2+20-47
2015-03-17 20:43Audit printf(1)FRIGN2+2-1
2015-03-17 20:30Audit paste(1)FRIGN2+3-3
2015-03-17 17:59untypedef expr, find, test, as is existing style in sbaseEvan Gates3+197-199
2015-03-17 10:24Add estrlcat() and estrlcpy()FRIGN10+43-28
2015-03-17 10:01Audit mktemp(1)FRIGN2+8-10
2015-03-16 23:44Audit logname(1)FRIGN2+14-5
2015-03-16 18:26Rewrite foldline() in fold(1)FRIGN1+37-41
2015-03-16 11:37Audit kill(1)FRIGN3+80-97
2015-03-16 09:36Small style-fix in cat.cFRIGN1+1-1
2015-03-13 23:44test: Fix -e, -r, -w and -xsin1+4-4
2015-03-13 22:54Remove judging word from head.1 and tail.1 as wellFRIGN2+2-2
2015-03-13 22:47Audit fold(1)FRIGN3+34-32
2015-03-13 22:43Fix argument parsing in test(1) and chmod(1)FRIGN3+3-7
2015-03-12 21:46increment pointer by runelen(delim) not 1Evan Gates1+2-2
2015-03-13 11:15Three bugfixes in mkdir(1)FRIGN1+6-4
2015-03-12 23:37Audit expand(1)FRIGN3+11-9
2015-03-12 23:25Add history and config-struct to recurseFRIGN11+130-65
2015-03-12 12:29Only call recurse() when path points to a directory in du(1)FRIGN1+2-1
2015-03-12 12:22Refactor recurse()FRIGN1+10-9
2015-03-11 22:31Mark du(1) as audited in READMEFRIGN1+1-1
2015-03-11 22:21Audit du(1) and refactor recurse()FRIGN11+88-159
2015-03-11 16:33Mark cut(1) and cron(1) as audited in READMEFRIGN1+2-2
2015-03-11 16:29Audit cut(1)FRIGN1+30-19
2015-03-11 16:06Undef reallocarray in util.h before declarationFRIGN1+1-0
2015-03-11 12:47Mark comm(1) as audited in READMEFRIGN1+1-1
2015-03-11 12:39Audit comm(1)FRIGN1+28-51
2015-03-11 12:32cksum: Report exit status properlysin1+3-1
2015-03-11 12:31Print usage() when -l and -s are both given in cmp(1)FRIGN1+1-1
2015-03-11 10:16Audit cmp(1)FRIGN2+15-21
2015-03-11 09:50Remove mallocarray(...) and use reallocarray(NULL, ...)FRIGN12+15-68
2015-03-10 23:13Audit cksum(1)FRIGN2+19-17
2015-03-10 21:19Implement mallocarray()FRIGN13+74-23
2015-03-10 20:16Implement reallocarray()FRIGN14+84-27
2015-03-10 19:05fork: no need to _exit() on the error caseHiltjo Posthuma4+4-8
2015-03-10 11:49nl: add -l optionQuentin Rameau3+32-10
2015-03-09 14:01Use switch with fork()FRIGN3+11-14
2015-03-09 00:04Don't return but _exit after failed exec*() and fork()FRIGN8+30-22
2015-03-08 23:41Small global-var change to chgrp(1)FRIGN1+4-4
2015-03-08 23:37Audit chown(1)FRIGN3+52-43
2015-03-08 23:33style: document intentional fallthroughHiltjo Posthuma2+2-2
2015-03-08 23:25Use idiomatic return in setsid(1)FRIGN1+1-1
2015-03-08 22:31Audit chgrp(1)FRIGN3+38-33
2015-03-08 20:35Add little estrtonum()-range-fixFRIGN1+1-1
2015-03-08 20:28Audit cal(1)FRIGN3+64-63
2015-03-08 18:33Audit cols(1)FRIGN3+43-52
2015-03-08 13:41uniq: optimization: reuse the prevline bufferHiltjo Posthuma1+23-18
2015-03-08 11:49time: show which signal terminated the program, exit statusHiltjo Posthuma1+11-2
2015-03-07 14:39grep, kill, renice, sort: style: put main at bottomHiltjo Posthuma4+258-258
2015-03-07 13:04uniq: dont use count format if emptyHiltjo Posthuma1+2-1
2015-03-07 13:02uniq: style put main at bottomHiltjo Posthuma1+57-61
2015-03-07 12:56col.1: convert to mandocHiltjo Posthuma1+60-70
2015-03-07 12:36seq, xargs: style: put main at bottomHiltjo Posthuma2+143-147
2015-03-07 12:33staticize some functionsHiltjo Posthuma5+7-7
2015-03-07 12:29uniq: fix argv checkHiltjo Posthuma1+4-2
2015-03-06 23:48Fix off-by-one in apathmax() as the path is relative to "/"sin5+10-11
2015-03-06 23:08Audit logger(1)FRIGN3+31-22
2015-03-06 17:47bug and style fixes in findEvan Gates1+68-61
2015-03-06 11:26Remove file(1) from TODOsin1+0-1
2015-03-06 01:20don't mix declarations and code (and one ** to *[])Evan Gates1+8-10
2015-03-05 23:34Small fix in mkdir.cFRIGN1+1-1
2015-03-05 23:32Small fix in head.cFRIGN1+4-3
2015-03-05 20:14Audit ln(1)FRIGN3+38-26
2015-03-05 18:08Audit chmod(1)FRIGN3+47-34
2015-03-05 17:03Audit mkdir(1)FRIGN2+22-28
2015-03-05 08:15fold: Fix usage and manpage for -widthsin2+7-10
2015-03-05 08:13tail: Add -num to usage and fix manpage to align with head.1sin2+7-8
2015-03-05 08:10head: Fix usage and manpagesin2+7-10
2015-03-05 01:28test: Minor cleanupEvan Gates1+28-25
2015-03-04 23:58Audit head(1)FRIGN2+17-18
2015-03-04 23:57Include sys/stat.h in nohup(1)FRIGN1+2-0
2015-03-04 23:33Mark uname(1) as audited in READMEFRIGN1+1-1
2015-03-04 23:29Mark time(1) as finished and audited in READMEFRIGN1+1-1
2015-03-04 23:27Add EXIT STATUS to nohup.1FRIGN1+14-0
2015-03-04 23:23Audit time(1)FRIGN1+22-15
2015-03-04 23:22Add time(1) manpageFRIGN1+45-2
2015-03-04 22:22Audit mv(1)FRIGN3+15-10
2015-03-04 22:05Audit tee(1)FRIGN3+16-16
2015-03-04 21:41Remove "make" from TODOFRIGN1+0-1
2015-03-04 21:39Audit nohup(1)FRIGN2+16-22
2015-03-04 17:48Remove trailing whitespace in col.cFRIGN1+2-2
2015-03-03 16:24Audit pwd(1)FRIGN3+16-20
2015-03-03 13:37Staticise globals in col(1)sin1+10-10
2015-03-03 13:36Add license header in col(1)sin1+1-1
2015-03-03 09:52Add col commandRoberto E. Vargas Caballero4+319-0
2015-03-03 10:26Fix segmentation fault in tar(1)FRIGN1+3-2
2015-03-02 23:31Use path[len] instead of *(path + len)FRIGN1+2-2
2015-03-02 23:11Use dynamic array in recurse() instead of PATH_MAX-arrayFRIGN1+6-8
2015-03-02 20:43Refactor enmasse() and recurse() to reflect depthFRIGN13+71-59
2015-03-02 18:15Audit cp(1)FRIGN3+55-34
2015-03-02 16:41Audit chroot(1)FRIGN2+11-11
2015-03-02 16:25Audit mkfifo(1)FRIGN2+13-15
2015-03-02 16:14Update rmdir.1 as wellFRIGN1+6-6
2015-03-02 15:53Audit nice(1)FRIGN4+15-12
2015-03-02 15:24Add argv0 to usage() in rmdir.cFRIGN1+1-1
2015-03-02 14:39Audit rmdir(1)FRIGN2+14-11
2015-03-02 14:12Audit date(1)FRIGN2+11-8
2015-03-02 13:50Audit env(1)FRIGN3+14-14
2015-03-02 13:36Rename unused flag in rm()FRIGN1+1-1
2015-03-02 13:19Make already audited tools argv-centric instead of argc-centricFRIGN6+14-14
2015-03-02 09:53Do not mask previous return-values in libutil/rm.cFRIGN1+2-1
2015-03-01 23:36Audit cat(1)FRIGN3+13-12
2015-03-01 23:20Audit setsid(1)FRIGN2+3-2
2015-03-01 22:48Fix exit status with -f for nonexistent pathsFRIGN1+2-1
2015-03-01 22:42Audit sponge(1)FRIGN2+2-3
2015-03-01 21:59Update *sum(1)-manpages and mark them as finished and auditedFRIGN5+69-19
2015-03-01 21:51Refactor cryptcheck() to allow multiple list-files and stdinFRIGN6+56-53
2015-02-28 20:47Audit printenv(1)FRIGN3+7-6
2015-02-28 20:30Audit rm(1)FRIGN3+5-5
2015-02-28 20:22Audit hostname(1)FRIGN3+8-5
2015-02-28 20:12Mark yes(1) as audited in READMEFRIGN1+1-1
2015-02-28 20:11Audit yes(1)FRIGN1+5-9
2015-02-28 19:16Audit echo(1)FRIGN2+3-3
2015-02-28 19:10Audit sleep(1)FRIGN2+4-3
2015-02-28 19:05Audit unlink(1)FRIGN3+3-2
2015-02-28 18:59Audit tty(1)FRIGN2+5-2
2015-02-28 18:50Audit dirname(1)FRIGN3+5-5
2015-02-28 18:42Audit link(1)FRIGN2+15-5
2015-02-28 18:33Fix broken sbase-box due to multiple definitions of usagesin2+3-3
2015-02-28 14:40README: document sbase-box-install ruleHiltjo Posthuma1+1-1
2015-02-28 14:42Update README for time(1)sin1+1-1
2015-02-28 11:16time: errno is not guaranteed to be set for sysconf()sin1+2-4
2015-02-28 14:12Mark false(1) and true(1) as auditedFRIGN1+2-2
2015-02-28 14:09Refactor basename.1FRIGN1+6-5
2015-02-28 13:48Audit basename(1)FRIGN2+11-14
2015-02-28 13:42Add audit-section to READMEFRIGN1+80-80
2015-02-28 12:46add find.1, sed.1, time.1 stubsHiltjo Posthuma3+18-0
2015-02-28 12:43chown.1, strings.1: fix dateHiltjo Posthuma2+2-2
2015-02-28 12:23make rule: sbase-box-installHiltjo Posthuma1+10-0
2015-02-27 21:43time(1) cleanupsin1+8-12
2015-02-27 21:31add time. do not mark complete/POSIX compliant as exit status is wron…Evan Gates3+65-0
2015-02-26 18:07Don't break the coding-styleFRIGN1+2-1
2015-02-26 04:12expr comments, cleanup, UTF-8 supportEvan Gates2+142-139
2015-02-26 09:36Remove tabs(1) from TODOFRIGN1+0-1
2015-02-25 22:03tput should be in ubasesin1+0-1
2015-02-25 17:01re-typedef Test, use NOTREACHED comment instead of comma operator, bo…Evan Gates1+15-12
2015-02-25 03:34a bunch of cleanupEvan Gates1+95-95
2015-02-25 02:44use struct literal instead of filling each field manuallyEvan Gates1+2-5
2015-02-25 02:19no need for array of function pointers for comparisons, just use the …Evan Gates1+12-20
2015-02-24 01:47add space for END tokenEvan Gates1+1-1
2015-02-24 01:33remove extra get_n_arg declarations (copy pasta)Evan Gates1+0-3
2015-02-23 19:33Add mkrunetype.awkFRIGN2+246-0
2015-02-22 19:37Replace strlen with unary_n to test zero length.noname1+1-1
2015-02-22 11:55ls: add -n optionQuentin Rameau3+14-6
2015-02-21 11:47ls: Clarify that -1 is set implicitly when -R is usedsin1+3-1
2015-02-21 11:00Update README for ls -RTai Chi Minh Ralph Eastwood1+1-1
2015-02-21 10:45ls: add support for -R flagTai Chi Minh Ralph Eastwood2+18-10
2015-02-21 09:30Add ls -A implementationsin3+14-5
2015-02-21 01:51insert implicit -a after primary before !Evan Gates1+9-8
2015-02-21 01:30find: Change execv to execvpEvan Gates1+33-35
2015-02-20 21:55align redirections in Makefile for readabilityEvan Gates1+13-13
2015-02-20 20:14replace printf + putchar with fputsEvan Gates1+2-2
2015-02-20 20:12use parameter expansion instead of basename in MakefileEvan Gates1+4-4
2015-02-20 20:08add [ alias for testEvan Gates1+3-1
2015-02-20 19:19no need for libutf in test, a null byte is a null byteEvan Gates2+3-4
2015-02-20 16:24Add info about NetBSD to config.mksin1+1-0
2015-02-20 16:00Include strings.h for strcasecmp()sin3+3-0
2015-02-20 15:47Use st_mtime as opposed to st_mtim.tv_secsin1+2-2
2015-02-20 14:12Implement nl -n formatsin3+37-3
2015-02-20 13:38Remove bit fieldsRoberto E. Vargas Caballero1+9-9
2015-02-20 13:38Add -lrt switchRoberto E. Vargas Caballero1+1-1
2015-02-20 13:36uudecode: fix no newline before EOFHiltjo Posthuma1+3-3
2015-02-20 13:35uudecode: add newline to out-of-range errorHiltjo Posthuma1+1-1
2015-02-20 12:45Don't be too pedantic in expr.cFRIGN1+3-3
2015-02-20 12:28code-style: minor cleanup and nitpickingHiltjo Posthuma8+20-20
2015-02-20 12:27code-style: unindent one level of switchHiltjo Posthuma3+75-75
2015-02-20 12:26unexpand: spaces to tabsHiltjo Posthuma1+13-13
2015-02-20 12:21Add missing limits.h include for nl(1)sin1+1-0
2015-02-20 12:15Implement nl -w widthsin3+13-3
2015-02-20 12:05Implement nl -v startnumsin3+18-7
2015-02-20 10:24Fix stylesin1+2-1
2015-02-20 01:47Add initial find(1) implementationEvan Gates4+1051-1
2015-02-19 18:48ls: add support for -pQuentin Rameau3+25-18
2015-02-19 18:27Get rid of the %Z-flag in strptime-formatFRIGN1+9-1
2015-02-19 17:58Update usage and add actual d-parsing to touch(1)FRIGN1+4-1
2015-02-19 17:56Correct error-handling in touch(1)FRIGN1+1-1
2015-02-19 17:54Add proper d- and t-flag support to touch(1)FRIGN3+89-17
2015-02-19 15:34Fix touch usage in manpagesin1+2-2
2015-02-19 15:31touch: Document that -d is unsupportedsin1+3-1
2015-02-19 15:28touch -t is also unwantedsin1+1-1
2015-02-19 15:27Mark touch -d as unwanted in the READMEsin1+1-1
2015-02-19 14:54uniq: corrected arg syntax in usage()Quentin Rameau1+1-1
2015-02-19 14:56mv: Remove -i from usage and manpagesin2+5-6
2015-02-19 14:54rm: Remove -i from usage and manpagesin2+5-8
2015-02-19 14:21README: added options for date, ls, touchQuentin Rameau1+3-3
2015-02-19 11:24Add COLUMNS support to cols(1)sin2+17-7
2015-02-18 21:04Don't terminate du(1) if chdir(2) failsFRIGN1+2-2
2015-02-18 20:43Mark du(1) as finished in READMEsin1+1-1
2015-02-18 20:42Update manpage for du(1)sin1+8-0
2015-02-18 20:41Mark du -x as done in the READMEsin1+1-1
2015-02-18 17:24Add -x support for du(1)Quentin Rameau2+16-7
2015-02-18 17:08cp: Remove unnecessary commentsin1+0-1
2015-02-18 16:48Fix ls when -q is not setsin1+1-1
2015-02-18 16:43Fix ls -q UTF-8 parsingsin1+4-3
2015-02-18 16:29Implement -u support for ls(1)sin3+19-5
2015-02-18 15:55Simplify ls -q implementationsin1+12-21
2015-02-18 15:20du: Fix typo in manpagesin1+2-2
2015-02-18 11:30Update LICENSEFRIGN1+1-1
2015-02-18 10:43sed(1): Add back line numbers to compiler error messagesFRIGN1+33-24
2015-02-18 10:21Use e-functions in sed(1)FRIGN1+44-81
2015-02-18 09:51Refactor sed(1) a bitFRIGN1+7-18
2015-02-17 17:59Add q-flag to ls(1)FRIGN3+35-5
2015-02-17 17:18Refactor strings(1) loop againFRIGN1+4-4
2015-02-17 17:10Fix small issue in strings(1) loopFRIGN1+6-6
2015-02-17 16:41chown: Update program usage and manpagesin2+23-14
2015-02-17 16:13cp: Update program usage and manpagessin2+20-22
2015-02-17 16:07du: Update usage and document -P as wellsin2+17-15
2015-02-17 16:04Add UTF-8-support to strings(1), add t-flag and refactor codeFRIGN3+78-33
2015-02-17 13:55strings: The default minimum length sequence is 4 characters not 6sin1+1-1
2015-02-17 13:50strings: Remember to include limits.h for INT_MAXsin1+1-0
2015-02-17 13:46strings: Add -n len supportsin3+34-26
2015-02-17 13:39strings: Default to -asin3+10-2
2015-02-17 12:14expand, unexpand: Minor style fix as per the suckless guidesin2+4-4
2015-02-17 09:13tar: Style fixsin1+2-2
2015-02-17 09:08Simplify sha*sum.cFRIGN3+3-9
2015-02-16 19:01Make the tar(1)-header fixed againFRIGN1+4-4
2015-02-16 18:47Refactor tar(1)FRIGN1+48-61
2015-02-16 18:20Refactor ls(1)FRIGN1+171-182
2015-02-16 16:47chmod: Add -HLP flags and update manpagesin2+27-10
2015-02-16 16:30chgrp: Update program usage and manpagesin2+18-13
2015-02-16 16:23Fix recurse() prototype and convert char to int flagssin11+15-15
2015-02-16 16:12Remove redundant definition of argv0sin1+0-1
2015-02-15 15:41Update README for chown, chgrp -H -L -PTai Chi Minh Ralph Eastwood1+2-2
2015-02-15 14:45recurse: change char follow to int followTai Chi Minh Ralph Eastwood2+2-2
2015-02-09 19:53recurse: add symlink derefencing flags -H and -LTai Chi Minh Ralph Eastwood7+37-19
2015-02-16 09:30Fix \c behaviourFRIGN1+3-1
2015-02-15 12:28uudecode: fix error msgs (newlines, no output name)Tai Chi Minh Ralph Eastwood1+8-5
2015-02-15 16:00Use BSD style function definitionssin1+4-2
2015-02-15 15:27Fix isprintrune()'s behaviourFRIGN1+1-1
2015-02-15 14:20Handle empty format string in printf(1)FRIGN1+2-1
2015-02-15 13:56Update escape-sequence information in tr.1FRIGN1+1-1
2015-02-15 13:46Add printf(1)FRIGN4+141-844
2015-02-14 21:54Add \e, \", \' and hex-escapes (\xH[H]) to unescape()FRIGN1+24-0
2015-02-14 20:56Remove runetype and to*rune section from TODOFRIGN1+0-5
2015-02-14 20:15Add some missing includessin2+2-0
2015-02-14 20:02Clean up #includesFRIGN63+42-142
2015-02-14 18:26Remove evil and unused assert.h from cols(1)sin1+0-1
2015-02-13 15:41Fix fgetrune on systems where char is unsigned by default (ARM)sin1+4-2
2015-02-13 11:38Update uuencode manpage and mark as complete in READMEsin2+16-5
2015-02-13 11:37Fix section order in uudecode.1sin1+4-4
2015-02-13 11:32Clarify that -m is an extension to the POSIX specification for uudeco…sin1+4-0
2015-02-13 11:29Update uudecode manpage and mark as completesin2+21-4
2015-02-13 11:21Update README for uudecode and uuencodesin1+2-2
2015-02-13 11:19uudecode: Style fixsin1+67-71
2015-02-13 11:17uuencode: Style fixsin1+42-44
2015-02-11 13:27uudecode: fix flushing (again) through rewriteTai Chi Minh Ralph Eastwood1+39-26
2015-02-10 19:37uuencode: refactor by removing extranous #includeTai Chi Minh Ralph Eastwood1+0-1
2015-02-10 19:36uudecode: fix flushing in corner caseTai Chi Minh Ralph Eastwood1+6-4
2015-02-10 19:14uuencode: add support for base64 and -o to stdoutTai Chi Minh Ralph Eastwood2+175-23
2015-02-13 09:12uudecode(1) also needs the m-flagFRIGN1+1-1
2015-02-12 22:35Update README with chgrp(1) and chown(1) statusFRIGN1+2-2
2015-02-12 20:57Also add proper error-reporting to chown(1)FRIGN1+6-4
2015-02-12 20:56Add h-flag to chown(1) and chgrp(1)FRIGN2+33-25
2015-02-12 16:08Fix warnings and update isalpharune()FRIGN7+172-64
2015-02-12 15:48Also add "B"-type characters to isspacerune()FRIGN1+3-8
2015-02-12 15:41Amend isspacerune() properly with WS and S Unicode charactersFRIGN1+10-1
2015-02-12 15:13Add section for laces in lowerrune and upperrune and more rangesFRIGN2+194-2229
2015-02-12 14:33Make getlines() less verbosesin1+1-2
2015-02-12 11:28Refactor uppercase-inclusion in libutfFRIGN2+2536-5068
2015-02-11 20:32Scrap chartorunearr(), introducing utftorunestr()FRIGN6+20-32
2015-02-11 20:14Rename variable Rune * p -> r in fgetrune()FRIGN1+4-4
2015-02-11 19:58Scrap writerune(), introducing fputrune()FRIGN9+46-40
2015-02-11 19:13Scrap readrune(), introducing fgetrune()FRIGN10+45-57
2015-02-11 15:55uniq: Add standards section to manpage and update READMEsin2+7-1
2015-02-11 15:27uniq is now complete, update READMEsin1+1-1
2015-02-11 15:18uniq.1: add [input [output]] informationTai Chi Minh Ralph Eastwood1+13-7
2015-02-11 14:56uniq: add support for writing output filesTai Chi Minh Ralph Eastwood2+29-19
2015-02-11 14:44Split up is*rune() and to*rune() functions into individual source fil…FRIGN18+5944-5856
2015-02-11 12:24Use runetypebody.h-functions in wc(1)FRIGN1+1-4
2015-02-11 12:50uniq: Fix typo in usagesin1+1-1
2015-02-11 12:21uniq: Match usage with manpagesin1+1-1
2015-02-11 12:12uniq: Fixup program usage and manpagesin3+14-21
2015-02-11 12:03Use runetypebody.h-functions in tr(1)FRIGN1+26-27
2015-02-11 11:57Add missing is*rune() functions and tolowerrune() and toupperrune()FRIGN2+4262-301
2015-02-11 12:02uniq: Style fixsin1+1-0
2015-02-11 11:58readlink: Use eprintf() to report errorssin1+3-3
2015-02-11 11:54Update readlink in READMEsin1+1-1
2015-02-11 11:51readlink: Use strlcat() instead of strncat()sin1+4-2
2015-02-11 10:54Update READMEsin1+2-2
2015-02-11 10:49Add Ralph to LICENSEsin1+1-0
2015-02-11 06:02uniq: add ascii implementation of -f and -s flagsTai Chi Minh Ralph Eastwood1+32-3
2015-02-11 08:55readlink: add -m and -f flagsTai Chi Minh Ralph Eastwood1+54-14
2015-02-11 01:08make use of en*alloc functionsJakob Kramer3+8-25
2015-02-11 00:59add estrndupJakob Kramer2+19-0
2015-02-11 00:40add en*alloc functionsJakob Kramer2+36-8
2015-02-11 00:27getlines: Style fixsin1+6-6
2015-02-10 23:30getlines: last line of file should always have a newlineJakob Kramer1+5-0
2015-02-10 16:37fix some mandoc warningsHiltjo Posthuma2+6-7
2015-02-10 12:08paste: No need to make an exception for stdin, just close it at the e…sin1+2-6
2015-02-10 11:11Fix alphabetical order in READMEFRIGN1+5-5
2015-02-10 10:34Add initial implementation of sed(1)Evan Gates4+1773-1
2015-02-09 23:53Update README reflecting recent changes to the codebaseFRIGN1+4-4
2015-02-09 23:34Add periods in expr.1FRIGN1+4-4
2015-02-09 23:33Rework test.1FRIGN1+69-26
2015-02-09 22:22du.1: add symlink dereferencing flags to manpageTai Chi Minh Ralph Eastwood1+7-0
2015-02-09 22:18du.c: add symlink dereferencing flags -H and -LTai Chi Minh Ralph Eastwood1+17-6
2015-02-09 21:42tar.1: add symbolic link dereferencing to manpageTai Chi Minh Ralph Eastwood1+4-0
2015-02-09 21:29chgrp.1: note exception of -h flag unsupportedTai Chi Minh Ralph Eastwood1+8-1
2015-02-09 21:26chgrp.1: add symlink derefencing flags to manpageTai Chi Minh Ralph Eastwood1+15-4
2015-02-09 21:25chown.1: add symlink dereferencing flags to manpageTai Chi Minh Ralph Eastwood1+10-0
2015-02-09 21:11cp.1: symlink dereferencing flagsTai Chi Minh Ralph Eastwood1+6-0
2015-02-09 20:56cp: add symlink deref flags -H and -L for cp and mvTai Chi Minh Ralph Eastwood7+28-24
2015-02-09 21:21Use strtonum and libutf in test(1), refactor code and manpageFRIGN5+100-101
2015-02-09 19:04Make wording more consistent in head.1 and tail.1FRIGN2+2-2
2015-02-09 18:03Remove trailing newlineFRIGN1+0-1
2015-02-09 18:02Amend STANDARDS section in tail.1FRIGN1+5-0
2015-02-09 18:01Small tail(1) manpage fixFRIGN1+9-6
2015-02-09 17:46Small code cleanup in tail(1)FRIGN1+21-19
2015-02-09 17:38Add c-flag to tail(1) and refactor manpageFRIGN3+56-27
2015-02-09 16:10tail: Skip leading spaces in tail -n " +20"sin1+1-1
2015-02-09 16:01tail: Fix tail -n -val to handle leading spacessin1+1-2
2015-02-09 15:52tail: Handle tail -n -val properlysin1+2-1
2015-02-09 15:26Refactor tail(1) manpage and update READMEFRIGN2+20-8
2015-02-09 15:22Switch concat() to use fread() and fwrite()sin1+6-5
2015-02-09 15:03tail: Ignore anything other than FIFOs and regular files for -fsin1+2-0
2015-02-09 14:41tail: Add rudimentary support to detect file truncationsin1+16-1
2015-02-09 14:47An additional size_t-fix in tail(1)FRIGN1+4-6
2015-02-09 14:30Convert tail(1) to use size_tFRIGN1+5-4
2015-02-09 14:10No need to free the buffer for every call to getline()sin1+3-4
2015-02-09 14:06Add f-flag to tail(1) and refactor codeFRIGN1+69-50
2015-02-09 11:382014 -> 2015 in touch.1FRIGN1+1-1
2015-02-08 23:45Do not rely on the underlying type of time_t in date(1) and touch(1)sin2+2-2
2015-02-08 23:41Add r-flag to touch(1), refactor manpage and codeFRIGN3+46-16
2015-02-08 23:20Reformat READMEFRIGN1+78-78
2015-02-08 23:20Remove wchar.h from unexpand(1)FRIGN1+0-1
2015-02-08 22:28Update TODO with current roadmapFRIGN1+8-10
2015-02-08 22:16Refactor tar(1) manpageFRIGN2+38-27
2015-02-08 21:17Refactor sponge(1) code and manpageFRIGN3+4-6
2015-02-08 21:13Add arg.h-handling to sync(1) and unlink(1)FRIGN2+14-4
2015-02-08 21:08Refactor sync(1) code and manpageFRIGN3+3-5
2015-02-08 20:59Refactor unlink(1) code and manpageFRIGN3+11-6
2015-02-08 20:28Nuke bogus newlinesin1+0-1
2015-02-08 20:24Refactor unexpand(1) code and manpage, adding tablist supportFRIGN3+148-85
2015-02-07 21:15Refactor uname(1) code and manpageFRIGN3+13-13
2015-02-07 21:00Refactor tty(1) code and manpageFRIGN3+19-7
2015-02-07 20:42No need to check for stdin on fclose()FRIGN1+2-4
2015-02-07 20:36Handle stdin properly in cmp(1) and remove path comparisonFRIGN1+15-10
2015-02-07 20:13Reuse 'n' in cmp(1)FRIGN1+7-7
2015-02-07 20:05Refactor cmp(1) code and manpageFRIGN3+48-43
2015-02-07 17:09tr : Revert 97c59861465172f24ced6fe30d5de69403b9b193FRIGN1+1-1
2015-02-06 19:46wc: Make output POSIX compliantsin1+4-3
2015-02-06 19:11wc: Report exit status properlysin1+3-1
2015-02-06 14:43xargs.1: dont justify text, remove " "Hiltjo Posthuma1+4-4
2015-02-06 14:43cron.1: path macro for /etc/crontabHiltjo Posthuma1+1-1
2015-02-06 14:43tr: small typoHiltjo Posthuma1+1-1
2015-02-03 04:22support llvm-arEon S. Jeon1+2-2
2015-02-02 18:59Fix tr(1) behaviour in special cases and be stricter about stuffFRIGN1+13-8
2015-02-02 16:57Fix segmentation fault in tr(1) with -dc and one setFRIGN1+11-4
2015-02-01 20:45sort: minor manual page adjustmentsJakob Kramer1+2-14
2015-02-01 20:28man pages: fix some typosHiltjo Posthuma5+7-7
2015-02-01 19:52man pages: improve consistencyHiltjo Posthuma30+147-96
2015-02-01 18:26basename: make usage line the same as the man pageHiltjo Posthuma1+1-1
2015-02-01 18:02sort.1: fix warningHiltjo Posthuma1+2-2
2015-02-01 16:45sort manpage: fix key definitionJakob Kramer1+10-9
2015-02-01 15:55No need to specify "rb" and "wb" in fopen, use "r" and "w"sin1+2-2
2015-02-01 15:33Makefile: stricter regex replace for sbase VERSIONHiltjo Posthuma1+1-1
2015-02-01 13:00split: fixesHiltjo Posthuma2+64-70
2015-02-01 10:22Don't call var "read"sin1+3-3
2015-02-01 03:20Add explicit boundary to loop in readrune()FRIGN1+1-1
2015-02-01 03:06Add even stricter UTF-8-support to wc(1)FRIGN1+8-6
2015-02-01 02:54Return number of bytes read even on a partial readFRIGN1+2-1
2015-02-01 02:43Return number of bytes read in readrune()FRIGN1+1-1
2015-02-01 02:01Finish up wc(1)FRIGN3+66-68
2015-02-01 01:27POSIX doesn't specify yes(1) so mark it as such in READMEsin1+1-1
2015-02-01 01:27yes: Minor style fixsin1+6-4
2015-02-01 01:23Fix potential modulo 0FRIGN1+5-2
2015-02-01 01:13Finish up yes(1) by adding multiple string supportFRIGN3+13-7
2015-02-01 00:24Adjust some limits to more flexibility for strtonumFRIGN10+110-110
2015-01-31 23:55Finish up cols(1)FRIGN3+16-14
2015-01-31 23:47Finish up setsid(1)FRIGN2+11-4
2015-01-31 23:43Edit readlink.1 and document missing flagsFRIGN3+17-15
2015-01-31 23:23Finish up printenv(1)FRIGN3+9-10
2015-01-31 23:15Fix grammar in mktemp(1)FRIGN1+1-1
2015-01-31 23:14Finish up mktemp(1)FRIGN2+10-10
2015-01-31 23:03Finish up hostname(1)FRIGN2+7-4
2015-01-31 22:54Finish up chroot(1) and md5sum(1)FRIGN5+24-14
2015-01-31 19:57Use size_t for number of lines in linebufJakob Kramer3+9-11
2015-01-31 19:37Add .Os sbase and sed replace to .Os sbase $(VERSION) in make installsin76+76-75
2015-01-31 18:12sort: support sorting decimal numbers correctlyJakob Kramer1+8-4
2015-01-31 14:23ln: usage, just use %sHiltjo Posthuma1+3-2
2015-01-31 14:19grep: getline returns signed (ssize_t)Hiltjo Posthuma1+3-3
2015-01-31 13:43fix mandoc warningsHiltjo Posthuma23+97-83
2015-01-31 13:20remove sbase-VERSION from man page, fix sponge.1 dateHiltjo Posthuma76+76-77
2015-01-31 13:07split.1: convert to mandocHiltjo Posthuma1+35-45
2015-01-31 13:05tar.1: convert to mandocHiltjo Posthuma1+56-58
2015-01-30 23:25uuencode.1, uudecode.1: convert to mandocHiltjo Posthuma2+25-19
2015-01-30 23:20unexpand.1: convert to mandocHiltjo Posthuma1+22-19
2015-01-30 23:16sponge.1: convert to mandocHiltjo Posthuma1+14-11
2015-01-30 22:49sort.1: convert to mandocHiltjo Posthuma1+62-46
2015-01-30 22:34readlink.1: convert to mandocHiltjo Posthuma1+28-19
2015-01-30 22:29mktemp.1: convert to mandocHiltjo Posthuma1+20-17
2015-01-30 22:25printenv.1: convert to mandocHiltjo Posthuma1+16-14
2015-01-30 22:10setsid.1: convert to mandocHiltjo Posthuma1+10-7
2015-01-30 22:08*sum.1: convert to mandocHiltjo Posthuma4+64-44
2015-01-30 21:52test.1: convert to mandoc and some fixesHiltjo Posthuma1+51-73
2015-01-30 21:39seq.1: convert to mandocHiltjo Posthuma1+27-29
2015-01-30 21:15hostname.1: convert to mandocHiltjo Posthuma1+14-11
2015-01-30 21:13du.1: convert to mandocHiltjo Posthuma1+27-28
2015-01-30 21:07cp.1: convert to mandoc, add mv(1) to SEE ALSOHiltjo Posthuma1+34-32
2015-01-30 20:56sync.1: convert to mandocHiltjo Posthuma1+14-11
2015-01-30 20:51mandoc: convert uname.1, uniq.1 and xargs.1Hiltjo Posthuma3+102-97
2015-01-30 20:49tail.1: fix listHiltjo Posthuma1+1-1
2015-01-30 20:17add some mandoc pages and fix some warningsHiltjo Posthuma52+231-183
2015-01-30 16:47fold: Be consistent and use size_tsin1+1-1
2015-01-30 16:47seq: Use INT_MIN as opposed to -INT_MAXsin1+1-1
2015-01-30 16:45ARGNUMF() only works on base 10 as it uses strtonum underneathsin4+4-4
2015-01-30 15:52Convert estrto{l, ul} to estrtonumFRIGN19+30-81
2015-01-30 15:01Convert cal(1) to strtonumFRIGN1+10-13
2015-01-30 14:02Remember to include limits.h for UINT_MAXsin1+1-0
2015-01-30 14:01Use estrtonum in sleep(1)sin1+1-1
2015-01-30 13:59Use errstr as filled by strtonum() because it is more informativesin1+1-1
2015-01-30 13:56Add estrtonum() as wellsin2+13-0
2015-01-30 13:52Remember to undef strtonum in case it is provided also as a macrosin1+1-0
2015-01-30 13:48Add strtonum() in preparation to nuking estrtol() and friendssin3+69-0
2015-01-30 13:24sleep: Allow sleeping for 136 yearssin1+1-1
2015-01-30 13:24Add estrtoul()sin3+28-0
2015-01-30 13:14sleep(3) cannot handle ulong so don't fool peoplesin1+1-1
2015-01-30 12:41Add mandoc-manpage for sleep(1) and refactor the code a bitFRIGN3+24-14
2015-01-30 12:30Add mandoc-manpage for rmdir(1)FRIGN2+33-26
2015-01-30 11:48Staticise mv_statussin1+1-1
2015-01-30 11:45Fix return values in rm(1) and mv(1)FRIGN4+26-20
2015-01-30 11:43Properly report return value in rmdir(1)FRIGN1+4-5
2015-01-30 11:21Add p-flag to rmdir(1)FRIGN1+23-3
2015-01-30 10:34Add mandoc-manpage for rm(1)FRIGN3+45-24
2015-01-29 22:59Fix niceness-range in nice.1FRIGN1+1-1
2015-01-29 22:58Mark renice(1) as finished in READMEFRIGN1+1-1
2015-01-29 22:58Add mandoc-manpage for renice(1)FRIGN1+40-96
2015-01-29 20:59Fix tabs in libutil/unescape.cFRIGN1+8-8
2015-01-29 20:52Add unescape() to libutilFRIGN6+56-118
2015-01-29 20:26Add mandoc-manpage for paste(1)FRIGN2+50-122
2015-01-29 19:15Add UTF8-support to paste(1) and refactor parallel()FRIGN2+115-163
2015-01-28 22:55Add mandoc-manpage for nohup(1)FRIGN3+31-18
2015-01-28 21:40Add mandoc-manpage for nice(1)FRIGN3+41-20
2015-01-28 21:11Rectify order of casesFRIGN1+1-1
2015-01-28 21:06Add mandoc-manpage for mv(1)FRIGN3+39-24
2015-01-28 20:15Add additional info to mkdir(1), mkfifo(1) and chmod(1)-manpagesFRIGN3+6-2
2015-01-28 19:57Add full mode support to mkdir(1) and fix return valuesFRIGN1+12-11
2015-01-28 19:55Add mandoc-manpage for mkfifo(1) and add full mode supportFRIGN3+44-24
2015-01-28 18:44Add trivial equivalence class support in tr(1) and update manpageFRIGN2+18-7
2015-01-26 16:14Fix buildsin1+2-2
2015-01-26 16:13tar: Remove support for old syntax (we now require '-' to parse flags)sin1+2-45
2015-01-26 16:03tar: No need to use -f for gzipsin1+1-1
2015-01-26 15:07tar: Add support for -z and -j by invoking external programssin1+164-96
2015-01-26 15:09mkdir: Don't stop after the first failuresin1+17-8
2015-01-26 14:30Add mandoc-manpage for mkdir(1) and clean up codeFRIGN3+49-35
2015-01-26 14:06Add mandoc-manpage for logname(1)FRIGN2+17-9
2015-01-26 13:54Add mandoc-manpage for ln(1)FRIGN3+65-39
2015-01-26 12:12Fix alphabetical order in READMEFRIGN1+3-3
2015-01-25 21:44Add mandoc-manpage for link(1)FRIGN3+20-16
2015-01-25 21:03Change description of tail(1)FRIGN1+1-1
2015-01-25 21:01Add mandoc-manpage for head(1) and clean up codeFRIGN3+61-39
2015-01-25 20:36Use correct date format in fold.1FRIGN1+1-1
2015-01-25 20:33Mark fold(1) and grep(1) as finished in the READMEFRIGN1+2-2
2015-01-25 20:26fold: Properly report exit status if we fail to open a filesin1+5-3
2015-01-25 20:25Small readability fix in fold.1FRIGN1+2-1
2015-01-25 20:22Add mandoc-manpage for fold(1) and refactor codeFRIGN2+101-87
2015-01-25 18:31Relax with caps in usagesin1+1-1
2015-01-25 18:13expand: Use strsep() for parsing the tablistsin1+19-33
2015-01-25 17:48Import strsep() from musl libcsin3+42-1
2015-01-25 15:49Add mandoc-manpage for expr(1)FRIGN3+79-134
2015-01-25 14:24Fix issue with negative integers passed to expand(1)FRIGN1+7-7
2015-01-25 14:07Use strtoul in expand(1) and force base 10FRIGN1+1-1
2015-01-25 13:31Add tablist support and a mandoc-manpage to expand(1)FRIGN3+143-77
2015-01-24 22:09Add missing space in error message in cut.cFRIGN1+1-1
2015-01-24 22:04Add -u-flag to env.1-manpageFRIGN1+4-0
2015-01-24 22:00Fix segmentation fault in tr(1)FRIGN1+2-2
2015-01-24 21:53Refactor cut.1 and cut.cFRIGN2+7-4
2015-01-24 21:43Add octal sequence support to tr(1)FRIGN2+17-3
2015-01-24 20:25Fix segmentation fault in cut(1)FRIGN1+5-2
2015-01-24 12:30We don't need GNU make to build on OpenBSDsin1+0-2
2015-01-23 23:24Be more consistent in env.1FRIGN1+1-1
2015-01-23 23:22Add mandoc-manpage for env(1)FRIGN3+47-42
2015-01-23 22:49Add mandoc-manpage for echo(1)FRIGN3+32-16
2015-01-23 22:31Mark insane POSIX flagsFRIGN1+4-4
2015-01-23 22:18Refactor basename(1)-manpageFRIGN1+5-6
2015-01-23 22:17Add mandoc-manpage for dirname(1)FRIGN2+22-14
2015-01-23 22:00Mark non-UTF8-tools as non-finishedFRIGN1+3-3
2015-01-23 21:54Add mandoc-manpage for date(1) and clean up codeFRIGN3+41-28
2015-01-23 21:04Mark tee(1) as finished in the READMEFRIGN1+1-1
2015-01-23 21:02Add mandoc-manpage for tee(1)FRIGN2+30-18
2015-01-22 21:08tee: -i option ignores SIGINTGreg Reagle2+12-3
2015-01-22 19:19Add support for arbitrary length delimiters in cut(1)FRIGN2+42-19
2015-01-22 17:50Clarify mechanics in grep.1sin1+1-1
2015-01-22 17:49Fix grammar in grep.1sin1+1-1
2015-01-22 17:37Use \< and \> instead of [[:<:]] and [[:>:]]sin1+2-2
2015-01-22 17:07Add grep -w supportsin2+30-2
2015-01-22 16:26Handle ln -sf a foo/ correctlysin1+1-1
2015-01-22 15:36Use the EARGF()-macro in cut.cFRIGN1+2-5
2015-01-22 11:32Add UTF-8-delimiter-support to cut(1)FRIGN3+40-18
2015-01-20 16:50ls: Implement -c and update manpagesin3+53-52
2015-01-20 15:26Add license remark to tr.csin1+1-0
2015-01-20 11:24touch: Style fixsin1+28-30
2015-01-20 11:22Update README for touchsin1+1-1
2015-01-20 11:19touch: Remember to terminate .Bl with .Elsin1+1-0
2015-01-20 11:15touch: Add support for -a and -msin2+58-41
2015-01-18 18:41Also indent the headingsFRIGN1+2-2
2015-01-18 18:36Add column to mark UTF-8 supportFRIGN1+78-77
2015-01-18 10:30Add mandoc-manpage for cut(1) and clean up codeFRIGN3+81-71
2015-01-18 00:42Update date in cal.1sin1+1-1
2015-01-18 00:40Make cal(1) more readablesin1+16-5
2015-01-17 23:07Add mandoc-manpage for comm(1) and clean up codeFRIGN3+80-74
2015-01-17 22:462014 -> 2015 in cksum.1FRIGN1+1-1
2015-01-17 22:38Add mandoc-manpage for cksum(1) and clean up codeFRIGN3+59-43
2015-01-17 21:33Add mandoc-manpage for chmod(1)FRIGN3+68-76
2015-01-16 23:01Refactor chmod(1)FRIGN1+45-52
2015-01-16 21:46Fix a small error in cal(1) manpageFRIGN2+2-4
2015-01-16 21:19Mark cal(1) as finished in READMEFRIGN1+1-1
2015-01-16 21:17cal(1) cleanupFRIGN1+29-28
2015-01-16 20:50Add mandoc-manpage for cal(1)FRIGN1+55-65
2015-01-08 19:21If only the year operand is given, cal shall produce a calendar for a…Greg Reagle2+17-2
2015-01-08 22:16Use the Julian/Gregorian calendarGreg Reagle3+43-15
2015-01-16 09:40Add mandoc-manpage for cat(1)FRIGN2+29-10
2015-01-16 00:05Add manpages for false(1) and true(1)FRIGN3+34-18
2015-01-15 23:55Fix dateFRIGN1+1-1
2015-01-15 23:53Add mandoc-manpage for tr(1)FRIGN2+77-68
2015-01-15 21:17Amend list of tools with asterisksFRIGN1+79-79
2015-01-15 20:36Add tool status in READMEFRIGN1+74-74
2015-01-15 10:51Resolve escape characters in tr(1)FRIGN1+31-1
2015-01-11 23:03Fix mapping a class to a simple set and improve error-reportingFRIGN1+9-3
2015-01-11 19:29Add proper casts and fix a small errorFRIGN1+4-4
2015-01-11 19:26Add Unicode character class supportFRIGN1+43-34
2015-01-10 19:55Prevail orderFRIGN1+1-1
2015-01-10 18:08tr: set2 must be set in some casesHiltjo Posthuma1+2-0
2015-01-10 16:37chartorunearr: initialize retHiltjo Posthuma1+1-1
2015-01-10 16:38tr: fix signed/unsigned warningsHiltjo Posthuma1+2-4
2015-01-10 14:21Staticise some symbols in tr(1)sin1+5-5
2015-01-09 19:36Rewrite tr(1) in a sane wayFRIGN4+216-300
2015-01-06 20:14cal: Removed unused "day" variableGreg Reagle2+5-10
2015-01-02 13:12Various cal(1) improvementsGreg Reagle2+78-75
2014-12-31 22:01Update LICENSEsin1+1-1
2014-12-23 18:09Add Adria to LICENSEsin1+1-0
2014-12-23 18:03Add Brandon to LICENSEsin1+1-0
2014-12-23 17:58Update LICENSE to have a separate section for authors/contributorssin1+22-19
2014-12-22 11:22ls: No need to set errno to zerosin1+0-3
2014-12-21 21:58ls: getpwuid, getgrgid, use return code of NULL is an error, not errnoHiltjo Posthuma1+6-6
2014-12-21 22:14unexpand: fix eprintfHiltjo Posthuma1+1-1
2014-12-21 21:56du: fix eprintf parameterHiltjo Posthuma1+1-1
2014-12-21 12:12chgrp: Only check errno if getgrnam() failssin1+6-4
2014-12-21 00:01Update TODOsin1+1-1
2014-12-17 20:14cut: clean up file loopTruls Becken1+8-10
2014-12-16 21:11tee: nuke useless free()sin1+0-1
2014-12-16 21:00Nuke another freelist()sin2+1-15
2014-12-16 20:20grep: Reuse allocated bufferssin1+6-6
2014-12-16 20:14logger: Don't bother freeing bufsin1+0-1
2014-12-16 19:46Don't free the line buffer for each filesin1+4-16
2014-12-16 19:43grep: Don't bother free-ing the pattern listsin1+0-8
2014-12-16 11:03Add minimal cron.1sin1+24-0
2014-12-16 10:59Rename crond to cronsin4+496-496
2014-12-15 19:42Fix problem with multi month display spanning a year.Markus Wichmann1+1-1
2014-12-09 16:32Use eprintf() in usage()sin1+1-4
2014-12-09 16:21Add crond(1) to READMEsin1+1-0
2014-12-09 16:19Cleanup crond(1) a littlesin1+5-38
2014-12-09 16:04Import crond from
2014-12-09 15:44Factor out table walk into a separate functionsin1+13-27
2014-12-08 15:14Forgot .El in cols.1sin1+1-0
2014-12-08 15:07Update cols manpagesin2+31-25
2014-12-08 15:00Remove old commentsin1+0-1
2014-12-08 14:54Remove section on minix in READMEsin1+0-4
2014-12-08 12:14Fix comparison >= 0 is always true in basename(1)sin1+9-10
2014-12-08 03:25cp: Rename -d option to -PMichael Forney4+11-11
2014-12-08 02:19ls: Always leave room for the NULL byte in the link targetMichael Forney1+1-1
2014-12-08 01:33ls: Handle symlinks to directories properlyMichael Forney2+28-13
2014-12-05 21:32Use utflen in cols(1)Brandon Mulcahy2+10-7
2014-12-04 22:04Handle non-power-of-two tab sizes in expand(1)Brandon Mulcahy1+3-1
2014-12-04 13:49Update nl(1) manpagesin2+43-43
2014-12-04 12:14State the reason for failure in readlink(1)sin1+1-1
2014-12-04 12:04nl(1) should handle up to 1 filesin2+9-11
2014-12-04 12:00Respect exit status in nl(1) + some stylistic changessin1+14-14
2014-12-04 11:45Staticise functions in logger(1)sin2+4-4
2014-12-04 11:34Implement POSIX 2008 compliant logger(1)sin5+158-1
2014-12-03 23:37Fix basename suffix treatmentBrandon Mulcahy1+9-5
2014-12-01 17:37Bring back OpenBSD make compatibility in Makefilesin1+1-1
2014-12-01 17:12sort BIN, that was bugging meEvan Gates1+7-7
2014-11-30 11:57Remove redundant deletions from clean targetsin1+1-1
2014-11-23 20:25ln: Add support for target directoriesMichael Forney2+47-17
2014-11-23 19:35sort: Implement -c and -C flagsMichael Forney2+58-10
2014-11-23 13:22Fix .SH to .Sh in kill.1sin1+1-1
2014-11-23 13:21Update kill.1sin1+52-21
2014-11-23 12:55Update pwd.1sin1+31-18
2014-11-23 12:46Add note about standards for strings.1sin1+4-0
2014-11-23 12:44Respect exit status in strings(1) and update manpagesin2+15-11
2014-11-22 11:18Don't stop at first failure in mkfifo(1)sin1+8-4
2014-11-22 11:13Fix potential exit status wraparound in chgrp(1)sin1+5-6
2014-11-21 22:29grep: reset inverse flag if both are setHiltjo Posthuma1+2-0
2014-11-21 17:53Respect exit status in expand(1)sin1+3-1
2014-11-21 17:52Convert unexpand(1) to libutfsin1+23-43
2014-11-21 16:34writerune() should operate on a FILE *sin3+9-9
2014-11-21 16:20Factor out readrune and writerunesin5+80-48
2014-11-20 18:33Convert expand.c to libutfsin1+50-39
2014-11-21 14:22Fix grammar in grep.1sin1+1-1
2014-11-21 13:15Add -h to grep(1) usage linesin1+1-1
2014-11-21 13:12Another update to cmp.1sin1+2-2
2014-11-21 13:11Minor update to cmp(1) manpagesin1+1-1
2014-11-21 13:10Update grep(1) manpage and usage linesin2+66-60
2014-11-21 12:54Update TODOsin1+6-2
2014-11-21 12:31cmp(1) is POSIX compliant so mention it in the manpagesin2+7-1
2014-11-21 12:15Update basename manpagesin1+23-14
2014-11-21 12:03Update cmp(1) manpage to new style and do not allow both -l and -s to…sin2+37-26
2014-11-21 11:43Respect exit status in grep(1)sin1+11-3
2014-11-21 10:36Update note on building sbase on OpenBSDsin1+1-1
2014-11-21 00:02Argh - include strings.hsin2+2-0
2014-11-20 23:43Import strcasestr() from musl and remove -D_GNU_SOURCEsin5+38-2
2014-11-20 23:37Include strings.h for strcasecmpsin1+1-0
2014-11-20 23:09Print header in tail(1)sin1+7-1
2014-11-20 23:01Add an easier to edit "table" of tools in READMEsin1+79-0
2014-11-20 22:51Respect exit status in tail(1)sin1+3-2
2014-11-20 22:51Print header in head(1)sin1+7-1
2014-11-20 22:39Respect exit status in head(1)sin1+4-3
2014-11-20 19:56Properly handle multiline patterns in grep(1)sin1+16-10
2014-11-20 18:19If we have a match any pattern also match against blank linessin1+1-1
2014-11-20 17:38Properly handle -F and -isin1+13-4
2014-11-20 17:26Just use int for modesin1+1-1
2014-11-20 17:02Break out on first matchsin1+1-0
2014-11-20 16:57Implement grep -fsin2+37-11
2014-11-20 16:45Handle null BRE/ERE and do not add a pattern to the list if it alread…sin1+16-3
2014-11-20 14:47Implement grep -xsin2+25-4
2014-11-20 14:37Test directly, no need for intermediate assignmentsin1+1-2
2014-11-20 14:35Implement grep -Fsin2+35-18
2014-11-20 14:14Implement grep -ssin2+16-8
2014-11-20 13:56Remove col(1)sin4+1-636
2014-11-20 13:50Remove csplit(1)sin5+0-778
2014-11-19 19:59Use < 0 instead of == -1FRIGN21+41-41
2014-11-19 15:08Break out if stat fails on the source file in cp(1)sin1+44-42
2014-11-19 10:50Make libutf.a and libutil.a differentsin1+5-1
2014-11-18 21:57Fix two more instances where the check for "-" is insufficientsin2+3-3
2014-11-18 21:41read stdin if arg is exactly "-" not just begins with '-'Evan Gates1+1-1
2014-11-18 20:49remove agetlineEvan Gates14+13-28
2014-11-18 20:12clear suffix list then add only .o and .c in that order to avoid use …Evan Gates1+2-1
2014-11-18 19:55Add install(1) to TODOsin1+1-0
2014-11-18 19:27Remove .POSIX from Makefilesin1+0-1
2014-11-17 16:48Rename util/ to libutil/sin51+1647-1647
2014-11-17 16:32renice(1) reworksin1+11-9
2014-11-17 16:27Nuke some fprintf() calls and replace with weprintf()sin2+6-11
2014-11-17 16:22Fix some error messagessin5+9-14
2014-11-17 15:45Add compat.hsin3+10-5
2014-11-17 15:41Import libutf from
2014-11-17 14:39Refactor expr.cFRIGN1+82-63
2014-11-17 15:01Use PRIO_{MIN,MAX} instead of NZEROsin2+2-2
2014-11-17 14:50Define HOST_NAME_MAX if necessarysin1+6-1
2014-11-17 14:46Remove binlib and bin from PHONYsin1+1-1
2014-11-17 13:50Require GNU make to build sbasesin3+6-6
2014-11-17 13:38Staticise globalssin4+4-4
2014-11-17 13:22Avoid messed up output because of trailing spacessin1+109-109
2014-11-17 13:02Add .PHONY targetssin1+3-0
2014-11-17 12:33Only unlink the destination file if -f has been specifiedsin1+1-1
2014-11-17 12:22Use $(RANLIB) in Makefilesin2+3-2
2014-11-17 12:12Use LIB, LIBSRC and LIBOBJ and derive SRC, OBJ and MAN from BINsin1+116-114
2014-11-17 10:59Use SLIST_* instead of TAILQ_* in grep(1)sin1+10-10
2014-11-17 10:51Silence stupid warnings when building sbase-boxsin2+4-0
2014-11-17 10:50List libutil.a first to be a bit more clearsin1+1-1
2014-11-17 10:39Make clean more verbosesin1+1-1
2014-11-17 10:31Do not append CPPFLAGS to CFLAGSsin2+4-4
2014-11-17 10:28Rename util.a to libutil.asin1+6-6
2014-11-17 10:15Make build process more verbosesin2+35-52
2014-11-16 19:29Refactor expr.cFRIGN1+58-46
2014-11-16 19:03grep: add -h (inverse of -H) aswellHiltjo Posthuma2+9-2
2014-11-16 14:43Fix uninitialized use of ret in expr(1)sin1+4-3
2014-11-16 14:19expr: improvementsHiltjo Posthuma1+100-87
2014-11-16 14:17csplit, grep: use eregcompHiltjo Posthuma2+3-8
2014-11-16 14:17nl: fix crash on invalid regexHiltjo Posthuma1+1-1
2014-11-16 14:16util: add eregcomp: show descriptive error message on regcomp errorHiltjo Posthuma3+31-0
2014-11-16 13:24Add note about UTF-8 support in TODOsin1+3-0
2014-11-16 13:20Fix error messagesin1+1-1
2014-11-16 13:16Style fixsin1+1-2
2014-11-16 13:13Set exit status accordingly in printenv(1)sin1+4-1
2014-11-16 13:11Fix completely broken printenv(1)sin1+7-8
2014-11-16 12:59Update TODOsin1+0-1
2014-11-16 12:57Add license heading at the top in expr.csin1+1-0
2014-11-16 12:54Don't use C++ type commentssin1+5-5
2014-11-13 23:07new expr using shunting-yard instead of recursive descent (this time …Evan Gates1+171-447
2014-11-16 12:37Use queue.h in grep(1)sin3+665-14
2014-11-16 10:45grep: add -H flagHiltjo Posthuma2+11-3
2014-11-16 10:07Convert codebase to use emalloc.c utility-functionsFRIGN10+22-36
2014-11-14 18:13Group related decls together in util.hsin1+12-8
2014-11-14 18:09Import ealloc.c from ubasesin3+53-0
2014-11-14 17:59Add make to TODOsin1+1-0
2014-11-14 14:40Delete dist when cleaningsin1+1-1
2014-11-14 11:58Add README and TODO to dist targetsin1+1-1
2014-11-13 21:16Tweak NULL-pointer checksFRIGN8+20-20
2014-11-13 20:24Un-boolify sbaseFRIGN41+220-262
2014-11-13 18:54Sort includes and more cleanup and fixes in util/FRIGN48+177-169
2014-11-13 21:42add -D_DEFAULT_SOURCE to placate gccEvan Gates1+1-1
2014-11-13 18:26Just make $(HDR) a prereq for $(OBJ)sin1+1-3
2014-11-13 18:20Sort HDR in Makefilesin1+11-1
2014-11-13 17:29Fix coding styleFRIGN70+622-557
2014-11-13 17:21Just use HOST_NAME_MAX in hostname(1)sin1+2-15
2014-11-13 17:06Use _exit() instead of return if exec* failssin1+2-3
2014-11-13 16:32Update TODOsin1+9-5
2014-11-13 15:55Don't overwrite the line buffer when we hit EOF on one of the files i…sin1+6-0
2014-11-13 15:38Add "-" support to comm(1)sin1+4-4
2014-11-13 15:27Undef MIN/MAX in case they are defined somewhere elsesin1+2-0
2014-11-13 15:24Modify argv[0] in placesin1+4-6
2014-11-13 15:23Make both arguments to cmp(1) mandatory and handle "-" properlysin1+11-9
2014-11-13 14:52Add a conformance table in the READMEsin1+156-76
2014-11-13 14:29Remove unneeded statementsin1+0-1
2014-11-13 14:26Fix argument naming in dirname(1)sin2+3-3
2014-11-13 14:24Fix overflow in basename(1)sin1+5-8
2014-11-13 14:15Implement cat -u and report correct exit conditionsin1+11-7
2014-11-13 14:14Implement concat() using read(2) and write(2)sin1+5-6
2014-11-11 18:15Revert " make cc the default $CC"sin1+4-5
2014-11-11 17:42Add special signal to the sigs table insteadsin1+1-4
2014-11-11 17:40Handle the special-case signal 0 and "0" properlysin1+6-2
2014-11-11 17:28Simplify logic in kill(1)sin1+24-26
2014-11-11 17:11Handle "--" for -l and -s as well in kill(1)sin1+10-12
2014-11-11 16:34Die early if signal is invalid in -signumsin1+1-0
2014-11-11 16:32Factor out check for WTERMSIGsin1+2-2
2014-11-11 16:27Add name2sig() and simplify kill(1)sin1+24-30
2014-11-11 16:09Actually print usage if kill -l is invoked with more than 1 argsin1+2-1
2014-11-11 16:08kill -l accepts at most 1 argsin2+13-16
2014-11-11 15:55Fix outdated commentssin1+2-2
2014-11-11 15:50Update manpage and usage for kill(1)sin2+8-10
2014-11-11 15:40Remove redundant check in kill(1)sin1+0-2
2014-11-11 15:35Implement XSI extensions -signal_name and -signal_number for kill(1)sin1+34-14
2014-11-11 14:40Make kill(1) POSIX conformantsin2+99-46
2014-11-10 23:52Fix kill -lsin1+2-2
2014-11-09 make cc the default $CCHiltjo Posthuma1+5-4
2014-11-09 19:22style fix: fix indentation (double)Hiltjo Posthuma1+11-11
2014-11-07 22:12return exit status of command in sbase-boxEvan Gates1+1-1
2014-11-03 10:20Fix stupid GCC warningsin1+2-1
2014-11-03 10:17Add Michael Forney to LICENSEsin1+1-0
2014-11-02 22:24chown: Support numeric uids/gidsMichael Forney1+16-9
2014-11-02 22:24Fix symbolic mode parsing in parsemodeMichael Forney1+95-34
2014-11-02 03:08grep: Fix -c flagMichael Forney1+1-1
2014-11-02 03:08grep: Remove newlines before matching a lineMichael Forney1+4-3
2014-11-01 20:36tar: Implement -m flagMichael Forney1+22-3
2014-11-01 20:36tar: Handle archives with the prefix fieldMichael Forney1+6-2
2014-11-01 20:36tar: Support typeflag '\0' when extractingMichael Forney1+2-1
2014-11-01 20:36tar: Don't crash when get{pw,gr}uid failsMichael Forney1+2-2
2014-10-21 16:50Mention programs that were imported from OpenBSDsin1+8-0
2014-10-19 12:20Remove misleading line in READMEsin1+0-3
2014-10-19 09:48ls: add -h flagHiltjo Posthuma3+16-5
2014-10-18 21:26du: add -d flag to specify the max depth to show files or directoriesHiltjo Posthuma2+24-8
2014-10-18 21:25separate humansize into a util functionHiltjo Posthuma4+24-19
2014-10-17 20:12Fix col(1) -fsin1+1-1
2014-10-17 15:03Fix a completely broken ln(1)sin1+9-10
2014-10-17 14:44Introduce new test(1) implementationEvan Gates2+145-139
2014-10-17 14:42Small style fixsin2+0-2
2014-10-17 14:39Use puts() instead of printf() for logname(1)sin1+1-1
2014-10-17 14:38Style fix for link(1)sin1+1-1
2014-10-16 21:15Add logname(1)Brandon Mulcahy5+30-1
2014-10-17 14:32Add link(1)Markus Teich5+33-1
2014-10-16 11:33Update list of tools in READMEsin1+1-0
2014-10-16 11:29Staticise symbolssin3+89-94
2014-10-16 10:58Import csplit(1) from OpenBSDsin4+619-1
2014-10-16 10:33Update only the modified objects in util.asin1+1-1
2014-10-16 10:15Update TODOsin1+25-29
2014-10-16 10:01Update TODOsin1+3-0
2014-10-16 09:10Fix test(1) semanticssin2+12-8
2014-10-16 09:06Add human readable output to du(1)sin3+31-1
2014-10-02 23:02Simplify true(1) and false(1)sin2+0-4
2014-10-02 22:49Another EXIT_SUCCESS nukedsin1+1-1
2014-10-02 22:46Stop using EXIT_{SUCCESS,FAILURE}sin63+89-89
2014-09-29 18:53Add col(1) to READMEsin1+1-0
2014-09-29 18:45Import col(1) from OpenBSD with minor modificationssin3+634-0
2014-09-29 13:35Add printf.1sin1+386-0
2014-09-29 13:22Add expr.1sin1+156-0
2014-09-29 13:10Fix build errorsin1+2-2
2014-09-29 12:43Import expr(1) from OpenBSDsin4+524-2
2014-09-28 14:13Update README for printf(1) and remove from TODOsin2+1-2
2014-09-28 14:10Import printf(1) from OpenBSDsin2+498-0
2014-09-17 09:05Fix typo breaking functionality in tailWolfgang Corcoran-Mathe1+1-1
2014-09-02 11:45Fix warning 'array subscript of type char'sin3+8-6
2014-08-02 14:40cp: print error to stderr and continueHiltjo Posthuma1+13-5
2014-07-26 14:44Fixup READMEsin1+70-7
2014-07-21 16:27cp: improvementsHiltjo Posthuma3+47-28
2014-07-21 13:42ls: improve default formatHiltjo Posthuma1+1-1
2014-07-10 21:00ln: allow with one argumentHiltjo Posthuma1+18-5
2014-07-10 20:31chown: update usageHiltjo Posthuma2+5-2
2014-07-10 20:30util/enmasse: fix double /Hiltjo Posthuma1+9-4
2014-07-10 20:30cp: add -v, fix manpage infoHiltjo Posthuma5+15-5
2014-07-16 19:42Fix comment style and nuke stray whitespacesin1+1-1
2014-07-14 22:49Improved trAdria Garriga2+273-80
2014-07-09 21:28cp: add -a, -d, -pHiltjo Posthuma4+96-29
2014-07-09 13:48Only check errno if getpw*() failssin1+12-8
2014-07-07 06:36Add at(1) to TODOsin1+2-0
2014-07-05 14:35ls: add -1 for compatibility (ignore)Hiltjo Posthuma1+4-1
2014-07-04 22:10Use /dev/fd/0 as opposed to /dev/stdinsin1+1-1
2014-07-04 20:23fixed incorrect fday handling in dayofweek() functionWillem van de Krol1+5-9
2014-07-04 20:00optimized isleap() functionWillem van de Krol1+4-8
2014-07-04 15:45Add support for '-' to catsin1+6-2
2014-07-04 15:42Don't require two C-d to exit the loopsin1+5-5
2014-07-04 14:55Only use /tmp if template is a file and not a pathsin1+22-10
2014-07-04 13:50A plain rm -f is valid and should not be considered an errorsin1+6-2
2014-06-30 14:58Add some error checking to util/recurse.csin1+10-10
2014-06-25 20:27No need to include unistd.h in echo(1)sin1+0-1
2014-06-16 21:38util.h, mode_t: sys/types.h defines mode_tHiltjo Posthuma1+1-1
2014-06-09 19:03Refactor rmdirFRIGN1+9-6
2014-06-09 15:54Implement -i flag for expandTuukka Kataja2+22-5
2014-06-09 15:53Fix expand when one of multiple files can't be openedTuukka Kataja1+1-2
2014-06-09 15:52Add unexpand(1)Tuukka Kataja7+170-4
2014-06-04 15:46cols: simplify filling with spacesJakob Kramer1+5-10
2014-06-02 22:15remove unnecessary calls to realloc from teeJakob Kramer1+9-10
2014-05-15 18:08add -t flag to sortJakob Kramer2+54-54
2014-06-01 13:12remove afgetsHiltjo Posthuma3+0-30
2014-06-01 13:04use agetline instead of agetsHiltjo Posthuma9+35-27
2014-06-01 13:01check snprintf error aswell, handle as truncation errorHiltjo Posthuma3+13-10
2014-06-01 12:59code styleHiltjo Posthuma35+58-94
2014-06-01 12:39cut: improvementsHiltjo Posthuma1+53-24
2014-06-01 12:03grep: improvementsHiltjo Posthuma1+28-26
2014-06-01 11:57add agetline, separate estrtod to utilHiltjo Posthuma6+41-20
2014-06-01 11:49cut, uudecode: free buf after useHiltjo Posthuma2+4-2
2014-06-01 11:35strlcat, strlcpy styleHiltjo Posthuma2+42-42
2014-05-31 16:55Use -std=c99 by defaultsin1+1-1
2014-05-28 10:11Proper copyright header for strlcpy and strlcatsin2+32-2
2014-05-12 10:59Revert "Make grep more memory-efficient"sin1+18-18
2014-05-12 11:01build warnings: initialise values...Hiltjo Posthuma2+4-5
2014-05-11 23:39Declare error buffer at start of blocksin1+1-2
2014-05-11 22:31Make grep more memory-efficientFRIGN1+19-19
2014-05-11 08:56Switching to real nameFRIGN1+1-1
2014-05-06 16:47sort: simplify linecmp, rename curr => tailJakob Kramer1+7-10
2014-05-06 14:13renice(1): renice is not PASTEJakob Kramer1+1-1
2014-05-06 14:07sort: add support for "per-keydef" flagsJakob Kramer2+78-31
2014-05-06 11:37sort: ignore trailing newline while sortingJakob Kramer1+2-1
2014-05-06 11:35sort: work with signed integers as wellJakob Kramer1+18-13
2014-05-05 14:07Chop one level of indentationsin1+25-24
2014-05-05 14:02cp: Don't try to open the file twice in case we did not provide -fsin1+5-2
2014-05-05 13:58Implement cp -fsin5+15-4
2014-05-05 08:11Support reading checksums from stdinDaniel Bainton5+25-10
2014-05-05 08:05Add breaks to the sha*sum arg casesDaniel Bainton3+3-0
2014-05-03 18:42sort: document -bJakob Kramer2+5-2
2014-05-03 18:39sort: simplify skip_columnsJakob Kramer1+3-9
2014-05-03 18:24sort: add -b flag; don't use it as defaultJakob Kramer1+27-6
2014-05-03 17:06sort: don't evaluate if clauseJakob Kramer1+4-3
2014-05-03 16:52sort: replace loop with MIN()Jakob Kramer1+2-5
2014-05-03 16:44sort: remove 'rest' variableJakob Kramer1+8-11
2014-05-03 16:34sort: don't repeat skipping columns logicJakob Kramer1+20-13
2014-05-03 16:28sort: linebuf is no globalJakob Kramer1+1-2
2014-05-02 20:38Break long line in mktemp(1)sin1+2-1
2014-04-30 14:08sort: readability; check strndup return valueJakob Kramer1+18-10
2014-04-29 21:30Add -D_GNU_SOURCE to for tccsin1+1-1
2014-04-27 09:23Update tr.1 man pageSilvan Jegen1+5-1
2014-04-23 20:48chown: return EXIT_FAILURE if one file failed.Hiltjo Posthuma1+5-2
2014-04-23 20:00chmod: process file series behaviourHiltjo Posthuma1+10-4
2014-04-23 19:28parsemode: reworkHiltjo Posthuma4+68-51
2014-04-23 14:00sort: style, explicitly state typeHiltjo Posthuma1+1-1
2014-04-22 13:44use always static for usage and keep usage definition above maindwts6+32-34
2014-04-22 12:13keep usage definition above maindwts4+22-25
2014-04-22 11:11Don't bail out if chmod(2) or chown(2) failssin2+2-3
2014-04-22 10:43minor style changesdwts3+24-19
2014-04-18 17:46chown: add -R for compatabilityHiltjo Posthuma1+1-0
2014-04-18 17:46chown: fix out-of-bounds ((null) bad address error)Hiltjo Posthuma1+2-0
2014-04-18 16:21Minor style changes to sortsin1+3-3
2014-04-12 15:53sort: add -k, fix -uJakob Kramer2+175-11
2014-04-18 10:51Fix char **argv to char *argv[]sin11+11-17
2014-04-12 18:50Wrap mbtowc to check for errorsSilvan Jegen1+15-4
2014-04-12 19:32No need to cast return value of mmap() in trsin1+2-2
2014-04-12 11:18update TODO fileHiltjo Posthuma1+4-6
2014-04-12 11:17update some man pagesHiltjo Posthuma7+27-2
2014-04-12 10:56tr: change delete behaviourHiltjo Posthuma1+2-2
2014-04-09 17:20Fix missing '-' in usagesin1+1-1
2014-04-09 15:35xargs: implement -nHiltjo Posthuma1+19-5
2014-04-09 13:28cmp: suppress file open error with sflagHiltjo Posthuma1+10-4
2014-04-09 13:17make parsemode() genericHiltjo Posthuma5+84-104
2014-04-09 12:12tr: add dflag, error with usage() on invalid flag combinationHiltjo Posthuma1+13-5
2014-04-09 12:03tr: fix escape code handling in set2Hiltjo Posthuma1+18-20
2014-04-05 18:22Don't bail out if the username/group name does not exist in ls(1)sin1+12-10
2014-04-04 10:09Fix style issue in crypt.csin1+4-2
2014-04-04 10:05Rename variable `dif' to `diff' in comm(1)sin1+6-6
2014-04-01 14:55cmp: fix missing bracesHiltjo Posthuma1+3-3
2014-04-01 14:53cmp: fix wrong rebase, missing line, sorryHiltjo Posthuma1+1-0
2014-04-01 13:30split: dont use table lookup for sizeHiltjo Posthuma1+12-7
2014-04-01 13:26style: whitespace fixesHiltjo Posthuma4+8-13
2014-04-01 13:14cmp: dont output EOF difference is sflag is setHiltjo Posthuma1+8-5
2014-04-01 13:13cmp: fix line numbersHiltjo Posthuma1+1-0
2014-04-01 13:06cmp: make EOF check more clearHiltjo Posthuma1+5-3
2014-03-28 15:55Prefix error/warning messages with program name if DEBUG is definedsin1+4-0
2014-03-23 18:58Remove "WARNING: " prefix from messagessin1+3-3
2014-03-23 18:33Use strlcpy()sin1+1-1
2014-03-23 12:45crypt: free line and tiny cleanupHiltjo Posthuma1+3-2
2014-03-23 11:18checksum tools: implement -cHiltjo Posthuma6+105-4
2014-03-23 11:30crypt: error status code if an error occured in a file seriesHiltjo Posthuma1+8-4
2014-03-23 11:23crypt: dont error out if a file in a series failsHiltjo Posthuma1+5-3
2014-03-12 14:43Rename mc(1) to cols(1)sin5+132-132
2014-03-07 18:35kill: argc < 2 should be argc < 1Hiltjo Posthuma1+1-1
2014-03-04 11:02We do symbolic options for chmod(1)sin1+0-2
2014-03-04 10:41Make code a bit more clearsin1+1-1
2014-03-04 10:33We should not require both files to be present for cmp(1)sin1+15-9
2014-02-27 16:54Update READMEsin1+4-0
2014-02-27 14:26id(1) is not portable - move it to ubasesin3+0-151
2014-02-27 14:19Use the more portable NZERO instead of PRIO_*sin2+2-2
2014-02-19 12:27add the man entry for ls -FDaniel Bainton1+4-1
2014-02-18 16:49Preserve permissions when copying filessin1+1-1
2014-02-18 12:52Add Daniel Bainton to LICENSEsin1+1-0
2014-02-17 14:41Add the -F flag to lsDaniel Bainton1+35-7
2014-02-17 11:41Simplify ln(1)sin1+12-17
2014-02-14 15:11Fix wrong length for sethostname()sin1+1-1
2014-02-14 15:08Remove who(1) from READMEsin1+1-1
2014-02-14 15:04Remove who(1) from sbasesin3+0-92
2014-02-14 15:01Use sysconf() instead of HOST_NAME_MAXsin1+14-3
2014-02-14 11:47Don't check remove() return valuesin1+1-3
2014-02-14 11:23Don't complain if we use -f in ln(1)sin1+3-5
2014-02-13 13:02Return proper error values in case execvp() failssin1+10-4
2014-02-13 12:57We can't use eprintf etc. without using the arg.h macros.sin1+14-9
2014-02-12 18:39Minor fix for READMEsin1+1-1
2014-02-12 14:34Add initial READMEsin1+49-0
2014-02-11 10:59Use HOST_NAME_MAX in hostname(1)sin1+5-4
2014-02-04 16:49No need to use do { } while (0) constructsin1+1-3
2014-02-04 15:19Correct error message in uudecode(1)sin1+1-1
2014-02-04 15:17Error out on invalid mode in uudecode(1)sin1+2-0
2014-02-04 15:14Break out fclose()sin1+6-4
2014-02-04 15:05Rename check*() to parse*() to be consistent with the rest of sbasesin1+11-11
2014-02-04 15:05Use chmod() directlysin1+1-1
2014-02-04 14:44A couple more stylistic changes to uudecode(1)sin1+15-20
2014-02-04 14:36Explicitly check for '\0' at the start and exit earlysin1+3-4
2014-02-04 14:33Remember to fclose(nfp) as wellsin1+1-0
2014-02-04 14:30Simplify uudecode(1) and fix some bugssin1+49-85
2014-02-02 19:08Initial commit of the uudecode tool and man pagedsp3+265-0
2014-02-01 20:15Add FRIGN to LICENSEsin1+1-0
2014-02-01 20:14Use PRIu32 and avoid castFRIGN1+2-1
2014-02-01 19:48check for valid octal input and crude range check on that for validitydsp1+3-0
2014-01-31 15:53Use printf() instead of fprintf() in uuencode(1)sin1+2-2
2014-01-31 15:43Make the buffer 45 bytes exactly for uuencode(1)sin1+2-2
2014-01-31 15:42Use putchar() instead of fputc() in uuencode(1)sin1+6-6
2014-01-31 15:24Add uuencode(1)sin3+94-0
2014-01-31 13:51Use uint32_t instead of unsigned int in cksum(1)sin1+3-2
2014-01-30 21:50Forgot to include these beforesin2+2-0
2014-01-30 21:02Ensure we #undef strlcat and strlcpysin1+2-0
2014-01-30 16:23Remove stat(1) from sbase as it is not portablesin3+0-90
2014-01-30 16:14Only use major()/minor() if they are available in tar(1)sin1+4-0
2014-01-30 14:12Use recurse() in tar(1) instead of ftw(3)sin1+6-6
2014-01-30 13:54No need to use enprintf() with EXIT_FAILUREsin4+7-9
2014-01-30 13:51No need to print the name of the programsin1+4-5
2014-01-30 12:37Add strlcpy()/strlcat()sin5+88-16
2014-01-30 11:42Update TODOsin1+2-0
2014-01-28 16:54Use preprocessor conditionals to check if makedev() is presentsin1+2-0
2014-01-28 17:10Use getpriority()/setpriority() instead of deprecated nice()sin1+12-6
2014-01-28 16:52Remove mknod(1) from sbasesin3+0-84
2014-01-27 15:16Rename `saved_errno' to `savederrno'sin1+3-3
2014-01-27 15:15Ensure we return a proper error value in setsid(1)sin1+5-2
2014-01-25 22:52Add Markus Teich to LICENSEsin1+1-0
2014-01-25 22:50Add more people to LICENSEsin1+6-0
2014-01-25 22:44Add Silvan Jegen to LICENSEsin1+1-0
2014-01-25 22:07Staticise functions in tr(1)sin1+4-4
2014-01-24 16:45oops that should have been enprintf()sin1+1-1
2014-01-24 16:23snprintf() returns the # of chars printed *excluding* '\0'sin2+3-3
2014-01-24 16:17Check return value of snprintf in mktemp(1)sin1+2-1
2014-01-23 21:16Use xrealpath() in du(1)sin1+15-4
2014-01-23 20:05Check snprintf() return valuesin1+6-4
2014-01-20 12:03Use the width of the output device by default in mc(1)sin2+14-6
2014-01-20 11:25Check mmap() return value and unmap at the endsin1+4-0
2013-11-15 16:25Add the tr program including man pageSilvan Jegen3+202-0
2014-01-20 10:47Fix naming covention for uniq(1)sin1+23-24
2014-01-18 11:50Remove dead debug codesin1+0-1
2014-01-16 11:51No need to dynamically allocate *cmd[]sin1+1-6
2014-01-16 10:56Double NARGSsin1+1-1
2014-01-10 22:51If there's no newline we don't count the last word - fix itsin1+2-0
2014-01-08 20:47Correctly handle leftover inputsin1+5-12
2014-01-08 20:36Group related declarationsin1+1-1
2014-01-08 20:29Allocate the arg buffer in once placesin1+2-6
2014-01-08 20:27Rename runcmd() to spawn()sin1+3-3
2014-01-08 20:25No need to check for a positive `argbpos'sin1+4-8
2014-01-08 20:22Rename pusharg() to deinputstr()sin1+12-14
2014-01-08 20:20Error out if a single argument cannot fit into the argument spacesin1+2-0
2014-01-07 14:56Rename fillbuf() to fillargbuf()sin1+7-7
2014-01-07 14:50Factor out waiting for children into a separate functionsin1+21-12
2014-01-07 11:53Implement -E eofstr for xargs(1)sin2+15-4
2014-01-07 11:37Update xargs(1) manpage to mention the possible exit codessin1+12-0
2014-01-06 18:51Exit with error code 123 if one or more invocations of cmd failedsin1+5-1
2014-01-06 18:20Use a return value to signal an invalid backslashsin1+6-5
2014-01-06 18:16Don't allow backslash at EOFsin1+2-0
2014-01-06 18:12If eatspace() encounters EOF don't try to read again from stdinsin1+6-4
2014-01-06 18:03Exit with error 125 if the process is killed by a signalsin1+2-0
2014-01-04 14:06Use saved errno in case weprintf() fails internallysin1+3-2
2014-01-04 14:01Check the exit status and return it from the parent processsin1+8-3
2014-01-04 13:51Exit with proper error codessin1+6-9
2014-01-04 13:41Remove mktemp(1) from TODOsin1+0-2
2014-01-04 13:40Remove xargs(1) from TODOsin1+0-2
2014-01-03 11:52Add initial version of xargs(1)sin3+270-0
2013-12-21 12:07Revert "Fix relocation error on OpenBSD (amd64) when compiling with p…sin1+1-1
2013-12-12 13:29Show usage instead of exiting silently on an invalid optionsin1+1-1
2013-12-12 13:27Add -R as a synonym to -r for cp(1)sin2+7-3
2013-12-12 13:15Add -R as a synonym to -r for rm(1)sin2+6-2
2013-12-12 13:08Add -n support to sort(1)sin2+15-2
2013-12-04 17:41Add newline at end of filesin1+1-2
2013-12-01 17:29Implement -G support for id(1)sin2+43-5
2013-12-01 11:40id(1) can handle uid argumentsRob Pilling2+39-18
2013-12-01 11:31curproc() isn't needed in id(1)Rob Pilling1+7-53
2013-12-01 10:40Add support to display user and group info for any usersin2+53-4
2013-12-01 09:58Factor out code printing information for the current processsin1+15-6
2013-11-30 21:11Forgot to remove argc from function declsin1+1-2
2013-11-22 14:14Be a bit more consistent and use uint8_t instead of unsigned charsin1+1-1
2013-11-22 13:40We do not name parameters in declarationssin1+4-5
2013-11-30 20:56Implement -m for mkfifo(1)sin2+18-7
2013-11-25 21:29Rename __ARG_H__ to ARG_H__sin1+2-2
2013-11-14 19:49Forgot to update manpage for mktemp(1)sin1+2-1
2013-11-14 19:46Check for TMPDIR and if set use itsin1+4-1
2013-11-14 18:59Add to LICENSEsin1+1-0
2013-11-14 13:22Fix indentationsin1+3-3
2013-11-14 13:06Always print the program namesin1+3-1
2013-11-14 10:41_brk, _argc and _argv are reserved for the implementationsin1+12-12
2013-11-13 12:10Implement -q support for mktemp(1)sin2+20-6
2013-11-13 11:39Add weprintf() and replace fprintf(stderr, ...) callssin15+48-34
2013-11-12 11:52Add barebones mktemp(1)sin3+70-0
2013-11-12 13:36Fix style for function definitionssin4+40-20
2013-11-12 13:12Remove passwd from TODOsin1+0-2
2013-11-12 11:16Convert cksum(1) to use FILE * instead of an fdsin1+23-16
2013-11-12 10:45Support tail-ing multiple filessin1+12-7
2013-11-12 10:44Don't exit on the first file that can't be opened for head and foldsin2+13-4
2013-11-11 20:25Rename `brk' to `_brk' to avoid polluting the namespacesin1+6-6
2013-11-11 19:53Add ARGNUM and ARGNUMF(base)dsp4+23-3
2013-11-11 11:46Update manpage for binary operations in test(1)sin1+28-0
2013-11-11 11:43Return false in case we invoke `test s1' and s1 is the null stringsin1+1-1
2013-11-11 11:37Add support for -k (checking sticky bit) to test(1)sin2+7-2
2013-11-11 11:27Fix styling issue in test(1)sin1+3-1
2013-11-11 11:26Inverse condition to avoid nesting in test(1)sin1+24-24
2013-11-06 13:22No need to use USED() in arg.h for sbasesin1+1-6
2013-10-29 17:19Update TODOsin1+0-2
2013-10-27 10:15Fix relocation error on OpenBSD (amd64) when compiling with pccsin1+1-1
2013-10-27 09:46Use estrtol() instead of atoi()sin1+2-2
2013-10-20 08:56Add sticky bit to documentation.Markus Wichmann1+5-2
2013-10-20 08:53Make chmod and ls recognize sticky bit (S_ISVTX).Markus Wichmann2+3-2
2013-10-20 08:50Make chmod honor S_ISVTX.Markus Wichmann1+5-1
2013-10-20 08:49Make mkdir read mode argument as octal.Markus Wichmann1+1-1
2013-10-18 15:40Always round up to the next blocksize unit in du(1)sin1+8-2
2013-10-18 14:18Add more commands to TODOsin1+10-0
2013-10-18 09:01Update TODO based on people's suggestionssin1+19-2
2013-10-17 17:03Fix indentation in du(1)sin1+33-29
2013-10-17 13:06No need for realpath() to call malloc() in du(1)sin1+11-6
2013-10-17 10:21Update usage line and manpage for du(1)sin2+9-2
2013-10-16 17:00Add -k support for du(1)sin2+11-0
2013-10-16 16:54Add -s support for du(1)sin2+20-5
2013-10-16 15:58Add primitive du(1)sin3+139-0
2013-10-16 13:14Remove cut from TODOsin1+0-2
2013-10-15 13:30Implement the basic binary operations for test(1)sin1+37-1
2013-10-10 13:50Do not interpret -[rwxs] as options in chmod(1)sin1+28-10
2013-10-11 15:59Free allocated memorysin1+1-0
2013-10-10 22:03Simplify code in cut(1)sin1+2-10
2013-10-10 18:54Free allocated buffersin1+1-0
2013-10-10 15:04Allow strings(1) to operate on more than one filesin2+10-8
2013-10-09 15:28Do not rely on `s' being incremented before taking the address of itsin1+10-2
2013-10-08 22:32Allow sbase-box to be called as sbase-box tool args...sin1+1-1
2013-10-08 19:39Add cut(1)Truls Becken4+226-0
2013-10-07 23:45Simplify code and don't use ftw() for chgrp(1)sin1+19-23
2013-10-07 19:47Revert "Make sbase compile with musl"sin1+1-2
2013-10-07 16:13Use arg.h as much as possible and add usage() where missingsin4+29-11
2013-10-07 16:03Add license file details at top of filessin14+14-2
2013-10-07 15:41Exit with EXIT_SUCCESS/EXIT_FAILURE instead of 0 and 1sin52+67-60
2013-10-07 15:37Do not return 0 on error for setsid(1)sin1+2-2
2013-10-07 15:15Remove chvt(1) from sbase as it is not portablesin3+0-73
2013-10-07 15:12Staticise global variables in chgrp(1)sin1+2-2
2013-10-07 15:07Add a usage() function like everywhere elsesin1+7-1
2013-10-07 14:50Simplify tty(1)sin1+17-15
2013-10-06 19:35Fix warning in chroot(1)sin1+1-1
2013-10-06 18:52ls: rework implementation for reversing the sort orderMarkus Teich1+8-8
2013-07-20 11:19Avoid double call to getenv in chrootRoberto E. Vargas Caballero1+3-3
2013-10-05 14:08Fix invalid use of optind in dirname(1)sin1+1-1
2013-10-05 14:04Simplify yes(1)sin1+2-13
2013-10-04 10:12ls: add option to reverse the sort orderMarkus Teich2+9-2
2013-07-23 12:03add man page for testChristian Hesse1+66-0
2013-08-21 11:56Add setsid(1) by argsin3+50-0
2013-08-19 16:22Add hostname(1)sin3+46-0
2013-08-15 09:04Add stat(1)sin3+91-0
2013-08-14 09:41Add strings(1)sin3+67-0
2013-08-07 12:40Add initial support for id(1)sin3+79-0
2013-09-29 18:26Use /var/run/utmp for nowsin1+2-2
2013-09-27 15:26Implement -e support for grepsin2+100-38
2013-09-27 14:45Support -f for mvsin2+9-1
2013-09-27 14:32Implement -i support for lssin2+15-4
2013-08-19 15:32Make sbase compile with muslsin1+3-2
2013-09-02 10:17Add cryptmain() and factor out the code from the crypt toolssin6+28-64
2013-08-31 21:51Implement -m option for mkdirsin2+14-2
2013-09-29 11:38Replace VERSION in manpages with the actual versionsin1+1-1
2013-08-31 22:04None of these work without the proper # of arguments so print usagesin6+27-0
2013-08-31 21:54Remove df from TODO - df now lives in ubasesin1+0-2
2013-08-15 15:46Print the available targets for sbase-boxsin1+4-1
2013-08-15 09:55Add 'not implemented' errors for unimplemented flagssin7+22-7
2013-08-15 11:34Fix some warnings about strcpy() etc. on OpenBSDsin3+8-5
2013-08-31 20:53Fix segfault in tail(1)sin1+4-3
2013-08-04 23:56Cleaning up who, adding -l and manpageDavid Galos2+32-16
2013-08-05 15:12Ignore tilde in ut_linesin1+2-1
2013-08-05 15:04No need to cast to (char *)sin1+1-1
2013-08-05 14:59Implement -m for whosin1+15-3
2013-07-22 08:34Add sha512sum(1)sin6+243-3
2013-07-28 16:12tar: Check inode AND dev before ignoring a file. Thanks, Lars Lindqvi…David Galos1+3-1
2013-07-20 17:23Licensing fix in util/sha256.cDavid Galos1+1-11
2013-07-19 13:29Add sha256sum(1)sin5+230-1
2013-07-20 16:08Avoid infinite loop in tarRoberto E. Vargas Caballero1+10-0
2013-07-20 11:09Use int instead of char for getc()sin1+1-1
2013-07-20 15:35Updating TODODavid Galos1+0-12
2013-07-12 13:24Change contact infosin1+1-1
2013-07-20 05:27Tar compiles on BSD, thanks Roberto E. Vargas Caballero. Also remove …David Galos25+78-85
2013-07-19 16:05Remove trailing whitespacesin1+10-10
2013-07-19 13:31Do not hardcode the size of mdsin2+2-2
2013-07-19 16:08Change sprintf to snprintfsin1+1-1
2013-07-18 19:28Compatibility with OpenBSD. Thanks, Steve Dee!David Galos4+20-15
2013-07-18 19:14Opimizing tar, adding U flagDavid Galos2+59-46
2013-07-18 15:52Fixing idiotic mistake in tarDavid Galos1+2-3
2013-07-18 15:15Adding tar.David Galos3+361-0
2013-07-07 14:29Add crypt.[ch] and update md5sum and sha1sumsin9+98-83
2013-07-12 01:43Making `mkdir -p` handle empty paths. Thanks, Willem van de Krol!David Galos1+1-1
2013-07-09 23:40Fixing zero-bye append in readlink. Thanks, Willem van de KrolDavid Galos1+3-1
2013-07-05 21:42Converting empty for to while in sha1sumDavid Galos1+3-3
2013-07-04 11:14Add sha1sumstateless5+230-1
2013-06-19 08:54Add md5sumstateless5+234-0
2013-07-03 15:48Simplyfing mknod. Good eye, Truls Becken.David Galos1+1-5
2013-07-03 06:02Adding mknod(1)David Galos3+87-0
2013-06-28 22:30Explicitly cast len to unsigned long for %lustateless1+1-1
2013-07-02 17:26actually add the .c and .1 filesDavid Galos2+55-0
2013-07-02 17:21Adding sponge(1). Thanks, Jakob Kramer.David Galos2+2-0
2013-07-02 16:07Removing the executable bit from 'chvt.c'David Galos1+0-0
2013-07-01 17:25Fixing seqDavid Galos2+15-17
2013-06-21 05:11Who is in sbase.Christoph Lohmann1+0-2
2013-06-21 05:10Cal is now in sbase.Christoph Lohmann1+0-2
2013-06-19 21:24Another correction for the cal(1) usage.Christoph Lohmann1+2-1
2013-06-19 21:04Updated cal usage()Jesse Ogle1+1-1
2013-06-19 20:57Bugfix for cal when columns specified as 0Jesse Ogle1+4-2
2013-06-19 20:10Make date(1) compatible to GNU date(1).Christoph Lohmann2+125-63
2013-06-19 18:13Added cal and updated MakefileJesse Ogle3+190-0
2013-06-19 19:09Optimizing comm(1) with the second sent in patch.Christoph Lohmann2+61-86
2013-06-17 11:00Add expand(1)stateless3+130-0
2013-06-18 10:19Add commstateless4+166-2
2013-06-17 13:08Remove unnecessary exit(1) in usage()stateless29+0-29
2013-06-15 14:17Add readlinkstateless3+81-0
2013-06-14 18:20Eliminating the getopt disgrace.Christoph Lohmann28+723-475
2013-06-11 18:33Various fixes, add renice command.Lorenzo Cogotti6+245-23
2013-06-14 16:56Seq has been implemented.Christoph Lohmann1+0-2
2013-06-14 16:55Adding who, chroot, env and split.Christoph Lohmann10+410-4
2013-06-09 13:20Adding the new C files too.Christoph Lohmann7+264-0
2013-05-30 19:29Adding some utilities.Christoph Lohmann9+131-14
2013-05-29 18:52Fixing the ARG macros and adding nice.Christoph Lohmann3+58-22
2013-05-04 05:49Fixing whitespaces.Christoph Lohmann1+34-33
2013-04-29 16:54Added POSIX paste(1) command implementation.Lorenzo Cogotti4+354-2
2013-03-11 00:59s/getopt/ARGBEGIN/ and -r bug fix cpFederico G. Benavento1+10-12
2013-03-11 00:12s/getopt/ARGBEGIN/ wcFederico G. Benavento1+29-28
2013-03-10 20:48pathconf(".", _PC_PATH_MAX) doesn't work from nfs mounted filesystems…Federico G. Benavento1+1-1
2013-03-05 20:46Style inquistion for util and some tools.Christoph Lohmann15+100-32
2013-03-05 20:35The style inquisition on basename.Christoph Lohmann2+10-6
2012-06-09 17:53seq: remove unused fflagConnor Lane Smith1+1-2
2012-06-09 17:53seq: set ff=unix (?!)Connor Lane Smith1+158-158
2012-06-09 17:49grep: fix ARGC()Connor Lane Smith1+1-2
2012-05-31 18:38grep: ARGBEGINConnor Lane Smith1+37-30
2012-05-31 18:38cat: ARGBEGINConnor Lane Smith1+11-7
2012-05-25 20:56rm: update manpageConnor Lane Smith1+1-2
2012-05-25 20:55rm: removing empty dirs is okayConnor Lane Smith1+2-8
2012-05-25 20:52chmod, chown: remove redundant flagConnor Lane Smith4+9-11
2012-05-25 20:51fold: clarify utf8 behaviour in manpageConnor Lane Smith1+4-4
2012-05-22 11:05Add missing file (util/getlines.c)Robert Ransom1+22-0
2012-05-22 00:05grep: Remove trailing newline before trying to match RERobert Ransom1+5-2
2012-05-21 23:46uniq: WTFMRobert Ransom1+39-0
2012-05-21 23:33uniq: Lobotomize for POSIX-subset compatibilityRobert Ransom2+3-4
2012-05-21 23:24uniq: Initial commitRobert Ransom2+98-1
2012-05-21 22:17I'm probably a sbase copyright holder nowRobert Ransom1+1-0
2012-05-21 22:16mc: WTFMRobert Ransom1+36-0
2012-05-21 22:05mc: Initial commitRobert Ransom2+84-0
2012-05-21 21:12Makefile: Correct list of .o files depending on text.hRobert Ransom1+1-1
2012-05-21 21:09sort: Librarify getlines()Robert Ransom3+9-24
2012-05-21 20:27sort: Expand linebuf.lines by more than one pointer-size at a timeRobert Ransom1+3-2
2012-05-21 20:09sort: Move lines and nlines globals into a structRobert Ransom1+19-13
2012-05-20 14:38sort: Return 2 on usage errorRobert Ransom1+1-1
2012-05-20 12:57nl: Return 2 on usage errorRobert Ransom1+1-1
2012-05-20 12:51util/estrtol: Also check for out-of-range values using errnoRobert Ransom1+3-1
2012-05-16 12:14Make Makefile possibly POSIX-conformantRobert Ransom1+3-0
2012-05-15 12:34test: eprintf in usageConnor Lane Smith1+2-3
2012-05-15 12:32revert to per-cmd usage()Connor Lane Smith7+38-33
2012-05-14 20:30cksum: ARGBEGIN, no bufferingConnor Lane Smith1+30-20
2012-05-14 20:28new ARGBEGIN & usage() functionConnor Lane Smith11+117-139
2012-05-14 12:33test: more efficient -e flagConnor Lane Smith1+10-10
2012-05-12 17:01grep: better regerror messageConnor Lane Smith1+1-1
2012-05-12 16:54grep: check regcomp succeedsConnor Lane Smith1+7-2
2012-05-10 18:20seq: some cleanupConnor Lane Smith4+122-148
2012-04-23 15:32Add -u option to date (POSIX and Plan 9, and useful)Robert Ransom2+13-3
2012-04-23 14:34Testing before rage. Suffix is fixed in basename.Christoph Lohmann1+3-3
2012-04-23 14:32Moving back to the stone age.Christoph Lohmann2+9-46
2012-04-23 14:27Adding the yes(1) command.Christoph Lohmann4+56-2
2012-04-23 13:50Adding ARGBEGIN for basename.Christoph Lohmann4+99-15
2012-04-18 11:41Fixing validfmt and optimizing the algorithm. (Thanks David Galos)Christoph Lohmann1+36-33
2012-04-16 19:48I'm sorry for my unprofessional behaviour.Christoph Lohmann1+0-1
2012-04-16 19:46Fixes and checks for seq. Thanks David Galos!Christoph Lohmann3+169-148
2012-04-11 16:59Adding a manpage for seq(1).Christoph Lohmann2+34-1
2012-04-10 15:33Adding seq command.Christoph Lohmann3+170-0
2012-04-07 03:37test: fix compiler warningKurt H Maier1+1-1
2012-02-04 01:16update TODOKurt H Maier1+48-0
2012-01-30 22:41implement cp and mv and improve rmWilliam Haddon16+229-42
2012-01-19 00:04ls: allocate proper space for argsanonymous1+1-1
2011-11-08 18:35add test.c (thanks Random832)Connor Lane Smith3+125-1
2011-06-25 17:49path_max not usefulConnor Lane Smith1+0-5
2011-06-25 16:33apathmax fixConnor Lane Smith2+2-1
2011-06-25 16:26apathmaxConnor Lane Smith5+28-10
2011-06-24 07:33simpler nohupConnor Lane Smith1+2-4
2011-06-23 01:08enmasse: check filename lengthConnor Lane Smith2+4-4
2011-06-22 22:45ln: try link firstConnor Lane Smith2+12-5
2011-06-22 22:04enmasse same file checkConnor Lane Smith1+16-4
2011-06-21 04:05cc -WextraConnor Lane Smith8+22-19
2011-06-21 03:56kill: accept $? valuesConnor Lane Smith1+3-0
2011-06-20 17:37ranlib util.a (thanks pancake)Connor Lane Smith1+1-0
2011-06-18 13:42nohup: tweak manpageConnor Lane Smith2+6-7
2011-06-18 05:43touch: posix openConnor Lane Smith2+17-13
2011-06-18 05:42update cmp, grepConnor Lane Smith3+27-33
2011-06-18 05:41add nohupConnor Lane Smith7+103-17
2011-06-16 20:20simpler makeConnor Lane Smith1+11-11
2011-06-16 00:57cleanup makeConnor Lane Smith1+2-2
2011-06-16 00:53make sbase-boxConnor Lane Smith1+18-1
2011-06-16 00:13ls: sort argvConnor Lane Smith1+13-4
2011-06-10 23:44chmod: tweak manpageConnor Lane Smith1+1-1
2011-06-10 23:31whoops, chmod =Connor Lane Smith1+3-0
2011-06-10 23:30symbolic chmod, thanks pancakeConnor Lane Smith3+138-24
2011-06-10 23:29nl: tweak manpageConnor Lane Smith1+2-0
2011-06-10 13:55rename estrtolConnor Lane Smith13+32-32
2011-06-10 13:51tail: gcc whinesConnor Lane Smith1+1-1
2011-06-10 04:46whoops, add strnum.cConnor Lane Smith1+20-0
2011-06-10 04:44chmod: strnumConnor Lane Smith1+2-4
2011-06-10 04:41refactor strnumConnor Lane Smith10+18-39
2011-06-10 03:36cksum: error checkConnor Lane Smith2+4-4
2011-06-10 03:22fold: fix empty linesConnor Lane Smith1+3-3
2011-06-10 03:14add cksumConnor Lane Smith5+109-3
2011-06-10 02:12kill: allow signumConnor Lane Smith1+3-0
2011-06-10 02:03fix typoConnor Lane Smith1+1-1
2011-06-10 01:56kill -lConnor Lane Smith8+62-31
2011-06-10 01:29add kill, thanks robConnor Lane Smith3+69-0
2011-06-10 01:00cmp: cleanupConnor Lane Smith1+4-7
2011-06-10 00:55add cmp, thanks statelessConnor Lane Smith3+89-0
2011-06-08 23:40extra uname spaces confuse scriptsConnor Lane Smith1+18-5
2011-06-08 20:30add foldConnor Lane Smith7+131-4
2011-06-08 16:54add todoConnor Lane Smith2+32-1
2011-06-08 15:26install: allConnor Lane Smith1+1-1
2011-06-08 10:37make (un)installConnor Lane Smith2+19-1
2011-06-04 13:30recurse: ignore linksConnor Lane Smith2+8-7
2011-06-04 11:40ls: show symlinksConnor Lane Smith1+10-2
2011-06-04 11:27sort: fixConnor Lane Smith1+1-1
2011-06-04 11:22fix errnoConnor Lane Smith1+2-2
2011-06-04 11:20consistent error checkConnor Lane Smith13+22-22
2011-06-04 11:00grep: cleanupConnor Lane Smith1+3-9
2011-06-04 10:57grep -EConnor Lane Smith2+11-2
2011-06-04 01:56ln -fConnor Lane Smith3+26-6
2011-06-03 04:38reformat makefileConnor Lane Smith1+35-5
2011-06-02 20:15add ttyConnor Lane Smith4+39-2
2011-06-02 19:38fix manpagesConnor Lane Smith4+9-7
2011-06-02 19:32add uname, thanks hiltjoConnor Lane Smith5+92-3
2011-06-02 12:09sort -uConnor Lane Smith2+12-8
2011-06-02 12:03add sortConnor Lane Smith3+88-2
2011-06-01 20:31glibc hates strippingConnor Lane Smith2+3-3
2011-05-29 20:34nl: update usageConnor Lane Smith1+1-1
2011-05-29 20:30add nlConnor Lane Smith4+125-6
2011-05-29 19:38grep: default REG_NOSUBConnor Lane Smith1+1-3
2011-05-29 19:38chmod: no S_ISVTXConnor Lane Smith2+4-5
2011-05-28 14:37pwd -LPConnor Lane Smith5+48-6
2011-05-27 22:56ls cleanupConnor Lane Smith2+15-20
2011-05-27 22:48octal-only chmodConnor Lane Smith4+88-4
2011-05-27 10:13typoConnor Lane Smith1+1-1
2011-05-27 00:20fix distConnor Lane Smith1+4-2
2011-05-26 23:54fix typoConnor Lane Smith2+2-3
2011-05-26 17:29tail cleanupConnor Lane Smith1+3-5
2011-05-26 17:24tail: free ringsConnor Lane Smith1+3-1
2011-05-26 17:18add tailConnor Lane Smith9+130-20
2011-05-26 05:39no strdupConnor Lane Smith2+5-4
2011-05-26 04:47add mkdirConnor Lane Smith5+69-5
2011-05-26 04:03separate dirsConnor Lane Smith2+6-2
2011-05-26 03:17buf -> cwdConnor Lane Smith2+10-10
2011-05-26 03:12cleanup lsConnor Lane Smith1+8-7
2011-05-26 03:01add ls; simpler pwdConnor Lane Smith9+268-24
2011-05-25 19:45fix afgetsConnor Lane Smith1+1-1
2011-05-25 19:40really long linesConnor Lane Smith5+52-14
2011-05-25 17:29update manpagesConnor Lane Smith12+29-3
2011-05-25 10:56fix head manpageConnor Lane Smith2+4-3
2011-05-25 10:42add headConnor Lane Smith7+77-8
2011-05-25 10:00add mkfifoConnor Lane Smith7+30-6
2011-05-24 23:24add chownConnor Lane Smith6+130-36
2011-05-24 20:39add dirnameConnor Lane Smith5+41-8
2011-05-24 18:22posix 2 hates symlinksConnor Lane Smith1+2-2
2011-05-24 18:14c99Connor Lane Smith1+2-2
2011-05-24 18:09no bsd macroConnor Lane Smith1+1-1
2011-05-24 17:58no, getopt.h is gnu specificConnor Lane Smith11+1-11
2011-05-24 12:34add missing #include <getopt.h> do not override CC in config.mkpancake11+11-1
2011-05-24 12:04fix rm -rConnor Lane Smith1+10-2
2011-05-24 12:00add ln, util.aConnor Lane Smith8+119-28
2011-05-24 11:56simplify basenameConnor Lane Smith1+9-14
2011-05-24 11:32fix rm -fConnor Lane Smith2+6-3
2011-05-24 10:05handle --Connor Lane Smith3+13-9
2011-05-24 00:52add rm, thanks robConnor Lane Smith5+79-3
2011-05-24 00:13getoptConnor Lane Smith8+99-86
2011-05-23 19:15add pwd, thanks statelessConnor Lane Smith5+33-2
2011-05-23 18:00add sleep & date, thanks kamilConnor Lane Smith9+84-5
2011-05-23 01:36initial commitConnor Lane Smith23+632-0