/
| 866 | |
| 867 | /*************************************************************************************/ |
| 868 | PJ *pj_create_argv_internal (PJ_CONTEXT *ctx, int argc, char **argv) { |
| 869 | /************************************************************************************** |
| 870 | Same as proj_create_argv() but calls pj_create_internal() instead of proj_create() internally |
| 871 | **************************************************************************************/ |
| 872 | PJ *P; |
| 873 | const char *c; |
| 874 | |
| 875 | if (nullptr==ctx) |
| 876 | ctx = pj_get_default_ctx (); |
| 877 | if (nullptr==argv) { |
| 878 | proj_context_errno_set(ctx, PROJ_ERR_INVALID_OP_MISSING_ARG); |
| 879 | return nullptr; |
| 880 | } |
| 881 | |
| 882 | /* We assume that free format is used, and build a full proj_create compatible string */ |
| 883 | c = pj_make_args (argc, argv); |
| 884 | if (nullptr==c) { |
| 885 | proj_context_errno_set(ctx, PROJ_ERR_OTHER /*ENOMEM*/); |
| 886 | return nullptr; |
| 887 | } |
| 888 | |
| 889 | P = pj_create_internal (ctx, c); |
| 890 | |
| 891 | free ((char *) c); |
| 892 | return P; |
| 893 | } |
| 894 | |
| 895 | /** Create an area of use */ |
| 896 | PJ_AREA * proj_area_create(void) { |
no test coverage detected