catalogs is a pointer. You should only have to dereference it first, then you can use its ] operation.
(*catalogs)[provider];
catalogs is a pointer. You should only have to dereference it first, then you can use its ] operation.
(*catalogs)[provider];