summaryrefslogtreecommitdiff
path: root/amiga/clipboard.c
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2012-01-15 15:58:26 +0000
committerChris Young <chris@unsatisfactorysoftware.co.uk>2012-01-15 15:58:26 +0000
commit676cb962ce77a5d5e3d00e784bd60aef548493b9 (patch)
tree3914479cac0f11ae06ecf1ef15a8e98fce728b13 /amiga/clipboard.c
parentefa55dd3f1be7908fda06fd3d09d89b4eb2be115 (diff)
downloadnetsurf-676cb962ce77a5d5e3d00e784bd60aef548493b9.tar.gz
netsurf-676cb962ce77a5d5e3d00e784bd60aef548493b9.tar.bz2
Accept codeset 1 (undefined) as 106 (UTF-8) when pasting from the
clipboard. This should allow us to at least paste from broken ports of MorphOS apps. svn path=/trunk/netsurf/; revision=13404
Diffstat (limited to 'amiga/clipboard.c')
-rwxr-xr-xamiga/clipboard.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/amiga/clipboard.c b/amiga/clipboard.c
index 09d95f8f5..55f0bacee 100755
--- a/amiga/clipboard.c
+++ b/amiga/clipboard.c
@@ -111,6 +111,7 @@ void gui_paste_from_clipboard(struct gui_window *g, int x, int y)
struct ContextNode *cn;
ULONG rlen=0,error;
struct CSet cset;
+ LONG codeset = 0;
char *clip;
STRPTR readbuf = AllocVec(1024,MEMF_PRIVATE | MEMF_CLEAR);
@@ -131,13 +132,15 @@ void gui_paste_from_clipboard(struct gui_window *g, int x, int y)
if((cn)&&(cn->cn_Type == ID_FTXT)&&(cn->cn_ID == ID_CSET))
{
rlen = ReadChunkBytes(iffh,&cset,24);
+ if(cset.CodeSet == 1) codeset = 106;
+ else codeset = cset.CodeSet;
}
if((cn)&&(cn->cn_Type == ID_FTXT)&&(cn->cn_ID == ID_CHRS))
{
while((rlen = ReadChunkBytes(iffh,readbuf,1024)) > 0)
{
- if(cset.CodeSet == 0)
+ if(codeset == 0)
{
utf8_from_local_encoding(readbuf,rlen,&clip);
}
@@ -145,7 +148,7 @@ void gui_paste_from_clipboard(struct gui_window *g, int x, int y)
{
utf8_from_enc(readbuf,
(const char *)ObtainCharsetInfo(DFCS_NUMBER,
- cset.CodeSet, DFCS_MIMENAME),
+ codeset, DFCS_MIMENAME),
rlen, &clip);
}