diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2006-01-14 11:45:43 +0100 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2006-01-14 11:45:43 +0100 |
commit | 8763908621964a6219d3129f9995828882ea4c6a (patch) | |
tree | 0f89db0a1f5321ff033df3438558c40f6a2dd1c3 /svdrp.c | |
parent | 79625767279c256949c8305f66154f1a4fcd0ffa (diff) | |
download | vdr-8763908621964a6219d3129f9995828882ea4c6a.tar.gz vdr-8763908621964a6219d3129f9995828882ea4c6a.tar.bz2 |
Fixed canonicalizing the file name in the SVDRP command GRAB to allow full path names
Diffstat (limited to 'svdrp.c')
-rw-r--r-- | svdrp.c | 13 |
1 files changed, 8 insertions, 5 deletions
@@ -10,7 +10,7 @@ * and interact with the Video Disk Recorder - or write a full featured * graphical interface that sits on top of an SVDRP connection. * - * $Id: svdrp.c 1.90 2006/01/08 13:31:00 kls Exp $ + * $Id: svdrp.c 1.91 2006/01/14 11:42:52 kls Exp $ */ #include "svdrp.h" @@ -731,10 +731,13 @@ void cSVDRP::CmdGRAB(const char *Option) char RealFileName[PATH_MAX]; if (FileName) { if (grabImageDir) { - char *s; - asprintf(&s, "%s/%s", grabImageDir, FileName); - FileName = s; - char *slash = strrchr(FileName, '/'); // there definitely is one + char *s = 0; + char *slash = strrchr(FileName, '/'); + if (!slash) { + asprintf(&s, "%s/%s", grabImageDir, FileName); + FileName = s; + } + slash = strrchr(FileName, '/'); // there definitely is one *slash = 0; char *r = realpath(FileName, RealFileName); *slash = '/'; |