/** os_cp( +From, +To ).

Copy file from From to To. Behaves as unix cp, 
If To is a directory, From is moved into it (keeping From's basename).

==
% mkdir testo_D; touch testo_D/testo1; touch at_root
?- os_cp( testo_D/testo1, testo_D/example1 ).
true
?- os_cp( at_root, testo_D ).

?- ls( testo_D ).
% at_root    example1   testo1     
true.

?- 
% halt

Î¬Î¼ÏÎµÎ»Î¿Ï;src/os% rm testo_D/testo1; rm testo_D/example1; rm testo_D/at_root; rm at_root
Î¬Î¼ÏÎµÎ»Î¿Ï;src/os% rmdir testo_D

==

@author nicos angelopoulos
@version  0.1 2016/8/25
@tbd debugging

*/
os_cp( From, To ) :-
    maplist( os_cast(atom), [From,To], [FromA,ToA] ),
	( os_dir(ToA) ->
		os_base(FromA,BaseA),
		os_path( ToA, BaseA, ToP )
		;
		ToP = ToA
	),
	copy_file( FromA, ToP ).
