comparison dmd/root.c @ 462:f7ba5f705d59

Path combining on Windows didn't work with / properly.
author Christian Kamm <kamm incasoftware de>
date Sun, 03 Aug 2008 12:27:11 +0200
parents 3dd9ae9ea708
children f79bbd1d0b27
comparison
equal deleted inserted replaced
461:2b28fd92bab8 462:f7ba5f705d59
322 pathlen = strlen(path); 322 pathlen = strlen(path);
323 namelen = strlen(name); 323 namelen = strlen(name);
324 f = (char *)mem.malloc(pathlen + 1 + namelen + 1); 324 f = (char *)mem.malloc(pathlen + 1 + namelen + 1);
325 memcpy(f, path, pathlen); 325 memcpy(f, path, pathlen);
326 326
327 if (path[pathlen - 1] != '/') 327 if (
328 path[pathlen - 1] != '/'
329 #if _WIN32
330 && path[pathlen - 1] != '\\' && path[pathlen - 1] != ':'
331 #endif
332 )
328 { f[pathlen] = '/'; 333 { f[pathlen] = '/';
329 pathlen++; 334 pathlen++;
330 } 335 }
331 336
332 #if _WIN32
333 if (path[pathlen - 1] != '\\' && path[pathlen - 1] != ':')
334 { f[pathlen] = '\\';
335 pathlen++;
336 }
337 #endif
338 memcpy(f + pathlen, name, namelen + 1); 337 memcpy(f + pathlen, name, namelen + 1);
339 return f; 338 return f;
340 } 339 }
341 340
342 FileName::FileName(char *path, char *name) 341 FileName::FileName(char *path, char *name)