Stefan Huelswitt wrote: > Hi, > > as far as I see, the new SVDRP grab code always prepends the > given filename with the grabdirectory (given with -g) even if the > filename in the grab command is actualy a full path. > > Is this change intended? > > I yes, may be this should be documented somewhere, as it's not > backward compatible with older vdr versions. > But I don't see a reason why it's necessary. The path check later > will catch a wrong path anyways. > > I'd suggested something like (defaulting to jpeg with no filename > extention for enhanced backward compatibility too): > > --- svdrp.c.orig 2005-12-30 16:42:29.000000000 +0100 > +++ svdrp.c 2006-01-09 19:15:51.000000000 +0100 > @@ -682,8 +682,7 @@ > else if (strcmp(FileName, "-") == 0) > FileName = NULL; > else { > - Reply(501, "Missing filename extension in \"%s\"", FileName); > - return; > + Jpeg = true; This would allow overwriting files with extensions other than ".jpeg", ".jpg" or ".pnm" - is this really what you want? > } > // image quality (and obsolete type): > if ((p = strtok_r(NULL, delim, &strtok_next)) != NULL) { > @@ -729,10 +728,13 @@ > 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 = '/'; Ok, that sounds reasonable. Klaus