head 1.2; access; symbols pkgsrc-2013Q2:1.2.0.54 pkgsrc-2013Q2-base:1.2 pkgsrc-2012Q4:1.2.0.52 pkgsrc-2012Q4-base:1.2 pkgsrc-2011Q4:1.2.0.50 pkgsrc-2011Q4-base:1.2 pkgsrc-2011Q2:1.2.0.48 pkgsrc-2011Q2-base:1.2 pkgsrc-2009Q4:1.2.0.46 pkgsrc-2009Q4-base:1.2 pkgsrc-2008Q4:1.2.0.44 pkgsrc-2008Q4-base:1.2 pkgsrc-2008Q3:1.2.0.42 pkgsrc-2008Q3-base:1.2 cube-native-xorg:1.2.0.40 cube-native-xorg-base:1.2 pkgsrc-2008Q2:1.2.0.38 pkgsrc-2008Q2-base:1.2 pkgsrc-2008Q1:1.2.0.36 pkgsrc-2008Q1-base:1.2 pkgsrc-2007Q4:1.2.0.34 pkgsrc-2007Q4-base:1.2 pkgsrc-2007Q3:1.2.0.32 pkgsrc-2007Q3-base:1.2 pkgsrc-2007Q2:1.2.0.30 pkgsrc-2007Q2-base:1.2 pkgsrc-2007Q1:1.2.0.28 pkgsrc-2007Q1-base:1.2 pkgsrc-2006Q4:1.2.0.26 pkgsrc-2006Q4-base:1.2 pkgsrc-2006Q3:1.2.0.24 pkgsrc-2006Q3-base:1.2 pkgsrc-2006Q2:1.2.0.22 pkgsrc-2006Q2-base:1.2 pkgsrc-2006Q1:1.2.0.20 pkgsrc-2006Q1-base:1.2 pkgsrc-2005Q4:1.2.0.18 pkgsrc-2005Q4-base:1.2 pkgsrc-2005Q3:1.2.0.16 pkgsrc-2005Q3-base:1.2 pkgsrc-2005Q2:1.2.0.14 pkgsrc-2005Q2-base:1.2 pkgsrc-2005Q1:1.2.0.12 pkgsrc-2005Q1-base:1.2 pkgsrc-2004Q4:1.2.0.10 pkgsrc-2004Q4-base:1.2 pkgsrc-2004Q3:1.2.0.8 pkgsrc-2004Q3-base:1.2 pkgsrc-2004Q2:1.2.0.6 pkgsrc-2004Q2-base:1.2 pkgsrc-2004Q1:1.2.0.4 pkgsrc-2004Q1-base:1.2 pkgsrc-2003Q4:1.2.0.2 pkgsrc-2003Q4-base:1.2 netbsd-1-6-1:1.1.1.1.0.4 netbsd-1-6-1-base:1.1 netbsd-1-6:1.1.1.1.0.6 netbsd-1-6-RELEASE-base:1.1 pkgviews:1.1.1.1.0.8 pkgviews-base:1.1 buildlink2-base:1.1.1.1 buildlink2:1.1.1.1.0.2 pkgsrc-base:1.1.1.1 TNF:1.1.1; locks; strict; comment @# @; 1.2 date 2003.05.31.13.09.00; author uebayasi; state dead; branches; next 1.1; 1.1 date 2002.05.31.13.00.02; author seb; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2002.05.31.13.00.02; author seb; state Exp; branches 1.1.1.1.2.1; next ; 1.1.1.1.2.1 date 2002.05.31.13.00.02; author jlam; state dead; branches; next 1.1.1.1.2.2; 1.1.1.1.2.2 date 2002.06.23.18.48.18; author jlam; state Exp; branches; next ; desc @@ 1.2 log @Update to 2.06.3. * Improve IPv6 support. * Make XIM, Ximp start keys configurable. * Keep input modes across conversations. (History functions.) * Convert "oh" as "oo". * Support "Off The Spot" style. And tons of bug fixes. @ text @$NetBSD: patch-ac,v 1.1 2002/05/31 13:00:02 seb Exp $ --- skkldic.c.orig Fri Nov 14 13:04:12 1997 +++ skkldic.c Wed Nov 8 20:01:38 2000 @@@@ -27,6 +27,13 @@@@ #include #include +#ifdef CSRG_BASED +#include +#if defined(BSD) && BSD >= 199306 +#define HAVE_MKSTEMP +#endif +#endif + #include "commondef.h" #include "buffers.h" #include "config.h" @@@@ -863,7 +870,12 @@@@ { FILE *fpSrc, *fpDest ; unsigned long lines ; +#ifdef HAVE_MKSTEMP + char tempfilename[64] ; + int tmpfd; +#else char *tempfilename ; +#endif #ifdef DEBUG_LDIC fprintf( stderr, "Now saving ....\"%s\"\n", skkinput_local_jisyo_path ) ; @@@@ -890,7 +902,15 @@@@ * 存在しない場合はどうするのか? */ /* 辞書の更新を行う際に利用されるテンポラリファイル。*/ +#ifdef HAVE_MKSTEMP + strcpy(tempfilename, "/tmp/skkinputXXXXXXXX"); + if ((tmpfd = mkstemp(tempfilename)) < 0) { + perror("skkinput: cannot create temp file"); + return; + } +#else tempfilename = tmpnam( NULL ) ; +#endif /* 局所辞書のバックアップを削除する。失敗した場合なんかは知らない。*/ unlink( skkinput_jisyo_backup_path ) ; @@@@ -901,12 +921,19 @@@@ skkinput_copyFile ( skkinput_local_jisyo_path, tempfilename ) ; /* 局所辞書のコピーが存在しない。これは不味い状態である。*/ +#ifdef HAVE_MKSTEMP + if( ( fpSrc = fdopen( tmpfd, "rb" ) ) == NULL ){ + close(tmpfd); + return; + } +#else if( ( fpSrc = fopen( tempfilename, "rb" ) ) == NULL ){ #ifdef DEBUG_LDIC fprintf( stderr, "cannot create backup jisyo...error!\n" ) ; #endif return ; } +#endif /* 書き込めない…これは無理だ…。*/ if( ( fpDest = fopen( skkinput_local_jisyo_path, "wb" ) ) == NULL ){ #ifdef DEBUG_LDIC @@@@ -922,6 +949,7 @@@@ /* file coding system を調べ直す。*/ skkinput_local_jisyo_coding_system = check_skkinput_jisyo_code( skkinput_local_jisyo_path ) ; + unlink( tempfilename ) ; return ; } lines = 0 ; @ 1.1 log @Initial revision @ text @d1 1 a1 1 $NetBSD$ @ 1.1.1.1 log @Reimport of package skkinput from japanese/skkinput into inputmethod/skkinput. This is part of the japanese category retirement. CATEGORIES adjusted. @ text @@ 1.1.1.1.2.1 log @file patch-ac was added on branch buildlink2 on 2002-06-23 18:48:18 +0000 @ text @d1 75 @ 1.1.1.1.2.2 log @Merge from pkgsrc-current to buildlink2 branch. @ text @a0 75 $NetBSD: patch-ac,v 1.1.1.1.2.1 2002/06/23 18:48:18 jlam Exp $ --- skkldic.c.orig Fri Nov 14 13:04:12 1997 +++ skkldic.c Wed Nov 8 20:01:38 2000 @@@@ -27,6 +27,13 @@@@ #include #include +#ifdef CSRG_BASED +#include +#if defined(BSD) && BSD >= 199306 +#define HAVE_MKSTEMP +#endif +#endif + #include "commondef.h" #include "buffers.h" #include "config.h" @@@@ -863,7 +870,12 @@@@ { FILE *fpSrc, *fpDest ; unsigned long lines ; +#ifdef HAVE_MKSTEMP + char tempfilename[64] ; + int tmpfd; +#else char *tempfilename ; +#endif #ifdef DEBUG_LDIC fprintf( stderr, "Now saving ....\"%s\"\n", skkinput_local_jisyo_path ) ; @@@@ -890,7 +902,15 @@@@ * 存在しない場合はどうするのか? */ /* 辞書の更新を行う際に利用されるテンポラリファイル。*/ +#ifdef HAVE_MKSTEMP + strcpy(tempfilename, "/tmp/skkinputXXXXXXXX"); + if ((tmpfd = mkstemp(tempfilename)) < 0) { + perror("skkinput: cannot create temp file"); + return; + } +#else tempfilename = tmpnam( NULL ) ; +#endif /* 局所辞書のバックアップを削除する。失敗した場合なんかは知らない。*/ unlink( skkinput_jisyo_backup_path ) ; @@@@ -901,12 +921,19 @@@@ skkinput_copyFile ( skkinput_local_jisyo_path, tempfilename ) ; /* 局所辞書のコピーが存在しない。これは不味い状態である。*/ +#ifdef HAVE_MKSTEMP + if( ( fpSrc = fdopen( tmpfd, "rb" ) ) == NULL ){ + close(tmpfd); + return; + } +#else if( ( fpSrc = fopen( tempfilename, "rb" ) ) == NULL ){ #ifdef DEBUG_LDIC fprintf( stderr, "cannot create backup jisyo...error!\n" ) ; #endif return ; } +#endif /* 書き込めない…これは無理だ…。*/ if( ( fpDest = fopen( skkinput_local_jisyo_path, "wb" ) ) == NULL ){ #ifdef DEBUG_LDIC @@@@ -922,6 +949,7 @@@@ /* file coding system を調べ直す。*/ skkinput_local_jisyo_coding_system = check_skkinput_jisyo_code( skkinput_local_jisyo_path ) ; + unlink( tempfilename ) ; return ; } lines = 0 ; @