To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=106441
                 Issue #|106441
                 Summary|dmake: '../.. does not work
               Component|tools
                 Version|DEV300m63
                Platform|All
                     URL|
              OS/Version|All
                  Status|NEW
       Status whiteboard|
                Keywords|
              Resolution|
              Issue type|DEFECT
                Priority|P3
            Subcomponent|dmake
             Assigned to|hjs
             Reported by|sb





------- Additional comments from [email protected] Thu Oct 29 15:52:58 +0000 
2009 -------
After

  mkdir -p test1/test2
  touch test1/foo
  cp ... test1/test2/makefile.mk # see below for content

dmake 4.12 on the below test1/test2/makefile.mk fails with "`a_foo' not found,
and can't be made".

---8<---
X .PHONY: a_foo

a_%: '../../test1/foo'
        touch $@
---8<---

The root of the problem is that the function normalize_path in dmake/path.c is
called on the string "'../../test1/foo'", does not handle the surrounding '...'
properly and instead erroneously collapse the leading "'.." path segment with
the following ".." path segment, causing normalize_path to return "test/foo'". 
An experimental patch is

---8<---
--- a/dmake/path.c
+++ b/dmake/path.c
@@ -310,7 +310,9 @@
     * list. As dynamic macro expression must not be normalized and is
     * indistinguishable from a literal $ characters at this point we skip
     * the normalization if a $ is found.  */
-   if( strchr(path, '$') ) {
+   if( strchr(path, '$') ||
+       ( path[0] == '\'' && path[strlen(path) - 1] == '/\'') )
+   {
       DB_RETURN( path );
    }

---8<---

---------------------------------------------------------------------
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to