X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=flower%2Ffile-name.cc;h=c24c0731e4f237bccba2ac3dd1d0b8b450210a19;hb=32a34dcef0c0041c6d62677487a380b5c8b85712;hp=ccb923355f09077024e8fbc3b2bc6d49d3faea35;hpb=f41973ff763d5972a85995b6d40c864281ec6714;p=lilypond.git diff --git a/flower/file-name.cc b/flower/file-name.cc index ccb923355f..c24c0731e4 100644 --- a/flower/file-name.cc +++ b/flower/file-name.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2011 Han-Wen Nienhuys + Copyright (C) 1997--2012 Han-Wen Nienhuys Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify @@ -68,7 +68,7 @@ dos_to_posix (string file_name) much be exchanged. */ #if 0 static /* avoid warning */ -#endif +#endif string slashify (string file_name) { @@ -89,7 +89,7 @@ dir_name (string const file_name) s = s.substr (0, s.rfind ('/')); else s = ""; - + return s; } @@ -97,9 +97,8 @@ string get_working_directory () { char cwd[PATH_MAX]; - getcwd (cwd, PATH_MAX); - - return string (cwd); + // getcwd returns NULL upon a failure, contents of cwd would be undefined! + return string (getcwd (cwd, PATH_MAX)); } /* Join components to full file_name. */ @@ -118,7 +117,6 @@ File_name::dir_part () const return s; } - string File_name::file_part () const { @@ -136,7 +134,7 @@ File_name::to_string () const string f = file_part (); if (!f.empty () - && !dir_.empty()) + && !dir_.empty ()) { d += ::to_string (DIRSEP); } @@ -184,13 +182,11 @@ bool File_name::is_absolute () const { /* - Hmm. Is c:foo absolute? + Hmm. Is c:foo absolute? */ return (dir_.length () && dir_[0] == DIRSEP) || root_.length (); } - - File_name File_name::canonicalized () const { @@ -198,17 +194,17 @@ File_name::canonicalized () const replace_all (&c.dir_, string ("//"), string ("/")); - vector components = string_split (c.dir_, '/'); + vector components = string_split (c.dir_, '/'); vector new_components; for (vsize i = 0; i < components.size (); i++) { if (components[i] == "..") - new_components.pop_back (); + new_components.pop_back (); else - new_components.push_back (components[i]); + new_components.push_back (components[i]); } - c.dir_ = string_join (new_components, "/"); - return c; + c.dir_ = string_join (new_components, "/"); + return c; }