spurious whitespace
why strdupping a const string to use it as a const string?
respect the existeing style, minimize the diff
cleanup belongs into the caller (and setup_cb)
 missing syserr
 missing check on sxc_meta_new return
fwrite can return less than nmemb
fread can return less than nmemb
avoid allocating space and reading stuff only to throw it away
simplify error path and cleanup
do not leak vmeta