X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fsource.cc;h=002768038c0069a8b33fd2f649dfc35c72655a24;hb=ed1d216fea92ba4166562c29e9bd797e526276f0;hp=359bb007f497a9822b0f968e80a8add34d414818;hpb=7aabfb20c46e0a1de41698ddc6859ccd3a6dea85;p=lilypond.git diff --git a/lily/source.cc b/lily/source.cc index 359bb007f4..002768038c 100644 --- a/lily/source.cc +++ b/lily/source.cc @@ -3,83 +3,74 @@ source file of the LilyPond music typesetter - (c) 1997--2003 Han-Wen Nienhuys + (c) 1997--2006 Han-Wen Nienhuys */ +#include "source.hh" -#include - -#include "killing-cons.tcc" -#include "string.hh" -#include "flower-proto.hh" #include "source-file.hh" -#include "source.hh" #include "file-path.hh" Sources::Sources () { - sourcefile_p_list_ = 0; - path_C_= 0; - binary_b_ = false; + path_ = 0; + is_binary_ = false; } void Sources::set_binary (bool bo) { - binary_b_ = bo; + is_binary_ = bo; } void Sources::set_path (File_path *f) { - path_C_ = f; + path_ = f; } /** - open a file - - @param file_string the file to be opened, name might be changed if it - is found in a search path. UGH! + open a file - @return 0 if no file found - */ -Source_file* -Sources::get_file (String &file_string) //UGH + File_string the file to be opened, name might be changed if it is + found in a search path. +*/ +Source_file * +Sources::get_file (string *file_string) //UGH { - if ((file_string != "-") && path_C_) + if (*file_string != "-" && path_) { - String file_string_o = path_C_->find (file_string); - if ((file_string_o == "") && (file_string != "")) + string file_string_o = path_->find (*file_string); + if ((file_string_o == "") && (*file_string != "")) return 0; - file_string = file_string_o; + *file_string = file_string_o; } - Source_file * f = new Source_file (file_string) ; + Source_file *f = new Source_file (*file_string); add (f); return f; } void -Sources::add (Source_file* sourcefile) +Sources::add (Source_file *sourcefile) { - sourcefile_p_list_ = new Killing_cons (sourcefile, sourcefile_p_list_); + sourcefiles_.push_back (sourcefile); } Sources::~Sources () { - delete sourcefile_p_list_; + junk_pointers (sourcefiles_); } -/** - search the list for file whose map contains pointer #str0# - @return 0 if not found. - */ -Source_file* -Sources::get_sourcefile (char const* str0) +Source_file * +Sources::get_sourcefile (char const *str0) { + for (vector::iterator i = sourcefiles_.begin(); + i != sourcefiles_.end (); i++) + { + if ((*i)->contains (str0)) + return *i; + } - for (Cons *i = sourcefile_p_list_; i; i = i->next_) - if (i->car_->in_b (str0)) - return i->car_; return 0; }