comparison subreader.c @ 9143:6af323788366

maybe fix ogm vs. iconv
author arpi
date Tue, 28 Jan 2003 18:28:09 +0000
parents 7a06258271d6
children ab8238290141
comparison
equal deleted inserted replaced
9142:a540a2632da1 9143:6af323788366
932 932
933 void subcp_close (void) 933 void subcp_close (void)
934 { 934 {
935 if (icdsc != (iconv_t)(-1)){ 935 if (icdsc != (iconv_t)(-1)){
936 (void) iconv_close (icdsc); 936 (void) iconv_close (icdsc);
937 icdsc = (iconv_t)(-1);
937 sub_utf8=sub_utf8_prev; 938 sub_utf8=sub_utf8_prev;
938 mp_msg(MSGT_SUBREADER,MSGL_V,"SUB: closed iconv descriptor.\n"); 939 mp_msg(MSGT_SUBREADER,MSGL_V,"SUB: closed iconv descriptor.\n");
939 } 940 }
940 } 941 }
941 942
981 // for demux_ogg.c: 982 // for demux_ogg.c:
982 subtitle* subcp_recode1 (subtitle *sub) 983 subtitle* subcp_recode1 (subtitle *sub)
983 { 984 {
984 int l=sub->lines; 985 int l=sub->lines;
985 size_t ileft, oleft; 986 size_t ileft, oleft;
986 char *op, *ip; 987
988 if(icdsc == (iconv_t)(-1)) return sub;
987 989
988 while (l){ 990 while (l){
989 ip = icbuffer; 991 char *ip = icbuffer;
990 op = sub->text[--l]; 992 char *op = sub->text[--l];
991 strcpy(ip, op); 993 strcpy(ip, op);
992 ileft = strlen(ip); 994 ileft = strlen(ip);
993 oleft = ICBUFFSIZE - 1; 995 oleft = ICBUFFSIZE - 1;
994 996
995 if (iconv(icdsc, &ip, &ileft, 997 if (iconv(icdsc, &ip, &ileft,
996 &op, &oleft) == (size_t)(-1)) { 998 &op, &oleft) == (size_t)(-1)) {
997 mp_msg(MSGT_SUBREADER,MSGL_WARN,"SUB: error recoding line (2).\n"); 999 mp_msg(MSGT_SUBREADER,MSGL_V,"SUB: error recoding line (2).\n");
998 return sub; 1000 return sub;
999 } 1001 }
1000 *op='\0' ; 1002 *op='\0' ;
1001 } 1003 }
1002 return sub; 1004 return sub;