コード例 #1
0
ファイル: affine-bench.c プロジェクト: Distrotech/pixman
int
parse_arguments (int                   argc,
                 char                 *argv[],
                 pixman_transform_t   *t,
                 pixman_op_t          *op,
                 pixman_format_code_t *src_format,
                 pixman_format_code_t *mask_format,
                 pixman_format_code_t *dest_format)
{
    if (!parse_fixed_argument (*argv, &t->matrix[0][0]))
        return 0;

    if (*++argv == NULL)
        return 1;

    if (!parse_fixed_argument (*argv, &t->matrix[0][1]))
        return 0;

    if (*++argv == NULL)
        return 1;

    if (!parse_fixed_argument (*argv, &t->matrix[1][0]))
        return 0;

    if (*++argv == NULL)
        return 1;

    if (!parse_fixed_argument (*argv, &t->matrix[1][1]))
        return 0;

    if (*++argv == NULL)
        return 1;

    *op = operator_from_string (*argv);
    if (*op == PIXMAN_OP_NONE)
        return 0;

    if (*++argv == NULL)
        return 1;

    *src_format = format_from_string (*argv);
    if (*src_format == PIXMAN_null)
        return 0;

    ++argv;
    if (argv[0] && argv[1])
    {
        *mask_format = format_from_string (*argv);
        if (*mask_format == PIXMAN_null)
            return 0;
        ++argv;
    }
    if (*argv)
    {
        *dest_format = format_from_string (*argv);
        if (*dest_format == PIXMAN_null)
            return 0;
    }
    return 1;
}
コード例 #2
0
ファイル: harp.c プロジェクト: stcorp/harp
/** Export HARP product to a file.
 * \ingroup harp_product
 * Export product to an HDF4, HDF5, or netCDF file that complies to the HARP Data Format.
 * \param filename Path to the file to which the product is to be exported.
 * \param export_format Either "HDF4", "HDF5", or "netCDF".
 * \param product Product that should be exported to file.
 * \return
 *   \arg \c 0, Success.
 *   \arg \c -1, Error occurred (check #harp_errno).
 */
LIBHARP_API int harp_export(const char *filename, const char *export_format, const harp_product *product)
{
    file_format format;

    format = format_from_string(export_format);
    if (format == format_unknown)
    {
        harp_set_error(HARP_ERROR_INVALID_ARGUMENT, "unsupported export format '%s'", export_format);
        return -1;
    }

    switch (format)
    {
        case format_hdf4:
#ifdef HAVE_HDF4
            return harp_export_hdf4(filename, product);
#else
            coda_set_error(HARP_ERROR_NO_HDF4_SUPPORT, NULL);
            return -1;
#endif
        case format_hdf5:
#ifdef HAVE_HDF5
            return harp_export_hdf5(filename, product);
#else
            coda_set_error(HARP_ERROR_NO_HDF5_SUPPORT, NULL);
            return -1;
#endif
        case format_netcdf:
            return harp_export_netcdf(filename, product);
        default:
            assert(0);
            exit(1);
    }

    return 0;
}