Esempio n. 1
0
int
XpmCreateXpmImageFromBuffer(char *buffer, XpmImage *image, XpmInfo *info)
{
    xpmData mdata;
    int ErrorStatus;

    /* init returned values */
    xpmInitXpmImage(image);
    xpmInitXpmInfo(info);

    /* open buffer to read */
    xpmOpenBuffer(buffer, &mdata);

    /* create the XpmImage from the XpmData */
    ErrorStatus = xpmParseData(&mdata, image, info);

    xpmDataClose(&mdata);

    return (ErrorStatus);
}
int
main(int argc, char **argv)
{
    XpmImage image;
    char *filename;
    int ErrorStatus;
    xpmData data;

#ifdef USE_GETTEXT
    setlocale(LC_ALL,"");
    bindtextdomain("cxpm",LOCALEDIR);
    textdomain("cxpm");
#endif

    if (argc > 1) {
        if (!strcmp(argv[1], "-?") || !strncmp(argv[1], "-h", 2)) {
	    /* L10N_Comments : Usage message produced by running cxpm -h
		%s will be replaced by argv[0] (program name) */
	    fprintf(stderr, gettext("Usage: %s [filename]\n"), argv[0]);
	    exit(1);
	}
        filename = argv[1];
    } else {
        filename = NULL;
    }

    xpmInitXpmImage(&image);

    if ((ErrorStatus = OpenReadFile(filename, &data)) != XpmSuccess)
	ErrorMessage(ErrorStatus, NULL);

    ErrorStatus = xpmParseData(&data, &image, NULL);
    ErrorMessage(ErrorStatus, &data);

    xpmDataClose(&data);
    XpmFreeXpmImage(&image);

    exit(0);
}
Esempio n. 3
0
int
XpmWriteFileFromXpmImage(char *filename, XpmImage *image, XpmInfo *info)
{
    xpmData mdata;
    char *name, *dot, *s, new_name[BUFSIZ];
    int ErrorStatus;
    int len, i;

    /* open file to write */
    if ((ErrorStatus = xpmWriteFile(filename, &mdata)) != XpmSuccess)
	return (ErrorStatus);

    name = "image_name";

    /* write the XpmData from the XpmImage */
    if (ErrorStatus == XpmSuccess)
	ErrorStatus = xpmWriteData(&mdata, image, name, info);

    xpmDataClose(&mdata);

    return (ErrorStatus);
}