20 %MACRO _sasunit_stdPath(
 
   24 %LET i_root = %sysfunc(translate(&i_root,/,\));
 
   25 %IF 
"%substr(&i_root,%length(&i_root),1)" NE 
"/" 
   26    %THEN %LET i_root = &i_root/;
 
   27 %LET i_path = %sysfunc(translate(&i_path,/,\));
 
   28 %IF 
"%substr(&i_path,%length(&i_path),1)" EQ 
"/" 
   29    %THEN %LET i_path = %substr(&i_path,1,%eval(%length(&i_path)-1));
 
   31 %IF %index(%upcase(&i_path)/, %upcase(&i_root)) %THEN %DO;
 
   32    %IF %length (&i_path) > %length(&i_root) %THEN %DO;
 
   33       %substr(&i_path,%eval(%length(&i_root)+1))
 
   39 %MEND _sasunit_stdPath;