	pro add_lf,filter=filter,overwrite=overwrite,file=file, $
		all_files=all_files,path=path,confirm=confirm

;	Adds the Line Feed codes to any CR codes containing in the file.
;	This routine is used to convert files from UNIX to MS WINDOWS
;	format.

		if n_elements(filter) le 0 then begin
	if keyword_set(all_files) then filter='*.*' else filter='*.pro'
		endif

if n_elements(all_files) le 0 then all_files=0

if n_elements(file) le 0 then file='' else begin
if n_elements(path) le 0 then path=subdir(file)
endelse

if !version.OS eq 'windows' or !version.OS eq 'Win32' 		$
	then Delim='\' else Delim='/'

if n_elements(path) le 0 and file eq '' then path=''; getenv('gr_prg')	;''

CR='0A'xb	&	LF='0D'xb

	if keyword_set(all_files) then begin

path=subdir(pickfile(filt=filter,tit='Please select a file for converting'))

if path ne '' then Files=findfile((path)+Delim+filter) else $
	Files=findfile(filter)

;	****************** Excluding subdirectories **************

Files=Files(sort(Files))	&	Sz=size(Files)

if (Sz)(0) gt 0 then Sz=Sz(1) else Sz=0

for j=0,Sz-1 do if strmid(Files(j),strlen(Files(j))-1,1) eq '\' then $
	if n_elements(b) le 0 then b=j else b=[b,j]

N_b=n_elements(b)

	if N_b gt 0 then begin
Files_save=Files(b)
for j=0,N_b-1 do Files=Files(where(Files ne Files_save(j)))
	endif

;	***********************************************************

	IF keyword_set(confirm) THEN BEGIN

Print,'y/n:'

N_b=n_elements(Files)

index=intarr(N_b)

	for j=0,N_b-1 do begin
print,Files(j)+'?'
tmp=strlowcase(get_kbrd(1))
index(j)=tmp eq 'y'
	endfor

Files=Files(where(index))

		ENDIF ELSE BEGIN

a=''
xquestion,a,text='You are processing all the files '+path+'\'+filter, $
	select=['OK','Cancel']

		if a ne 'OK' then begin
	print,'Operation is canceled'
	goto,exit
		endif
		ENDELSE
	endif else begin

if path ne '' then Files=pickfile(tit='Please select a file for converting', $
	filt=filter, file=file, path=path) else $
		Files=pickfile(tit='Please select a file for converting', $
	filt=filter, file=file)

if Files eq '' then goto,exit

	endelse

Loop:

	for k=0,n_elements(Files)-1 do begin

openr,lun,Files(k),/get_lun
a=fstat(lun)

if a.size eq 0 then goto,No_operation

x=bytarr(a.size)
readu,lun,x
free_lun,lun

if x(a.size-1) ne CR then x=[x,CR]

WIDGET_CONTROL,/hourglass

x=x(where(x ne LF))

i=where(x eq CR)

if not keyword_set(overwrite) then $
	Newfilename=path+Delim+(name_extract(Files(k)))(1)+'.lfa' $
		else Newfilename=Files(k)

openw,lun,Newfilename,/get_lun

writeu,lun,x(0:i(0)-1 > 0),LF,CR

for j=0L,n_elements(i)-2 do if i(j)+1 ne i(j+1) then $
	writeu,lun,x(i(j)+1:i(j+1)-1),LF,CR $
		else writeu,lun,LF,CR


free_lun,lun

print,'File '+Newfilename+' is recorded.'

No_operation:

	endfor

exit:
end