2 * See the file LICENSE for redistribution information.
\r
4 * Copyright: 2010- 1stclass.co.jp. All rights reserved.
\r
6 * Created by Hajime Kurita
\r
12 #include "1stclass.hpp"
\r
14 string firstclass::rel2abs(const string in_rel_path){
\r
15 char rel_path[2048]="";;
\r
16 safe_strcat(rel_path, in_rel_path.c_str(), sizeof(rel_path));
\r
17 char abs_path[2048]="";
\r
19 #include "1stclass.h"
\r
20 int rel2abs(const char *rel_path, char *abs_path){
\r
22 if(rel_path[0]=='/'){
\r
23 safe_strcat(abs_path, rel_path, 2048);
\r
25 else if(rel_path[0]=='.'){
\r
26 char in_real[512]="";
\r
32 for(i=0;i<=2048;i++){
\r
33 if(rel_path[i]=='\0'){
\r
38 tail[tail_i]=rel_path[i];
\r
42 if(rel_path[i] == '.' || rel_path[i] == '/'){
\r
43 in_real[i]=rel_path[i];
\r
46 tail[tail_i]=rel_path[i];
\r
53 in_real[found_i]='\0';
\r
54 if(in_real[found_i-1]=='/'){
\r
55 in_real[found_i-1]='\0';
\r
58 char real_path[2048]="";
\r
59 realpath(in_real, real_path);
\r
60 safe_strcat(abs_path, real_path, 2048);
\r
61 safe_strcat(abs_path, "/", 2048);
\r
62 safe_strcat(abs_path, tail, 2048);
\r
65 char real_path[2048]="";
\r
66 realpath(".", real_path);
\r
67 safe_strcat(abs_path, real_path, 2048);
\r
68 safe_strcat(abs_path, "/", 2048);
\r
69 safe_strcat(abs_path, rel_path, 2048);
\r
73 string result(abs_path);
\r