Package: remind
Version: 03.01.05-2
Severity: normal
Tags: patch
Hi.
putting "INCLUDE ~/.somethingelse" into ~/.reminders yields
".reminders(1): Can't open file: ~/.somethingelse" when executing
remind -c .reminders.
this seems like a bug to me, since ~ is where a user probably wants to
put his reminders...
the attached patch simply replaces ^~ by $HOME just before fopen is
called. i hope it's not too much a hack...
regards
felix
-- System Information:
Debian Release: squeeze/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable')
Architecture: i386 (i686)
Kernel: Linux 2.6.30-7-owl (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages remind depends on:
ii libc6 2.10.2-6 Embedded GNU C Library: Shared lib
remind recommends no packages.
Versions of packages remind suggests:
ii tkremind 03.01.05-2 Tk GUI interface to remind
ii wyrd 1.4.4-1 text-based calendar application
-- no debconf information
--- src.orig/files.c 2008-03-25 04:12:37.000000000 +0100
+++ src/files.c 2010-06-02 00:53:33.715406754 +0200
@@ -1,3 +1,4 @@
+// vim:ts=8:sw=4:
/***************************************************************/
/* */
/* FILES.C */
@@ -239,8 +240,18 @@ int OpenFile(char const *fname)
if (DebugFlag & DB_TRACE_FILES) {
fprintf(ErrFp, "Reading `-': Reading stdin\n");
}
+/* Resolve tilde */
} else {
- fp = fopen(fname, "r");
+ if( fname[0] == '~' ) {
+ char* home = getenv("HOME");
+ int n = strlen(fname) + strlen(home);
+ char* fnametmp = (char*) malloc( n*sizeof(char) );
+ sprintf( fnametmp, "%s%s", home, fname+1 );
+ fp = fopen(fnametmp, "r");
+ free(fnametmp);
+ } else {
+ fp = fopen(fname, "r");
+ }
if (DebugFlag & DB_TRACE_FILES) {
fprintf(ErrFp, "Reading `%s': Opening file on disk\n", fname);
}