From 59fb321e9fb2c5171919c6906c024093bde635ac Mon Sep 17 00:00:00 2001 From: Hisham Muhammad Date: Sat, 17 Sep 2011 11:50:56 -0300 Subject: Since 'description' field is optional, functions should not assume it is always there. Closes #46. --- src/luarocks/build.lua | 2 +- src/luarocks/index.lua | 9 +++++---- src/luarocks/show.lua | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/luarocks/build.lua b/src/luarocks/build.lua index 69f46fcc..af098f34 100644 --- a/src/luarocks/build.lua +++ b/src/luarocks/build.lua @@ -240,7 +240,7 @@ function build_rockspec(rockspec_file, need_to_fetch, minimal_mode) if err then return nil, err end local license = "" - if rockspec.description.license then + if rockspec.description and rockspec.description.license then license = ("(license: "..rockspec.description.license..")") end diff --git a/src/luarocks/index.lua b/src/luarocks/index.lua index 570db431..01ce266a 100644 --- a/src/luarocks/index.lua +++ b/src/luarocks/index.lua @@ -143,14 +143,15 @@ function make_index(repo) output = output .. index_package_end if latest_rockspec then local rockspec = persist.load_into_table(dir.path(repo, latest_rockspec)) + local descript = rockspec.description or {} local vars = { anchor = package, package = rockspec.package, original = rockspec.source.url, - summary = rockspec.description.summary or "", - detailed = rockspec.description.detailed or "", - license = rockspec.description.license or "N/A", - homepage = rockspec.description.homepage and ("| project homepage") or "", + summary = descript.summary or "", + detailed = descript.detailed or "", + license = descript.license or "N/A", + homepage = descript.homepage and ("| project homepage") or "", externaldependencies = format_external_dependencies(rockspec) } vars.detailed = vars.detailed:gsub("\n\n", "

"):gsub("%s+", " ") diff --git a/src/luarocks/show.lua b/src/luarocks/show.lua index f968bec8..30b1d1c5 100644 --- a/src/luarocks/show.lua +++ b/src/luarocks/show.lua @@ -94,7 +94,7 @@ function run(...) local rockspec, err = fetch.load_local_rockspec(rockspec_file) if not rockspec then return nil,err end - local descript = rockspec.description + local descript = rockspec.description or {} local manifest, err = manif.load_manifest(repo_url) if not manifest then return nil,err end local minfo = manifest.repository[name][version][1] -- cgit v1.2.3-55-g6feb