/[public]/psiconv/trunk/program/psiconv/magick-aux.c
ViewVC logotype

Diff of /psiconv/trunk/program/psiconv/magick-aux.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 58 Revision 255
1/* 1/*
2 magick-aux.c - Part of psiconv, a PSION 5 file formats converter 2 magick-aux.c - Part of psiconv, a PSION 5 file formats converter
3 Copyright (c) 2000 Frodo Looijaard <frodol@dds.nl> 3 Copyright (c) 2000-2004 Frodo Looijaard <frodol@dds.nl>
4 4
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
20#include "config.h" 20#include "config.h"
21 21
22#if IMAGEMAGICK 22#if IMAGEMAGICK
23 23
24#include "magick-aux.h" 24#include "magick-aux.h"
25#include <magick/magick.h>
26#include <magick/config.h>
27 25
28/* This is so ugly, but it is the only way to make ImageMagick 5 behave 26#endif
29 * properly. It really needs a better interface.
30 * OpenModules makes sure all needed modules are loaded. But it may not
31 * be called until some things are initialized, hence the extra
32 * GetMagickInfo call. Ugh.
33 */
34 27
35extern void OpenModules(void); 28#ifdef DMALLOC
29#include "dmalloc.h"
30#endif
36 31
32#if IMAGEMAGICK
33
34/* This used to be very ugly, but nowadays it is much better */
35
36#if IMAGEMAGICK_API == 1 || IMAGEMAGICK_API == 2
37MagickInfo * GetMagickFileList(void) 37const MagickInfo * GetMagickFileList(void)
38{ 38{
39 GetMagickInfo(NULL); 39 ExceptionInfo exc;
40#if defined(HasLTDL) 40 GetExceptionInfo(&exc);
41 OpenModules(); 41 OpenModules(&exc);
42#endif
43 return GetMagickInfo(NULL); 42 return GetMagickInfo(NULL,&exc);
44} 43}
45 44
45#elif IMAGEMAGICK_API == 3
46
47const MagickInfo * GetMagickFileList(void)
48{
49 MagickInfo **mi;
50 unsigned long nr;
51 int i;
52 ExceptionInfo exc;
53 GetExceptionInfo(&exc);
54 OpenModules(&exc);
55 mi = GetMagickInfoList("*",&nr);
56 for (i = 0; i < nr-1; i++) {
57 mi[i]->next = mi[i+1];
58 }
59 return *mi;
60}
61
62#elif IMAGEMAGICK_API == 4
63
64const MagickInfo * GetMagickFileList(void)
65{
66 MagickInfo **mi;
67 unsigned long nr;
68 int i;
69 ExceptionInfo exc;
70 GetExceptionInfo(&exc);
71 OpenModules(&exc);
72 mi = GetMagickInfoList("*",&nr,&exc);
73 for (i = 0; i < nr-1; i++) {
74 mi[i]->next = mi[i+1];
75 }
76 return *mi;
77}
78#endif
79
46#endif /* IMAGEMAGICK */ 80#endif /* IMAGEMAGICK */

Legend:
Removed from v.58  
changed lines
  Added in v.255

frodo@frodo.looijaard.name
ViewVC Help
Powered by ViewVC 1.1.26