fix GetDirectoryName() bug