Description: Read ~/.dcrc at startup of dc Patch taken from old version of dc by Paul Dwerryhouse Was initially applied by Francois Marier in the NMU 1.06.94-3.1 to close http://bugs.debian.org/472250 . Then it disappeared along the way, until users asked for it again. Jan Braun updated it to read .drcr before argument processing so that $ dc $ dc - $ dc -f - all have the same behaviour Origin: vendor Author: upstream Author: Jan Brawn Bug-Debian: http://bugs.debian.org/582137 Bug-Ubuntu: https://bugs.launchpad.net/debian/+source/bc/+bug/918836 Forwarded: no Reviewed-by: Ryan Kavanagh Last-Update: 2013-06-02 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ Index: bc/dc/dc.c =================================================================== --- bc.orig/dc/dc.c 2017-07-26 17:33:17.976925633 -0400 +++ bc/dc/dc.c 2017-07-26 17:33:17.976925633 -0400 @@ -43,6 +43,8 @@ # include #endif #include +#include +#include #include "dc.h" #include "dc-proto.h" @@ -246,6 +248,29 @@ return r; } +static void +try_rcfile(void) +{ + char *homedir; + struct passwd *pw; + char *rcfile; + FILE *input; + + homedir=getenv("HOME"); + if (!homedir) + { + pw=getpwuid(getuid()); + homedir=pw->pw_dir; + } + rcfile=malloc(strlen(homedir)+8); + sprintf(rcfile, "%s/.dcrc", homedir); + if (!(input=fopen(rcfile, "r"))) + return; + if (dc_evalfile(input)) + exit(EXIT_FAILURE); + fclose(input); +} + int main DC_DECLARG((argc, argv)) @@ -268,6 +293,8 @@ dc_register_init(); dc_array_init(); + try_rcfile(); + while ((c = getopt_long(argc, argv, "hVe:f:", long_opts, (int *)0)) != EOF) { switch (c) { case 'e': Index: bc/doc/dc.1 =================================================================== --- bc.orig/doc/dc.1 2017-07-26 17:33:17.976925633 -0400 +++ bc/doc/dc.1 2017-07-26 17:33:17.976925633 -0400 @@ -514,6 +514,14 @@ because the 2 was stored in an instance of 0:a that was later popped. .SH +FILES +.TP 15 +~/.dcrc +The commands in this file will be executed when +.I dc +is first run. +.PP +.SH BUGS .PP Email bug reports to