iReplace -S flag against a generic protocol switch -P - fiche - A pastebin adjusted for gopher use Err vernunftzentrum.de 70 hgit clone git://vernunftzentrum.de/fiche.git URL:git://vernunftzentrum.de/fiche.git vernunftzentrum.de 70 1Log /ckeen/repos/fiche/log.gph vernunftzentrum.de 70 1Files /ckeen/repos/fiche/files.gph vernunftzentrum.de 70 1Refs /ckeen/repos/fiche/refs.gph vernunftzentrum.de 70 1LICENSE /ckeen/repos/fiche/file/LICENSE.gph vernunftzentrum.de 70 i--- Err vernunftzentrum.de 70 1commit e4daa5f172e6be6e9f88a74fcd3bce30187d558d /ckeen/repos/fiche/commit/e4daa5f172e6be6e9f88a74fcd3bce30187d558d.gph vernunftzentrum.de 70 1parent 9206dce65fc983c49c32b20df6edce7a0b896e7a /ckeen/repos/fiche/commit/9206dce65fc983c49c32b20df6edce7a0b896e7a.gph vernunftzentrum.de 70 hAuthor: Christian Kellermann URL:mailto:ckeen@pestilenz.org vernunftzentrum.de 70 iDate: Fri, 2 Mar 2018 20:31:43 +0100 Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 iReplace -S flag against a generic protocol switch -P Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 iThis allows to use fiche with a different protocol type, e.g. gopher. Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 iDiffstat: Err vernunftzentrum.de 70 i README.md | 6 +++--- Err vernunftzentrum.de 70 i fiche.c | 15 +++++---------- Err vernunftzentrum.de 70 i fiche.h | 4 ++-- Err vernunftzentrum.de 70 i main.c | 12 ++++++------ Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i4 files changed, 16 insertions(+), 21 deletions(-) Err vernunftzentrum.de 70 i--- Err vernunftzentrum.de 70 1diff --git a/README.md b/README.md /ckeen/repos/fiche/file/README.md.gph vernunftzentrum.de 70 i@@ -203,12 +203,12 @@ __Default value:__ 4 Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i ------------------------------------------------------------------------------- Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i-#### HTTPS `-S` Err vernunftzentrum.de 70 i+#### protocol prefix `-P` Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i-If set, fiche returns url with https prefix instead of http Err vernunftzentrum.de 70 i+If set, fiche returns url with protocol prefix 'prefix' instead of http Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i ``` Err vernunftzentrum.de 70 i-fiche -S Err vernunftzentrum.de 70 i+fiche -P https Err vernunftzentrum.de 70 i ``` Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i __Output url with this parameter__: `https://localhost/xxxx`, Err vernunftzentrum.de 70 1diff --git a/fiche.c b/fiche.c /ckeen/repos/fiche/file/fiche.c.gph vernunftzentrum.de 70 i@@ -201,8 +201,8 @@ void fiche_init(Fiche_Settings *settings) { Err vernunftzentrum.de 70 i 9999, Err vernunftzentrum.de 70 i // slug length Err vernunftzentrum.de 70 i 4, Err vernunftzentrum.de 70 i- // https Err vernunftzentrum.de 70 i- false, Err vernunftzentrum.de 70 i+ // protocol prefix Err vernunftzentrum.de 70 i+ "http", Err vernunftzentrum.de 70 i // buffer length Err vernunftzentrum.de 70 i 32768, Err vernunftzentrum.de 70 i // user name Err vernunftzentrum.de 70 i@@ -362,20 +362,15 @@ static void get_date(char *buf) { Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i static int set_domain_name(Fiche_Settings *settings) { Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i- char *prefix = ""; Err vernunftzentrum.de 70 i- if (settings->https) { Err vernunftzentrum.de 70 i- prefix = "https://"; Err vernunftzentrum.de 70 i- } else { Err vernunftzentrum.de 70 i- prefix = "http://"; Err vernunftzentrum.de 70 i- } Err vernunftzentrum.de 70 i- const int len = strlen(settings->domain) + strlen(prefix) + 1; Err vernunftzentrum.de 70 i+ const int len = strlen(settings->domain) + strlen(settings->prefix) + 4; Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i char *b = malloc(len); Err vernunftzentrum.de 70 i if (!b) { Err vernunftzentrum.de 70 i return -1; Err vernunftzentrum.de 70 i } Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i- strcpy(b, prefix); Err vernunftzentrum.de 70 i+ strcpy(b, settings->prefix); Err vernunftzentrum.de 70 i+ strcat(b, "://"); Err vernunftzentrum.de 70 i strcat(b, settings->domain); Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i settings->domain = b; Err vernunftzentrum.de 70 1diff --git a/fiche.h b/fiche.h /ckeen/repos/fiche/file/fiche.h.gph vernunftzentrum.de 70 i@@ -54,9 +54,9 @@ typedef struct Fiche_Settings { Err vernunftzentrum.de 70 i uint8_t slug_len; Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i /** Err vernunftzentrum.de 70 i- * @brief If set, returns url with https prefix instead of http Err vernunftzentrum.de 70 i+ * @brief Protocol prefix to use, defaults to "http://" Err vernunftzentrum.de 70 i */ Err vernunftzentrum.de 70 i- bool https; Err vernunftzentrum.de 70 i+ char *prefix; Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i /** Err vernunftzentrum.de 70 i * @brief Connection buffer length Err vernunftzentrum.de 70 1diff --git a/main.c b/main.c /ckeen/repos/fiche/file/main.c.gph vernunftzentrum.de 70 i@@ -44,7 +44,7 @@ int main(int argc, char **argv) { Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i // Parse input arguments Err vernunftzentrum.de 70 i int c; Err vernunftzentrum.de 70 i- while ((c = getopt(argc, argv, "D6eSp:b:s:d:o:l:B:u:w:")) != -1) { Err vernunftzentrum.de 70 i+ while ((c = getopt(argc, argv, "D6ep:b:s:d:o:P:l:B:u:w:")) != -1) { Err vernunftzentrum.de 70 i switch (c) { Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i // domain Err vernunftzentrum.de 70 i@@ -68,10 +68,10 @@ int main(int argc, char **argv) { Err vernunftzentrum.de 70 i } Err vernunftzentrum.de 70 i break; Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i- // https Err vernunftzentrum.de 70 i- case 'S': Err vernunftzentrum.de 70 i+ // custom protocol prefix Err vernunftzentrum.de 70 i+ case 'P': Err vernunftzentrum.de 70 i { Err vernunftzentrum.de 70 i- fs.https = true; Err vernunftzentrum.de 70 i+ fs.prefix = optarg; Err vernunftzentrum.de 70 i } Err vernunftzentrum.de 70 i break; Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i@@ -121,9 +121,9 @@ int main(int argc, char **argv) { Err vernunftzentrum.de 70 i default: Err vernunftzentrum.de 70 i { Err vernunftzentrum.de 70 i printf("usage: fiche [-dpsSoBulbw].\n"); Err vernunftzentrum.de 70 i- printf(" [-d domain] [-p port] [-s slug size]\n"); Err vernunftzentrum.de 70 i+ printf(" [-d domain] [-p port] [-P protocol] [-s slug size]\n"); Err vernunftzentrum.de 70 i printf(" [-o output directory] [-B buffer size] [-u user name]\n"); Err vernunftzentrum.de 70 i- printf(" [-l log file] [-b banlist] [-w whitelist] [-S]\n"); Err vernunftzentrum.de 70 i+ printf(" [-l log file] [-b banlist] [-w whitelist]\n"); Err vernunftzentrum.de 70 i return 0; Err vernunftzentrum.de 70 i } Err vernunftzentrum.de 70 i break; Err vernunftzentrum.de 70 .