]> git.pld-linux.org Git - packages/sed.git/blob - sed-follow-relfix.patch
- rel 5; fix relative . dir
[packages/sed.git] / sed-follow-relfix.patch
1 --- sed/lib/utils.c     2008-11-10 21:35:26.921679024 +0100
2 +++ sed/lib/utils.c     2008-11-10 21:34:45.734498611 +0100
3 @@ -329,7 +329,7 @@
4  ck_follow_symlink(const char * fname)
5  {
6    static struct stat statbuf;
7 -  int err;
8 +  int err, len;
9    char * dir;
10  
11    static size_t bufsize = 1024;
12 @@ -359,10 +359,10 @@
13             buf2 [err] = '\0';
14  
15           /* need to handle relative paths with care */
16 -         if (buf2[0] != '/')
17 +         dir = dirname (buf);    // dir part of orig path
18 +         len = strlen (dir); // orig path len
19 +         if (buf2[0] != '/' && len != 1 && dir[0] != '.')
20             {
21 -             dir = dirname (buf);    // dir part of orig path
22 -             int len = strlen (dir); // orig path len
23               buf[len] = '/';
24               strncpy (buf+len+1, buf2, bufsize - len - 1);
25               if (buf[bufsize-1] != 0)
This page took 0.061925 seconds and 3 git commands to generate.