function mg_save_getdata, filename, varname, _extra=e
compile_opt strictarr
savefile = obj_new('IDL_Savefile', filename=filename)
case n_elements(varname) of
0: begin
varnames = savefile->names(count=nvarnames)
help, nvarnames
help, varnames
savefile->restore, varnames, _extra=e
result = hash()
for v = 0L, nvarnames - 1L do begin
result[varnames[v]] = scope_varfetch(varnames[v], /enter)
endfor
end
1: begin
savefile->restore, varname, _extra=e
result = scope_varfetch(varname, /enter)
end
else: begin
savefile->restore, varname, _extra=e
result = hash()
for v = 0L, n_elements(varname) - 1L do begin
result[strupcase(varname[v])] = scope_varfetch(varname[v], /enter)
endfor
end
endcase
obj_destroy, savefile
return, result
end
cow_filename = file_which('cow10.sav')
polylist = mg_save_getdata(cow_filename, 'polylist')
all_vars = mg_save_getdata(cow_filename)
end