sacc(omys), simple console gopher client (mirror)
git clone
Log | Files | Refs | LICENSE

DateCommit messageAuthorFiles+-
2021-04-06 11:24Add support for Gopher over TLS.parazyd3+81-10
2021-03-22 17:44Always restore terminal mode in TUI cleanupQuentin Rameau1+2-1
2021-03-21 15:15Fix a memory leak on TUI window resizeQuentin Rameau1+18-2
2021-02-08 21:59Close connection when a single-dot line is readQuentin Rameau1+11-6
2021-01-30 18:44Check that non-binary types end with ".\r\n"Quentin Rameau1+9-4
2021-01-24 13:53mbsprint: fix character encoding errors handlingQuentin Rameau1+13-9
2021-01-24 13:53xreallocarray: remove unuseful const parametersQuentin Rameau1+1-1
2021-01-05 20:21mbsprint: improve printing output when it has invalid UTF dataHiltjo Posthuma1+9-3
2020-12-03 17:30sacc.1: Document use of PAGER environment variableQuentin Rameau1+6-0
2020-09-26 15:14ui_ti: replace manual padding with clr_eolQuentin Rameau1+4-8
2020-08-19 20:57ui_ti: explicitly define VMIN and VTIME values for read()Hiltjo Posthuma1+2-0
2020-07-02 21:26popen: remove close-on-exec flag to increase portability a bitHiltjo Posthuma1+1-1
2020-07-02 21:24exit with 128 + signo on receiving SIGHUP, SIGINT, SIGTERMHiltjo Posthuma1+7-1
2020-02-19 20:36Use a random temporary directory instead of a fixed oneQuentin Rameau2+3-3
2020-01-01 17:01for displayuri for 'h' types show only the url and not the username fieldHiltjo Posthuma1+2-2
2019-11-06 16:05Add missing help for next/previous item jump to TI ui.Quentin Rameau1+2-0
2019-11-02 13:59remove unused variablesHiltjo Posthuma3+1-3
2019-11-02 13:58Only block SIGWINCH when connectingQuentin Rameau1+2-1
2019-10-28 23:24Fix initial URI search string parsingQuentin Rameau1+2-3
2019-10-28 23:02Parse %09 as a search string separator in initial URIsQuentin Rameau1+8-6
2019-10-28 22:37Separate search strings with "%09" in URIs, as per RFCQuentin Rameau2+2-2
2019-10-28 11:42Revert "Fix memory leak in search items"Quentin Rameau1+0-1
2019-10-28 01:54Add new keybinding for displaying page URI in the manpageQuentin Rameau1+4-1
2019-10-28 01:31Rephrase txt UI help messageQuentin Rameau1+4-4
2019-10-28 01:12Print better URIQuentin Rameau2+36-11
2019-10-28 00:34Fix memory leak in search itemsQuentin Rameau1+1-0
2019-10-28 00:17Add a keybinding for displaying current page URIQuentin Rameau3+13-3
2019-10-11 15:17Inverse logic in TI uiselectitem on non-matchQuentin Rameau1+5-6
2019-10-11 15:09Fix potential uninitialized value in printoutQuentin Rameau1+1-1
2019-10-11 15:05Fix potential undefined socket value in connecttoQuentin Rameau1+1-1
2019-10-11 15:02Fix memory leak in downloaditemQuentin Rameau1+5-2
2018-12-28 23:37Fix telnet displayed menu entryQuentin Rameau1+1-1
2018-12-25 19:44mask signals while using connect(2) in connectto()Hiltjo Posthuma1+12-3
2018-12-25 18:33ui_txt: check for curentry is NULL like ui_tiHiltjo Posthuma1+4-0
2018-12-25 18:32freeaddrinfo can leak if a connection fails in connectto()Hiltjo Posthuma1+3-2
2018-11-16 21:24Handle SIGHUP and SIGTERMStefan Hagen1+2-0
2018-09-08 10:44fix undefined behaviours with isdigit() and tolower() functionsHiltjo Posthuma2+4-3
2018-08-24 22:04Don't plumb info linesStefan Hagen1+1-0
2018-08-24 18:36sacc.1: fix typoHiltjo Posthuma1+1-1
2018-08-24 16:21Fix regression from 3d2081c, correctly handle '\n' ending lines (bis)Quentin Rameau1+8-5
2018-08-21 13:12Handle search (type '7') URIsQuentin Rameau1+12-2
2018-08-20 10:02Download non-interactive and unknown types with not term outputQuentin Rameau1+20-1
2018-08-20 09:07Do not use UI functions (uistatus) when output not a termQuentin Rameau1+37-22
2018-08-19 14:43Fix regression from 3d2081c, correctly handle '\n' ending linesQuentin Rameau1+7-6
2018-08-18 13:18Ignore possible extra tab delimited fieldsLeonardo Taccari1+9-7
2018-08-18 12:51Do not put a username in telnets urls when the field is emptyQuentin Rameau1+4-2
2018-08-16 12:50Fix handling of standard upper-case types in dig()Quentin Rameau1+6-5
2018-08-15 11:07fix: show item->redtype in uistatus when it is set and is a reserved typeHiltjo Posthuma1+1-1
2018-08-11 13:36distinguish reserved and undefined types, support plumbing for undefined typesHiltjo Posthuma1+20-13
2018-08-15 09:49display_uri: remove item usernametrqx@goat.si1+3-3
2018-07-16 11:33Pass all needed arguments to tparm()Leonardo Taccari1+1-1
2018-06-05 14:42Cleanup common.hQuentin Rameau1+5-8
2018-06-05 12:32Fix distributed fallback strcasestrparazyd1+2-2
2018-05-24 11:33Remove the manpage on make uninstall.parazyd1+1-1
2018-05-21 10:05Fix distributed fallback strcasestr.Hiltjo Posthuma1+13-4
2018-05-20 20:55Be case-insensitive for inline searching.parazyd5+21-5
2018-03-25 17:55Add proper support for RedType '+' items.Quentin Rameau2+18-9
2018-03-25 12:54Fix and reverse feature detection of asprintf functionHiltjo Posthuma4+9-5
2018-03-08 22:51Use plain tparm instead of variadic tiparmQuentin Rameau1+52-52
2018-02-26 22:19help(): Fix _key_search{next,prev} namesLeonardo Taccari1+2-2
2018-02-26 22:17Fix a copypasto in _key_entryupLeonardo Taccari1+1-1
2018-02-25 17:41Quit on ^D in screen UIQuentin Rameau1+1-0
2018-02-25 15:34sendselector(): fix written bytes checkHiltjo Posthuma1+1-1
2018-02-25 15:32displaytextitem: check popen()Hiltjo Posthuma1+2-1
2018-02-25 14:53use libc calloc() and show 'calloc:' on errorHiltjo Posthuma1+3-3
2018-02-25 14:52Make sure variables cannot be uninitialized in download()Hiltjo Posthuma1+1-0
2018-02-25 14:51die: remove double newline, show path information for plumbitem()Hiltjo Posthuma1+4-4
2018-02-25 14:26ui_ti: nearentry(): remove redundant checkHiltjo Posthuma1+1-1
2018-02-25 14:26minor style: make uidisplay() prototype argument equalHiltjo Posthuma1+1-1
2018-02-25 12:46plumb(): _exit(1) on failureHiltjo Posthuma1+1-1
2018-02-25 12:05Exit gracefuly on SIGINT.Quentin Rameau1+6-2
2018-02-24 15:24Update LICENSEQuentin Rameau1+4-3
2018-02-24 14:38Move build rules from to MakefileQuentin Rameau2+6-6
2018-02-24 13:39Make the screen interface the defaultQuentin Rameau1+3-3
2018-02-24 13:38Install manpageQuentin Rameau2+4-0
2018-02-04 10:46Add a manpage for sacc.Christoph Lohmann1+90-0
2018-02-24 12:36Don't disable 'g'if type.Quentin Rameau1+0-3
2018-02-24 12:24Add local asprintf in case not available on target systemQuentin Rameau2+29-3
2018-02-24 11:51Re-style previous patch b9d624fQuentin Rameau3+12-14
2018-02-23 13:45Add telnet:// and tn3270:// support.Christoph Lohmann3+39-0
2018-02-22 17:23Improve terminal resizing when current line is over term sizeQuentin Rameau1+8-0
2018-02-19 14:45Fix URL parsing with delimiting '/' and empty pathQuentin Rameau1+4-2
2018-02-09 17:25Hoping “feature macros” are good enoughQuentin Rameau1+1-1
2018-02-09 16:43Process glyph width for line length when truncating outputHiltjo Posthuma4+49-16
2018-02-05 15:38Remove ioctl include in sacc.cparazyd1+0-6
2018-01-29 11:05Makefile: replace SACCLDFLAGS with LIBSQuentin Rameau2+2-3
2018-01-28 23:58Remove UTF-8 chars from source filesQuentin Rameau3+6-4
2018-01-27 17:03Handle terminal resizingQuentin Rameau4+44-11
2018-01-22 21:35Makefile: add DESTDIR supportQuentin Rameau1+4-4
2018-01-21 20:14Remove invalid leftover variable in uistatus()Hiltjo Posthuma2+2-2
2017-12-29 09:52Truncate output to the terminal sizeQuentin Rameau2+92-37
2017-12-23 15:19Update both lines and columns when getting term sizeQuentin Rameau1+12-12
2017-12-23 15:03Add contributors to LICENSEQuentin Rameau1+6-0
2017-12-20 23:27Use numeric port instead of service nameQuentin Rameau1+1-1
2017-12-10 22:02Fix printf positional parameters syntaxQuentin Rameau2+7-5
2017-12-10 20:59Fix printstatus in ui_txtQuentin Rameau1+1-1
2017-11-03 18:24minor style fixHiltjo Posthuma1+4-2
2017-11-03 18:24print the raw data exactly as is (without a newline)Hiltjo Posthuma1+1-1
2017-10-23 17:32Add help about string searchQuentin Rameau2+4-0
2017-10-23 17:25Search directly for string in text UIQuentin Rameau1+10-7
2017-10-23 16:09Print i items when searching a string in itemsQuentin Rameau1+2-0
2017-10-21 12:55Add search/filter function for the current entryHiltjo Posthuma3+69-3
2017-10-23 15:55Fix status display in text UI (from 723df46)Quentin Rameau1+1-1
2017-10-21 11:47Fix cursor placement in screen UI uistatusQuentin Rameau1+2-0
2017-10-01 10:41Fix status current url in text UIQuentin Rameau1+5-3
2017-09-26 16:16Handle output redirection to a pipeQuentin Rameau1+48-3
2017-09-26 15:14Print a status message after plumbing an itemQuentin Rameau1+2-0
2017-09-12 00:01Change the Dir Item pointer array for an Item arrayQuentin Rameau4+25-31
2017-09-10 19:37Fix buffer allocation calculation in gitrawitem()Quentin Rameau1+1-1
2017-09-10 11:50Fix uri display for invalid itemsQuentin Rameau2+2-1
2017-09-03 18:59Fix current url display in screen UIQuentin Rameau1+5-2
2017-09-01 14:09Add keys to scroll to next/prev browseable entryQuentin Rameau2+27-0
2017-09-01 13:24Fix menu input handling in text UIQuentin Rameau1+3-6
2017-09-01 13:13Let the user configure the temporary cache dirQuentin Rameau2+9-6
2017-09-01 13:12Get rid of mkstemp and use full file name in cacheQuentin Rameau2+18-20
2017-09-01 08:49Fix tparm usage on NetBSDQuentin Rameau1+4-0
2017-08-31 16:31Fix uiprompt to return NULL on error (cancelation)Quentin Rameau2+9-4
2017-08-30 23:13Simplify uri printingQuentin Rameau2+13-18
2017-08-30 22:22Display entry uri with protocol prefixkroovy2+19-5
2017-08-30 17:01Put the missing key for printing uri in the helpQuentin Rameau2+2-0
2017-08-30 16:56Print the type in uri display in txt UI tooQuentin Rameau1+2-2
2017-08-30 16:40Print the type in uri displaytrqx@goat.si1+3-2
2017-08-30 15:57Clear status line after printing content in TUIQuentin Rameau1+25-15
2017-08-30 15:37Add a key to display an entry uriQuentin Rameau3+68-8
2017-08-29 12:38Reopen tty input to stdin in case input was a pipeQuentin Rameau1+8-0
2017-08-27 11:27Fix die() call in setup()Quentin Rameau1+1-1
2017-08-27 11:26Hide plumber output to prevent display clutteringQuentin Rameau1+5-0
2017-08-27 11:08Move TUI navigation keys to config.hQuentin Rameau2+15-13
2017-08-25 12:12Improve starting url validationQuentin Rameau1+1-1
2017-08-25 12:07Do not wait for user input on PAGER exitQuentin Rameau1+2-6
2017-08-25 11:55Fix search selector length calculationQuentin Rameau1+1-1
2017-08-06 14:21add include for IPPROTO_TCP, fix build for FreeBSDHiltjo Posthuma1+2-1
2017-07-30 18:39Add a snowman for ChristophQuentin Rameau2+2-2
2017-07-30 17:37Clear terminal at screen UI startupQuentin Rameau1+1-0
2017-07-30 17:32Unify "press a key" messagesQuentin Rameau3+3-3
2017-07-30 17:31Handle errors with uistatus instead of dieQuentin Rameau1+37-32
2017-07-30 17:13Prefix all ui-related function with "ui"Quentin Rameau4+15-15
2017-07-25 17:49Add a status to failed connectto() requests.Christoph Lohmann4+55-8
2017-07-28 21:18Prevent blocking on uiprompt errorQuentin Rameau2+11-15
2017-07-28 20:11Handle newline in uiprompt directlyHiltjo Posthuma3+12-9
2017-07-27 11:20Fix jumptoline with random line number in ti UIQuentin Rameau1+30-29
2017-07-26 23:49Fix getline check in ui_txt (issue from 67cc541)Quentin Rameau1+1-1
2017-07-26 23:43Cache Gopher searches tooQuentin Rameau1+44-25
2017-07-26 15:46Push make dependencies on objects instead of binaryQuentin Rameau1+3-1
2017-07-26 15:40Use item in cache instead of redownloading itQuentin Rameau1+24-8
2017-07-26 14:37Plumb items on explicit plumb or first downloadQuentin Rameau1+35-24
2017-07-25 16:55Make the plumber configurable in config.h.Christoph Lohmann3+11-2
2017-07-26 10:54Handle image and binaries downloading differentlyQuentin Rameau3+80-42
2017-07-25 16:49Only plumb images, download other binary files.Quentin Rameau1+5-2
2017-07-18 13:34Keep downloaded images and keep them at fork exitQuentin Rameau1+17-7
2017-07-18 12:33Use xcalloc for initial itemQuentin Rameau1+1-2
2017-07-18 12:29Download images to temporary file and plumb themQuentin Rameau2+46-20
2017-07-18 09:34Add plumbing support for 'h'TML "URL:" linksQuentin Rameau1+14-1
2017-07-17 14:56Use a default filename for downloaditem.Quentin Rameau4+28-12
2017-07-14 21:45Fix search selector handling and a clear()ed ptrQuentin Rameau1+2-2
2017-07-14 21:05Add support for mirror type '+'Quentin Rameau3+7-3
2017-07-13 17:52Add help for screen UIQuentin Rameau1+24-4
2017-07-13 14:17Remove now unnecessary check in molditemHiltjo Posthuma1+0-4
2017-07-13 14:17clearitem: prevent NULL dereferenceHiltjo Posthuma1+5-2
2017-07-13 12:42fix missing include for chmod(2)Hiltjo Posthuma1+1-0
2017-07-13 11:30Exit when cmdline url isn't a directory itemQuentin Rameau3+21-10
2017-07-12 22:38Add support for 'h'tml filesQuentin Rameau1+7-1
2017-07-12 22:24Move printoff and curline to struct dirQuentin Rameau4+55-56
2017-07-12 21:54Replace Dir pointer with a void pointer in Item structQuentin Rameau4+32-27
2017-07-11 08:31Add clearitem() to recursively free a dir itemQuentin Rameau2+24-1
2017-07-10 22:55Free temporary path in downloaditemQuentin Rameau1+3-1
2017-07-10 16:43Fix missed fflush in displaysextitem()Quentin Rameau1+1-0
2017-07-10 16:07fix opening an item with the Return keyHiltjo Posthuma1+1-2
2017-07-10 16:18Add basic facility to download binary itemsQuentin Rameau1+64-6
2017-07-10 13:13Add support for '7' search typeQuentin Rameau4+93-10
2017-07-10 13:03Only unset ICANON and ECHO instead of whole raw modeQuentin Rameau1+7-4
2017-07-08 10:01Alias '?' to show help screensin1+2-1
2017-07-08 09:50Keep last command in text UIQuentin Rameau1+28-17
2017-07-07 22:08Do not treat errors as 'i'nformational typeQuentin Rameau1+0-1
2017-07-07 22:08Move all type display info to typedisplay()Quentin Rameau3+21-27
2017-07-07 20:00Adjust cursor place when moving around pagesQuentin Rameau1+14-8
2017-07-07 18:53Add home, end, page up, page down scrollingQuentin Rameau2+84-3
2017-07-07 15:11Use "more" as pager if $PAGER is not setHiltjo Posthuma1+1-0
2017-07-07 14:04Include OS-dependant headersQuentin Rameau1+5-0
2017-07-07 13:16Handle (hopefuly) all invalid format streamsQuentin Rameau3+84-88
2017-07-06 11:36Fix handling of empty (failed) dir itemsQuentin Rameau1+5-2
2017-07-05 22:18Simplify delveQuentin Rameau1+4-7
2017-07-05 15:02Display type description in error messageQuentin Rameau1+2-1
2017-07-05 14:58Move fetching item in its own functionQuentin Rameau1+25-14
2017-07-05 14:10Fix status percentage calculationQuentin Rameau2+5-3
2017-07-03 15:53Add a dependency on common.h to objectsQuentin Rameau1+1-1
2017-07-03 15:52Add a status line for screen ui and unify with textQuentin Rameau2+81-33
2017-07-03 09:52Add navigation with arrow keysQuentin Rameau1+43-16
2017-07-02 23:05Define keybindings at the start of ui_ti.cQuentin Rameau1+15-7
2017-07-02 22:43Keep text file displayed until user hits enterQuentin Rameau1+5-2
2017-07-02 22:10Fix install target in MakefileQuentin Rameau1+2-2
2017-07-02 18:05Flush stdout on cleanup()Quentin Rameau1+1-0
2017-07-02 16:55Display text item via default PAGERQuentin Rameau3+71-54
2017-06-30 21:25Flush stdout when done printingQuentin Rameau2+3-0
2017-06-30 15:39Add screen-oriented (via terminfo) UIQuentin Rameau4+183-3
2017-06-30 15:15Add setup() and cleanup(), and ui-specific equivalentQuentin Rameau3+30-9
2017-06-30 14:59Move UI specific code to it's own fileQuentin Rameau5+165-147
2017-06-23 18:56Fix potential underflow in item countingQuentin Rameau1+4-2
2017-06-23 18:50Check for 0 size in xreallocarrayQuentin Rameau1+4-0
2017-06-23 18:44Make functions staticQuentin Rameau1+19-21
2017-06-23 18:39Print a nicer indexQuentin Rameau1+9-5
2017-06-23 18:37Better error handling, add an item parsing functionQuentin Rameau1+66-33
2017-06-22 23:18Arrange caption formatQuentin Rameau1+5-2
2017-06-22 23:17Close socket after information is receivedQuentin Rameau1+1-0
2017-06-22 21:38Ensure we write all we want on the socketQuentin Rameau1+15-6
2017-06-22 20:40Print fixed-width indexQuentin Rameau1+3-1
2017-06-22 20:05Add full-page display handlingQuentin Rameau1+46-3
2017-06-22 17:07Add ! command to refetch current failed itemQuentin Rameau1+7-0
2017-06-22 16:59Parse raw buffer for correctness before processingQuentin Rameau1+16-7
2017-06-22 15:13Improve a little getrawitemQuentin Rameau1+11-12
2017-06-22 15:12Use xreallocarray instead of xreallocQuentin Rameau1+7-6
2017-06-22 12:30Copy cmdline in main rather than in moldentryQuentin Rameau1+16-15
2017-06-22 12:29Move whole item selection from delve to selectitemQuentin Rameau1+32-34
2017-06-22 12:22Free raw on error or empty readQuentin Rameau1+4-1
2017-06-22 12:15Use the raw buffer directly for text filesQuentin Rameau1+3-4
2017-06-22 12:10Use a Dir structure for storing itemsQuentin Rameau1+31-26
2017-06-21 18:59Move user input handling into its own functionQuentin Rameau1+40-29
2017-06-21 19:13Add a help functionQuentin Rameau1+15-1
2017-06-21 19:13Improve navigation handlingQuentin Rameau1+13-4
2017-06-21 17:52Move navigation handling into its own functionQuentin Rameau1+38-33
2017-06-20 19:02Handle empty response from serverQuentin Rameau1+20-8
2017-06-20 18:03Let the user go back in browsing historyQuentin Rameau1+15-7
2017-06-20 17:55Exit client with 'q' fix bounds checkQuentin Rameau1+10-3
2017-06-19 16:18Add sacc.cQuentin Rameau1+384-0
2017-06-19 07:21Add build base: Makefile, LICENSE, skeleton sourceQuentin Rameau3+42-0