Lines Matching refs:dirname

161 bool maketruepath(std::string &dirname) {  in maketruepath()  argument
171 if(GetFullPathName(dirname.c_str(), GMAXPATH, expanded, &k) == 0) { in maketruepath()
172 dirname = cwd; in maketruepath()
177 dirname = expanded; in maketruepath()
179 dirname = cwd; in maketruepath()
185 if(_fullpath(expanded, dirname.c_str(), GMAXPATH) == 0) { in maketruepath()
187 dirname = expanded; in maketruepath()
189 dirname = cwd; in maketruepath()
194 dirname = cwd; in maketruepath()
199 _fixpath(dirname.c_str(), expanded); in maketruepath()
201 dirname = expanded; in maketruepath()
203 dirname = cwd; in maketruepath()
208 if((dirname.length() == 2) and (dirname[1] == ':')) in maketruepath()
210 else if((dirname.length() < 2) or (dirname[1] != ':') or isslash(dirname[0])) in maketruepath()
212 else if(not isslash(dirname[2])) in maketruepath()
216 chdrive[0] = (inspos == 2) ? dirname[0] : cwd[0]; in maketruepath()
220 if(isslash(dirname[0])) in maketruepath()
226 ndirname += dirname.c_str() + inspos; in maketruepath()
227 dirname = ndirname; in maketruepath()
229 dirname = cwd; in maketruepath()
236 if(not dirname.empty() and (dirname[0] == '~')) { in maketruepath()
238 const char *p = dirname.c_str()+1; in maketruepath()
239 if((dirname.length() != 1) and not isslash(*p)) { in maketruepath()
254 dirname = ndirname; in maketruepath()
256 dirname = cwd; in maketruepath()
259 } else if(not dirname.empty() and not isslash(dirname[0])) { in maketruepath()
262 ndirname += dirname; in maketruepath()
263 dirname = ndirname; in maketruepath()
267 for(posn = 0; (posn=dirname.find(GOLD_WRONG_SLASH_CHR, posn)) != dirname.npos; posn++) in maketruepath()
268 dirname[posn] = GOLD_SLASH_CHR; in maketruepath()
271 if(dirname.length() > 1) { in maketruepath()
272 while((skipfrom=dirname.find("\\\\", 1)) != dirname.npos) in maketruepath()
273 dirname.erase(skipfrom, 1); in maketruepath()
276 size_t len = dirname.length(); in maketruepath()
278 while((len > 3) and isslash(dirname[--len])) in maketruepath()
280 while((len > 1) and isslash(dirname[--len])) in maketruepath()
282 dirname.erase(len, 1); in maketruepath()
283 if(access(dirname.c_str(), R_OK)) { in maketruepath()
284 dirname = cwd; in maketruepath()
288 if((dirname.length() > 2) and (dirname[0] == '\\') and (dirname[1] == '\\')) in maketruepath()
293 for(; (posn=dirname.find('\\', posn)) != dirname.npos; posn++) in maketruepath()
294 dirname[posn] = '/'; in maketruepath()
295 while((skipto=dirname.find("/../")) != dirname.npos) { in maketruepath()
296 skipfrom = (skipto == 0) ? 0 : dirname.rfind('/', skipto-1); in maketruepath()
298 dirname.erase(skipfrom, skipto-skipfrom+1); in maketruepath()
300 while((skipfrom=dirname.find("/./")) != dirname.npos) in maketruepath()
301 dirname.erase(skipfrom, 2); in maketruepath()
302 len = dirname.length(); in maketruepath()
303 if(len > 2 and not strcmp(&(dirname.c_str()[len-2]), "/.")) in maketruepath()
304 dirname.erase(len-2, 2); in maketruepath()
305 len = dirname.length(); in maketruepath()
307 if((len > 3) and isslash(dirname[--len])) in maketruepath()
309 if((len > 1) and isslash(dirname[--len])) in maketruepath()
311 dirname.erase(len, 1); in maketruepath()