summaryrefslogtreecommitdiff
path: root/plugins/SecureIM/rtfconv.cpp
blob: 271e62aa5b550b5f72be8333d5ad72da9e5a7411 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include "commonheaders.h"


HINSTANCE hRtfconv = NULL;
RTFCONVSTRING pRtfconvString = NULL;


BOOL load_rtfconv () {

    hRtfconv = LoadLibrary( "rtfconv.dll" ) ;
    if ( hRtfconv == NULL ) {
   	    hRtfconv = LoadLibrary( "plugins\\rtfconv.dll" ) ;
	    if ( hRtfconv == NULL )
    		return FALSE;
    }

    pRtfconvString = (RTFCONVSTRING) GetProcAddress( hRtfconv, "RtfconvString" ) ;
    if ( pRtfconvString == NULL ) {
        FreeLibrary( hRtfconv ) ;
        return FALSE;
    }

    return TRUE;
}

void free_rtfconv () {

	if ( hRtfconv )
	    FreeLibrary( hRtfconv ) ;
	pRtfconvString = NULL;
	hRtfconv = NULL;
}


void rtfconvA(LPCSTR rtf, LPWSTR plain) {

    pRtfconvString( rtf, plain, 0, 1200, CONVMODE_USE_SYSTEM_TABLE, (strlen(rtf)+1)*sizeof(WCHAR) );
}


void rtfconvW(LPCWSTR rtf, LPWSTR plain) {

    pRtfconvString( rtf, plain, 0, 1200, CONVMODE_USE_SYSTEM_TABLE, (wcslen(rtf)+1)*sizeof(WCHAR) );
}

// EOF