apply multiple patches on w3m-dev(-en) ML since Jun 2005 to Jan 2006.
This commit is contained in:
@@ -1,3 +1,22 @@
|
|||||||
|
2006-04-05 Dai Sato <satodai@w3m.jp>
|
||||||
|
* [w3m-dev-en 01060] Some patches
|
||||||
|
* fix many problems with w3m 0.5.1.
|
||||||
|
* http://www.sic.med.tohoku.ac.jp/~satodai/w3m-dev-en/200511.month/1060.html
|
||||||
|
* [w3m-dev 04150] vi_prec_num
|
||||||
|
* main.c: fixed the switching on/off of vi-like prefix.
|
||||||
|
* [w3m-dev 04151] Re: w3m -remote
|
||||||
|
* acinclude.m4, aclocal.m4, config.h.in, configure, configure.ac, main.c, proto.h, terms.c:
|
||||||
|
* added "-remote" option to receive commands from external processes.
|
||||||
|
* [w3m-dev 04152] [PATCH] Add more explanation for the usage of the option setting panel.
|
||||||
|
* doc/FAQ.html, doc-jp/FAQ.html, doc-jp/MANUAL.html: added some explanations.
|
||||||
|
* [w3m-dev 04153] NEXT_LINK error
|
||||||
|
* anchor.c, file.c, fm.h: fixed behavior of NEXT_LINK.
|
||||||
|
* [w3m-dev 04154] Unclosed textarea in table
|
||||||
|
* table.c: added handling </table> tag in textarea.
|
||||||
|
* [w3m-dev 04155] w3m mingw patch
|
||||||
|
* config.h, configure.ac, etc.c, file.c, ftp.c, indep.c, istream.c, local.c, main.c, rc.c, terms.c, url.c:
|
||||||
|
* to compile on MingW. can't handle basic certification.
|
||||||
|
|
||||||
2006-02-10 Dai Sato <satodai@w3m.jp>
|
2006-02-10 Dai Sato <satodai@w3m.jp>
|
||||||
|
|
||||||
* http://dog.w3m.jp/bbs/spool/until200602.html#20060210153135@keijiwan
|
* http://dog.w3m.jp/bbs/spool/until200602.html#20060210153135@keijiwan
|
||||||
@@ -8653,4 +8672,4 @@ a * [w3m-dev 03276] compile error on EWS4800
|
|||||||
* release-0-2-1
|
* release-0-2-1
|
||||||
* import w3m-0.2.1
|
* import w3m-0.2.1
|
||||||
|
|
||||||
$Id: ChangeLog,v 1.948 2006/02/10 12:52:23 inu Exp $
|
$Id: ChangeLog,v 1.949 2006/04/05 14:18:53 inu Exp $
|
||||||
|
|||||||
@@ -70,6 +70,18 @@ test x"$enable_mouse" = xyes && AC_DEFINE(USE_MOUSE)
|
|||||||
AC_MSG_RESULT($enable_mouse)])
|
AC_MSG_RESULT($enable_mouse)])
|
||||||
#
|
#
|
||||||
# ----------------------------------------------------------------
|
# ----------------------------------------------------------------
|
||||||
|
# AC_W3M_REMOTE
|
||||||
|
# ----------------------------------------------------------------
|
||||||
|
AC_DEFUN([AC_W3M_REMOTE],
|
||||||
|
[AC_SUBST(USE_MOUSE)
|
||||||
|
AC_MSG_CHECKING(if remote operation enabled)
|
||||||
|
AC_ARG_ENABLE(remote,
|
||||||
|
[ --disable-remote disable remote operation],,
|
||||||
|
[enable_remote="yes"])
|
||||||
|
test x"$enable_remote" = xyes && AC_DEFINE(USE_REMOTE)
|
||||||
|
AC_MSG_RESULT($enable_remote)])
|
||||||
|
#
|
||||||
|
# ----------------------------------------------------------------
|
||||||
# AC_W3M_COOKIE
|
# AC_W3M_COOKIE
|
||||||
# ----------------------------------------------------------------
|
# ----------------------------------------------------------------
|
||||||
AC_DEFUN([AC_W3M_COOKIE],
|
AC_DEFUN([AC_W3M_COOKIE],
|
||||||
@@ -877,3 +889,27 @@ AC_DEFUN([AC_W3M_SIGNAL],
|
|||||||
else
|
else
|
||||||
AC_DEFINE(SIGNAL_RETURN,return 0)
|
AC_DEFINE(SIGNAL_RETURN,return 0)
|
||||||
fi])
|
fi])
|
||||||
|
#
|
||||||
|
# ----------------------------------------------------------------
|
||||||
|
# AC_W3M_SO_PEERCRED
|
||||||
|
# ----------------------------------------------------------------
|
||||||
|
AC_DEFUN([AC_W3M_SO_PEERCRED],
|
||||||
|
[AC_SUBST(HAVE_SO_PEERCRED)
|
||||||
|
AC_MSG_CHECKING(for SO_PEERCRED)
|
||||||
|
AC_TRY_COMPILE(
|
||||||
|
[#include <sys/socket.h>],
|
||||||
|
[ int sopt = SO_PEERCRED;
|
||||||
|
exit(sopt);],
|
||||||
|
[have_so_peercred="yes"; AC_DEFINE(HAVE_SO_PEERCRED)],
|
||||||
|
[have_so_peercred="no"])
|
||||||
|
AC_MSG_RESULT($have_so_peercred)])
|
||||||
|
#
|
||||||
|
# ----------------------------------------------------------------
|
||||||
|
# AC_W3M_GETPEEREID
|
||||||
|
# ----------------------------------------------------------------
|
||||||
|
AC_DEFUN([AC_W3M_GETPEEREID],
|
||||||
|
[AC_SUBST(HAVE_GETPEEREID)
|
||||||
|
AC_MSG_CHECKING(for getpeereid)
|
||||||
|
AC_CHECK_FUNC(getpeereid,
|
||||||
|
[have_getpeereid="yes"; AC_DEFINE(HAVE_GETPEEREID)],
|
||||||
|
[have_getpeereid="no"])])
|
||||||
|
|||||||
Vendored
+37
@@ -82,6 +82,18 @@ test x"$enable_mouse" = xyes && AC_DEFINE(USE_MOUSE)
|
|||||||
AC_MSG_RESULT($enable_mouse)])
|
AC_MSG_RESULT($enable_mouse)])
|
||||||
#
|
#
|
||||||
# ----------------------------------------------------------------
|
# ----------------------------------------------------------------
|
||||||
|
# AC_W3M_REMOTE
|
||||||
|
# ----------------------------------------------------------------
|
||||||
|
AC_DEFUN([AC_W3M_REMOTE],
|
||||||
|
[AC_SUBST(USE_MOUSE)
|
||||||
|
AC_MSG_CHECKING(if remote operation enabled)
|
||||||
|
AC_ARG_ENABLE(remote,
|
||||||
|
[ --disable-remote disable remote operation],,
|
||||||
|
[enable_remote="yes"])
|
||||||
|
test x"$enable_remote" = xyes && AC_DEFINE(USE_REMOTE)
|
||||||
|
AC_MSG_RESULT($enable_remote)])
|
||||||
|
#
|
||||||
|
# ----------------------------------------------------------------
|
||||||
# AC_W3M_COOKIE
|
# AC_W3M_COOKIE
|
||||||
# ----------------------------------------------------------------
|
# ----------------------------------------------------------------
|
||||||
AC_DEFUN([AC_W3M_COOKIE],
|
AC_DEFUN([AC_W3M_COOKIE],
|
||||||
@@ -890,6 +902,31 @@ AC_DEFUN([AC_W3M_SIGNAL],
|
|||||||
AC_DEFINE(SIGNAL_RETURN,return 0)
|
AC_DEFINE(SIGNAL_RETURN,return 0)
|
||||||
fi])
|
fi])
|
||||||
|
|
||||||
|
#
|
||||||
|
# ----------------------------------------------------------------
|
||||||
|
# AC_W3M_SO_PEERCRED
|
||||||
|
# ----------------------------------------------------------------
|
||||||
|
AC_DEFUN([AC_W3M_SO_PEERCRED],
|
||||||
|
[AC_SUBST(HAVE_SO_PEERCRED)
|
||||||
|
AC_MSG_CHECKING(for SO_PEERCRED)
|
||||||
|
AC_TRY_COMPILE(
|
||||||
|
[#include <sys/socket.h>],
|
||||||
|
[ int sopt = SO_PEERCRED;
|
||||||
|
exit(sopt);],
|
||||||
|
[have_so_peercred="yes"; AC_DEFINE(HAVE_SO_PEERCRED)],
|
||||||
|
[have_so_peercred="no"])
|
||||||
|
AC_MSG_RESULT($have_so_peercred)])
|
||||||
|
#
|
||||||
|
# ----------------------------------------------------------------
|
||||||
|
# AC_W3M_GETPEEREID
|
||||||
|
# ----------------------------------------------------------------
|
||||||
|
AC_DEFUN([AC_W3M_GETPEEREID],
|
||||||
|
[AC_SUBST(HAVE_GETPEEREID)
|
||||||
|
AC_MSG_CHECKING(for getpeereid)
|
||||||
|
AC_CHECK_FUNC(getpeereid,
|
||||||
|
[have_getpeereid="yes"; AC_DEFINE(HAVE_GETPEEREID)],
|
||||||
|
[have_getpeereid="no"])])
|
||||||
|
|
||||||
# lib-prefix.m4 serial 3 (gettext-0.13)
|
# lib-prefix.m4 serial 3 (gettext-0.13)
|
||||||
dnl Copyright (C) 2001-2003 Free Software Foundation, Inc.
|
dnl Copyright (C) 2001-2003 Free Software Foundation, Inc.
|
||||||
dnl This file is free software, distributed under the terms of the GNU
|
dnl This file is free software, distributed under the terms of the GNU
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: anchor.c,v 1.30 2003/09/26 17:59:51 ukai Exp $ */
|
/* $Id: anchor.c,v 1.31 2006/04/05 14:18:53 inu Exp $ */
|
||||||
#include "fm.h"
|
#include "fm.h"
|
||||||
#include "myctype.h"
|
#include "myctype.h"
|
||||||
#include "regex.h"
|
#include "regex.h"
|
||||||
@@ -175,6 +175,8 @@ searchAnchor(AnchorList *al, char *str)
|
|||||||
return NULL;
|
return NULL;
|
||||||
for (i = 0; i < al->nanchor; i++) {
|
for (i = 0; i < al->nanchor; i++) {
|
||||||
a = &al->anchors[i];
|
a = &al->anchors[i];
|
||||||
|
if (a->hseq < 0)
|
||||||
|
continue;
|
||||||
if (!strcmp(a->url, str))
|
if (!strcmp(a->url, str))
|
||||||
return a;
|
return a;
|
||||||
}
|
}
|
||||||
@@ -471,6 +473,7 @@ putHmarker(HmarkerList *ml, int line, int pos, int seq)
|
|||||||
}
|
}
|
||||||
ml->marks[seq].line = line;
|
ml->marks[seq].line = line;
|
||||||
ml->marks[seq].pos = pos;
|
ml->marks[seq].pos = pos;
|
||||||
|
ml->marks[seq].invalid = 0;
|
||||||
return ml;
|
return ml;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -778,7 +781,7 @@ link_list_panel(Buffer *buf)
|
|||||||
al = buf->href;
|
al = buf->href;
|
||||||
for (i = 0; i < al->nanchor; i++) {
|
for (i = 0; i < al->nanchor; i++) {
|
||||||
a = &al->anchors[i];
|
a = &al->anchors[i];
|
||||||
if (a->slave)
|
if (a->hseq < 0 || a->slave)
|
||||||
continue;
|
continue;
|
||||||
parseURL2(a->url, &pu, baseURL(buf));
|
parseURL2(a->url, &pu, baseURL(buf));
|
||||||
p = parsedURL2Str(&pu)->ptr;
|
p = parsedURL2Str(&pu)->ptr;
|
||||||
|
|||||||
+17
@@ -53,6 +53,7 @@
|
|||||||
#undef USE_MIGEMO
|
#undef USE_MIGEMO
|
||||||
#define USE_MARK
|
#define USE_MARK
|
||||||
#undef USE_MOUSE
|
#undef USE_MOUSE
|
||||||
|
#undef USE_REMOTE
|
||||||
#undef USE_GPM
|
#undef USE_GPM
|
||||||
#undef USE_SYSMOUSE
|
#undef USE_SYSMOUSE
|
||||||
#undef USE_MENU
|
#undef USE_MENU
|
||||||
@@ -143,6 +144,8 @@ typedef long clen_t;
|
|||||||
#undef HAVE_SETPGRP
|
#undef HAVE_SETPGRP
|
||||||
#undef HAVE_SETLOCALE
|
#undef HAVE_SETLOCALE
|
||||||
#undef HAVE_LANGINFO_CODESET
|
#undef HAVE_LANGINFO_CODESET
|
||||||
|
#undef HAVE_SO_PEERCRED
|
||||||
|
#undef HAVE_GETPEEREID
|
||||||
|
|
||||||
#undef SETPGRP_VOID
|
#undef SETPGRP_VOID
|
||||||
#ifdef HAVE_SETPGRP
|
#ifdef HAVE_SETPGRP
|
||||||
@@ -166,9 +169,15 @@ typedef RETSIGTYPE MySignalHandler;
|
|||||||
#define SIGNAL_RETURN @SIGNAL_RETURN@
|
#define SIGNAL_RETURN @SIGNAL_RETURN@
|
||||||
|
|
||||||
#ifdef HAVE_SIGSETJMP
|
#ifdef HAVE_SIGSETJMP
|
||||||
|
#ifdef __MINGW32_VERSION
|
||||||
|
# define SETJMP(env) setjmp(env)
|
||||||
|
# define LONGJMP(env,val) longjmp(env, val)
|
||||||
|
# define JMP_BUF jmp_buf
|
||||||
|
#else
|
||||||
# define SETJMP(env) sigsetjmp(env,1)
|
# define SETJMP(env) sigsetjmp(env,1)
|
||||||
# define LONGJMP(env,val) siglongjmp(env,val)
|
# define LONGJMP(env,val) siglongjmp(env,val)
|
||||||
# define JMP_BUF sigjmp_buf
|
# define JMP_BUF sigjmp_buf
|
||||||
|
#endif /* __MINGW32_VERSION */
|
||||||
#else
|
#else
|
||||||
# define SETJMP(env) setjmp(env)
|
# define SETJMP(env) setjmp(env)
|
||||||
# define LONGJMP(env,val) longjmp(env)
|
# define LONGJMP(env,val) longjmp(env)
|
||||||
@@ -233,4 +242,12 @@ typedef RETSIGTYPE MySignalHandler;
|
|||||||
#define BUNZIP2_NAME "bunzip2"
|
#define BUNZIP2_NAME "bunzip2"
|
||||||
#define INFLATE_NAME "inflate"
|
#define INFLATE_NAME "inflate"
|
||||||
|
|
||||||
|
#ifdef __MINGW32_VERSION
|
||||||
|
#define SIGKILL SIGTERM
|
||||||
|
#define S_IXGRP 0
|
||||||
|
#define S_IXOTH 0
|
||||||
|
#define S_IRWXG 0
|
||||||
|
#define S_IRWXO 0
|
||||||
|
#endif /* __MINGW32_VERSION */
|
||||||
|
|
||||||
#endif /* CONFIG_H_SEEN */
|
#endif /* CONFIG_H_SEEN */
|
||||||
|
|||||||
@@ -310,7 +310,7 @@ ac_includes_default="\
|
|||||||
# include <unistd.h>
|
# include <unistd.h>
|
||||||
#endif"
|
#endif"
|
||||||
|
|
||||||
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS PACKAGE VERSION W3M W3M_LANG AWK CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S SET_MAKE RANLIB ac_ct_RANLIB PERL NKF MAN build build_cpu build_vendor build_os host host_cpu host_vendor host_os W3M_TARGET W3M_LIBS USE_M17N USE_UNICODE WCTARGET WCCFLAGS DISPLAY_CHARSET SYSTEM_CHARSET DOCUMENT_CHARSET POSUBST POLANG MKINSTALLDIRS USE_NLS MSGFMT GMSGFMT XGETTEXT MSGMERGE LIBICONV LTLIBICONV INTLLIBS LIBINTL LTLIBINTL POSUB INTLTARGET NLSTARGET USE_COLOR USE_ANSI_COLOR USE_BG_COLOR USE_IMAGE USE_W3MIMG_X11 USE_W3MIMG_FB W3MIMGDISPLAY_SETUID INSTALL_W3MIMGDISPLAY USE_GDKPIXBUF USE_GTK2 USE_IMLIB USE_IMLIB2 IMGTARGETS IMGOBJS IMGX11CFLAGS IMGX11LDFLAGS IMGFBCFLAGS IMGFBLDFLAGS USE_XFACE uncompface KEYMAP_FILE HELP_FILE KEYBIND USE_MENU USE_MOUSE USE_HISTORY USE_ALARM USE_COOKIE USE_DIGEST_AUTH USE_NNTP USE_GOPHER USE_DICT USE_HELP_CGI USE_EXTERNAL_URI_LOADER USE_W3MMAILER USE_MIGEMO DEF_MIGEMO_COMMAND DEF_EDITOR DEF_MAILER DEF_EXT_BROWSER INET6 HAVE_OLD_SS_FAMILY USE_SSL USE_SSL_VERIFY PKG_CONFIG SSL_CFLAGS SSL_LIBS USE_W3M USE_SYSMOUSE AUXBIN_TARGETS EGREP USE_BINMODE_STREAM HAVE_SYS_ERRLIST HAVE_SIGSETJMP RETSIGTYPE SIGNAL_RETURN HELP_DIR RC_DIR DOCDIRS CURRENT_VERSION LIBOBJS LTLIBOBJS'
|
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS PACKAGE VERSION W3M W3M_LANG AWK CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S SET_MAKE RANLIB ac_ct_RANLIB PERL NKF MAN build build_cpu build_vendor build_os host host_cpu host_vendor host_os W3M_TARGET W3M_LIBS USE_M17N USE_UNICODE WCTARGET WCCFLAGS DISPLAY_CHARSET SYSTEM_CHARSET DOCUMENT_CHARSET POSUBST POLANG MKINSTALLDIRS USE_NLS MSGFMT GMSGFMT XGETTEXT MSGMERGE LIBICONV LTLIBICONV INTLLIBS LIBINTL LTLIBINTL POSUB INTLTARGET NLSTARGET USE_COLOR USE_ANSI_COLOR USE_BG_COLOR USE_IMAGE USE_W3MIMG_X11 USE_W3MIMG_FB W3MIMGDISPLAY_SETUID INSTALL_W3MIMGDISPLAY USE_GDKPIXBUF USE_GTK2 USE_IMLIB USE_IMLIB2 IMGTARGETS IMGOBJS IMGX11CFLAGS IMGX11LDFLAGS IMGFBCFLAGS IMGFBLDFLAGS USE_XFACE uncompface KEYMAP_FILE HELP_FILE KEYBIND USE_MENU USE_MOUSE USE_HISTORY USE_ALARM USE_COOKIE USE_DIGEST_AUTH USE_NNTP USE_GOPHER USE_DICT USE_HELP_CGI USE_EXTERNAL_URI_LOADER USE_W3MMAILER USE_MIGEMO DEF_MIGEMO_COMMAND DEF_EDITOR DEF_MAILER DEF_EXT_BROWSER INET6 HAVE_OLD_SS_FAMILY USE_SSL USE_SSL_VERIFY PKG_CONFIG SSL_CFLAGS SSL_LIBS USE_W3M USE_SYSMOUSE AUXBIN_TARGETS EGREP USE_BINMODE_STREAM HAVE_SYS_ERRLIST HAVE_SIGSETJMP RETSIGTYPE SIGNAL_RETURN HAVE_SO_PEERCRED HAVE_GETPEEREID HELP_DIR RC_DIR DOCDIRS CURRENT_VERSION LIBOBJS LTLIBOBJS'
|
||||||
ac_subst_files=''
|
ac_subst_files=''
|
||||||
|
|
||||||
# Initialize some variables set by options.
|
# Initialize some variables set by options.
|
||||||
@@ -866,6 +866,7 @@ Optional Features:
|
|||||||
--disable-mouse disable mouse operation
|
--disable-mouse disable mouse operation
|
||||||
--disable-history disable URL history
|
--disable-history disable URL history
|
||||||
--disable-alarm disable alarm
|
--disable-alarm disable alarm
|
||||||
|
--disable-remote disable remote operation
|
||||||
--disable-cookie disable cookie
|
--disable-cookie disable cookie
|
||||||
--disable-digest-auth disable digest auth
|
--disable-digest-auth disable digest auth
|
||||||
--disable-nntp disable NNTP
|
--disable-nntp disable NNTP
|
||||||
@@ -5502,6 +5503,22 @@ fi
|
|||||||
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
|
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
echo "$as_me:$LINENO: checking if remote operation enabled" >&5
|
||||||
|
echo $ECHO_N "checking if remote operation enabled... $ECHO_C" >&6
|
||||||
|
# Check whether --enable-remote or --disable-remote was given.
|
||||||
|
if test "${enable_remote+set}" = set; then
|
||||||
|
enableval="$enable_remote"
|
||||||
|
|
||||||
|
else
|
||||||
|
enable_remote="yes"
|
||||||
|
fi;
|
||||||
|
test x"$enable_remote" = xyes && cat >>confdefs.h <<\_ACEOF
|
||||||
|
#define USE_REMOTE 1
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
|
echo "$as_me:$LINENO: result: $enable_remote" >&5
|
||||||
|
echo "${ECHO_T}$enable_remote" >&6
|
||||||
|
|
||||||
|
|
||||||
echo "$as_me:$LINENO: checking if cookie is enabled" >&5
|
echo "$as_me:$LINENO: checking if cookie is enabled" >&5
|
||||||
echo $ECHO_N "checking if cookie is enabled... $ECHO_C" >&6
|
echo $ECHO_N "checking if cookie is enabled... $ECHO_C" >&6
|
||||||
@@ -10256,6 +10273,160 @@ _ACEOF
|
|||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
echo "$as_me:$LINENO: checking for SO_PEERCRED" >&5
|
||||||
|
echo $ECHO_N "checking for SO_PEERCRED... $ECHO_C" >&6
|
||||||
|
cat >conftest.$ac_ext <<_ACEOF
|
||||||
|
/* confdefs.h. */
|
||||||
|
_ACEOF
|
||||||
|
cat confdefs.h >>conftest.$ac_ext
|
||||||
|
cat >>conftest.$ac_ext <<_ACEOF
|
||||||
|
/* end confdefs.h. */
|
||||||
|
#include <sys/socket.h>
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
int sopt = SO_PEERCRED;
|
||||||
|
exit(sopt);
|
||||||
|
;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
_ACEOF
|
||||||
|
rm -f conftest.$ac_objext
|
||||||
|
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
|
||||||
|
(eval $ac_compile) 2>conftest.er1
|
||||||
|
ac_status=$?
|
||||||
|
grep -v '^ *+' conftest.er1 >conftest.err
|
||||||
|
rm -f conftest.er1
|
||||||
|
cat conftest.err >&5
|
||||||
|
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
|
(exit $ac_status); } &&
|
||||||
|
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
|
||||||
|
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||||
|
(eval $ac_try) 2>&5
|
||||||
|
ac_status=$?
|
||||||
|
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
|
(exit $ac_status); }; } &&
|
||||||
|
{ ac_try='test -s conftest.$ac_objext'
|
||||||
|
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||||
|
(eval $ac_try) 2>&5
|
||||||
|
ac_status=$?
|
||||||
|
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
|
(exit $ac_status); }; }; then
|
||||||
|
have_so_peercred="yes"; cat >>confdefs.h <<\_ACEOF
|
||||||
|
#define HAVE_SO_PEERCRED 1
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
|
else
|
||||||
|
echo "$as_me: failed program was:" >&5
|
||||||
|
sed 's/^/| /' conftest.$ac_ext >&5
|
||||||
|
|
||||||
|
have_so_peercred="no"
|
||||||
|
fi
|
||||||
|
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||||
|
echo "$as_me:$LINENO: result: $have_so_peercred" >&5
|
||||||
|
echo "${ECHO_T}$have_so_peercred" >&6
|
||||||
|
|
||||||
|
echo "$as_me:$LINENO: checking for getpeereid" >&5
|
||||||
|
echo $ECHO_N "checking for getpeereid... $ECHO_C" >&6
|
||||||
|
echo "$as_me:$LINENO: checking for getpeereid" >&5
|
||||||
|
echo $ECHO_N "checking for getpeereid... $ECHO_C" >&6
|
||||||
|
if test "${ac_cv_func_getpeereid+set}" = set; then
|
||||||
|
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||||
|
else
|
||||||
|
cat >conftest.$ac_ext <<_ACEOF
|
||||||
|
/* confdefs.h. */
|
||||||
|
_ACEOF
|
||||||
|
cat confdefs.h >>conftest.$ac_ext
|
||||||
|
cat >>conftest.$ac_ext <<_ACEOF
|
||||||
|
/* end confdefs.h. */
|
||||||
|
/* Define getpeereid to an innocuous variant, in case <limits.h> declares getpeereid.
|
||||||
|
For example, HP-UX 11i <limits.h> declares gettimeofday. */
|
||||||
|
#define getpeereid innocuous_getpeereid
|
||||||
|
|
||||||
|
/* System header to define __stub macros and hopefully few prototypes,
|
||||||
|
which can conflict with char getpeereid (); below.
|
||||||
|
Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
|
||||||
|
<limits.h> exists even on freestanding compilers. */
|
||||||
|
|
||||||
|
#ifdef __STDC__
|
||||||
|
# include <limits.h>
|
||||||
|
#else
|
||||||
|
# include <assert.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#undef getpeereid
|
||||||
|
|
||||||
|
/* Override any gcc2 internal prototype to avoid an error. */
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C"
|
||||||
|
{
|
||||||
|
#endif
|
||||||
|
/* We use char because int might match the return type of a gcc2
|
||||||
|
builtin and then its argument prototype would still apply. */
|
||||||
|
char getpeereid ();
|
||||||
|
/* The GNU C library defines this for functions which it implements
|
||||||
|
to always fail with ENOSYS. Some functions are actually named
|
||||||
|
something starting with __ and the normal name is an alias. */
|
||||||
|
#if defined (__stub_getpeereid) || defined (__stub___getpeereid)
|
||||||
|
choke me
|
||||||
|
#else
|
||||||
|
char (*f) () = getpeereid;
|
||||||
|
#endif
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
return f != getpeereid;
|
||||||
|
;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
_ACEOF
|
||||||
|
rm -f conftest.$ac_objext conftest$ac_exeext
|
||||||
|
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
|
||||||
|
(eval $ac_link) 2>conftest.er1
|
||||||
|
ac_status=$?
|
||||||
|
grep -v '^ *+' conftest.er1 >conftest.err
|
||||||
|
rm -f conftest.er1
|
||||||
|
cat conftest.err >&5
|
||||||
|
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
|
(exit $ac_status); } &&
|
||||||
|
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
|
||||||
|
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||||
|
(eval $ac_try) 2>&5
|
||||||
|
ac_status=$?
|
||||||
|
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
|
(exit $ac_status); }; } &&
|
||||||
|
{ ac_try='test -s conftest$ac_exeext'
|
||||||
|
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||||
|
(eval $ac_try) 2>&5
|
||||||
|
ac_status=$?
|
||||||
|
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
|
(exit $ac_status); }; }; then
|
||||||
|
ac_cv_func_getpeereid=yes
|
||||||
|
else
|
||||||
|
echo "$as_me: failed program was:" >&5
|
||||||
|
sed 's/^/| /' conftest.$ac_ext >&5
|
||||||
|
|
||||||
|
ac_cv_func_getpeereid=no
|
||||||
|
fi
|
||||||
|
rm -f conftest.err conftest.$ac_objext \
|
||||||
|
conftest$ac_exeext conftest.$ac_ext
|
||||||
|
fi
|
||||||
|
echo "$as_me:$LINENO: result: $ac_cv_func_getpeereid" >&5
|
||||||
|
echo "${ECHO_T}$ac_cv_func_getpeereid" >&6
|
||||||
|
if test $ac_cv_func_getpeereid = yes; then
|
||||||
|
have_getpeereid="yes"; cat >>confdefs.h <<\_ACEOF
|
||||||
|
#define HAVE_GETPEEREID 1
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
|
else
|
||||||
|
have_getpeereid="no"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
HELP_DIR="$datadir/$PACKAGE"
|
HELP_DIR="$datadir/$PACKAGE"
|
||||||
cat >>confdefs.h <<\_ACEOF
|
cat >>confdefs.h <<\_ACEOF
|
||||||
@@ -11042,6 +11213,8 @@ s,@HAVE_SYS_ERRLIST@,$HAVE_SYS_ERRLIST,;t t
|
|||||||
s,@HAVE_SIGSETJMP@,$HAVE_SIGSETJMP,;t t
|
s,@HAVE_SIGSETJMP@,$HAVE_SIGSETJMP,;t t
|
||||||
s,@RETSIGTYPE@,$RETSIGTYPE,;t t
|
s,@RETSIGTYPE@,$RETSIGTYPE,;t t
|
||||||
s,@SIGNAL_RETURN@,$SIGNAL_RETURN,;t t
|
s,@SIGNAL_RETURN@,$SIGNAL_RETURN,;t t
|
||||||
|
s,@HAVE_SO_PEERCRED@,$HAVE_SO_PEERCRED,;t t
|
||||||
|
s,@HAVE_GETPEEREID@,$HAVE_GETPEEREID,;t t
|
||||||
s,@HELP_DIR@,$HELP_DIR,;t t
|
s,@HELP_DIR@,$HELP_DIR,;t t
|
||||||
s,@RC_DIR@,$RC_DIR,;t t
|
s,@RC_DIR@,$RC_DIR,;t t
|
||||||
s,@DOCDIRS@,$DOCDIRS,;t t
|
s,@DOCDIRS@,$DOCDIRS,;t t
|
||||||
|
|||||||
+5
-2
@@ -67,6 +67,7 @@ AC_W3M_MENU
|
|||||||
AC_W3M_MOUSE
|
AC_W3M_MOUSE
|
||||||
AC_W3M_HISTORY
|
AC_W3M_HISTORY
|
||||||
AC_W3M_ALARM
|
AC_W3M_ALARM
|
||||||
|
AC_W3M_REMOTE
|
||||||
|
|
||||||
AC_W3M_COOKIE
|
AC_W3M_COOKIE
|
||||||
AC_W3M_DIGEST_AUTH
|
AC_W3M_DIGEST_AUTH
|
||||||
@@ -83,7 +84,7 @@ AC_W3M_MAILER
|
|||||||
AC_W3M_EXT_BROWSER
|
AC_W3M_EXT_BROWSER
|
||||||
|
|
||||||
dnl Checks for ext libs
|
dnl Checks for ext libs
|
||||||
for lib in bsd BSD 44bsd socket nsl dld dl
|
for lib in bsd BSD 44bsd socket dld
|
||||||
do
|
do
|
||||||
AC_W3M_EXTLIBS($lib)
|
AC_W3M_EXTLIBS($lib)
|
||||||
done
|
done
|
||||||
@@ -110,7 +111,7 @@ AC_DEFINE(AUXBIN_TARGETS, "$AUXBIN_TARGETS")
|
|||||||
|
|
||||||
AC_SUBST(USE_BINMODE_STREAM)
|
AC_SUBST(USE_BINMODE_STREAM)
|
||||||
case "$host_os" in
|
case "$host_os" in
|
||||||
*cygwin*|*os2-emx*)
|
*cygwin*|*os2-emx*|*mingw*)
|
||||||
AC_DEFINE(USE_BINMODE_STREAM)
|
AC_DEFINE(USE_BINMODE_STREAM)
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@@ -152,6 +153,8 @@ AM_LANGINFO_CODESET
|
|||||||
AC_W3M_SYS_ERRLIST
|
AC_W3M_SYS_ERRLIST
|
||||||
AC_W3M_SIGSETJMP
|
AC_W3M_SIGSETJMP
|
||||||
AC_W3M_SIGNAL
|
AC_W3M_SIGNAL
|
||||||
|
AC_W3M_SO_PEERCRED
|
||||||
|
AC_W3M_GETPEEREID
|
||||||
|
|
||||||
AC_SUBST(HELP_DIR)
|
AC_SUBST(HELP_DIR)
|
||||||
HELP_DIR="$datadir/$PACKAGE"
|
HELP_DIR="$datadir/$PACKAGE"
|
||||||
|
|||||||
@@ -222,6 +222,9 @@ application/x-dvi; xdvi %s
|
|||||||
<dl>
|
<dl>
|
||||||
<dt>設定ファイルはどこにあるの?
|
<dt>設定ファイルはどこにあるの?
|
||||||
<dd>~/.w3m ディレクトリの下の config です.
|
<dd>~/.w3m ディレクトリの下の config です.
|
||||||
|
オプション設定パネルで変更できると記述されているオプションの値を
|
||||||
|
このファイルで変更すると,w3m の挙動を調整できます.
|
||||||
|
オプションの名前と値を空白で区切ったものを 1 行に 1 組ずつ書いて設定します.
|
||||||
<p>
|
<p>
|
||||||
<dt>~/.w3m の下に w3mXXXXXX のようなファイルがたくさんあるけど,何?
|
<dt>~/.w3m の下に w3mXXXXXX のようなファイルがたくさんあるけど,何?
|
||||||
<dd>WWWサーバからファイルを読んでいるときに,それを一時的に保存する
|
<dd>WWWサーバからファイルを読んでいるときに,それを一時的に保存する
|
||||||
|
|||||||
@@ -97,6 +97,7 @@ HTML
|
|||||||
<dd>折り返しサーチを使うかどうかを切りかえる.
|
<dd>折り返しサーチを使うかどうかを切りかえる.
|
||||||
<dt>-o option=value
|
<dt>-o option=value
|
||||||
<dd>オプションを指定する.
|
<dd>オプションを指定する.
|
||||||
|
オプションの名前や値は,~/.w3m/config で指定するものと同じ.
|
||||||
<dt>-no-proxy
|
<dt>-no-proxy
|
||||||
<dd>プロキシを利用しない.
|
<dd>プロキシを利用しない.
|
||||||
<dt>-pauth user:pass
|
<dt>-pauth user:pass
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
# A sample of ~/.w3m/menu (default)
|
# A sample of ~/.w3m/menu (default)
|
||||||
#
|
#
|
||||||
# menu MENU_ID
|
# menu MENU_ID
|
||||||
# func LABEL FUNCTION KEYS
|
# func LABEL FUNCTION KEYS FUNCTION_ARGUMENT
|
||||||
# popup LABEL MENU_ID KEYS
|
# popup LABEL MENU_ID KEYS
|
||||||
# nop LABEL
|
# nop LABEL
|
||||||
# end
|
# end
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
# A sample of ~/.w3m/menu (submenu type)
|
# A sample of ~/.w3m/menu (submenu type)
|
||||||
#
|
#
|
||||||
# menu MENU_ID
|
# menu MENU_ID
|
||||||
# func LABEL FUNCTION KEYS
|
# func LABEL FUNCTION KEYS FUNCTION_ARGUMENT
|
||||||
# popup LABEL MENU_ID KEYS
|
# popup LABEL MENU_ID KEYS
|
||||||
# nop LABEL
|
# nop LABEL
|
||||||
# end
|
# end
|
||||||
|
|||||||
@@ -270,6 +270,10 @@ with Ctrl-u. What to do?</h3>
|
|||||||
<dl>
|
<dl>
|
||||||
<dt><h3>What is w3m's configuration file?</h3>
|
<dt><h3>What is w3m's configuration file?</h3>
|
||||||
<dd>It is ~/.w3m/config.
|
<dd>It is ~/.w3m/config.
|
||||||
|
With this file, you can adjust w3m's behavior by changing values of options
|
||||||
|
that are described to be varied with the option setting panel.
|
||||||
|
Each line contains setting for one option, which is a pair of an option name
|
||||||
|
and its value with a space as a separator.
|
||||||
<p>
|
<p>
|
||||||
<dt><h3>What are these w3mxxxx files in my ~/.w3m directory for?</h3>
|
<dt><h3>What are these w3mxxxx files in my ~/.w3m directory for?</h3>
|
||||||
<dd>These are temporary files used by w3m when reading documents from a
|
<dd>These are temporary files used by w3m when reading documents from a
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
# A sample of ~/.w3m/menu (default)
|
# A sample of ~/.w3m/menu (default)
|
||||||
#
|
#
|
||||||
# menu MENU_ID
|
# menu MENU_ID
|
||||||
# func LABEL FUNCTION KEYS
|
# func LABEL FUNCTION KEYS FUNCTION_ARGUMENT
|
||||||
# popup LABEL MENU_ID KEYS
|
# popup LABEL MENU_ID KEYS
|
||||||
# nop LABEL
|
# nop LABEL
|
||||||
# end
|
# end
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
# A sample of ~/.w3m/menu (submenu type)
|
# A sample of ~/.w3m/menu (submenu type)
|
||||||
#
|
#
|
||||||
# menu MENU_ID
|
# menu MENU_ID
|
||||||
# func LABEL FUNCTION KEYS
|
# func LABEL FUNCTION KEYS FUNCTION_ARGUMENT
|
||||||
# popup LABEL MENU_ID KEYS
|
# popup LABEL MENU_ID KEYS
|
||||||
# nop LABEL
|
# nop LABEL
|
||||||
# end
|
# end
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
/* $Id: etc.c,v 1.78 2004/04/16 18:47:19 ukai Exp $ */
|
/* $Id: etc.c,v 1.79 2006/04/05 14:18:54 inu Exp $ */
|
||||||
#include "fm.h"
|
#include "fm.h"
|
||||||
|
#ifndef __MINGW32_VERSION
|
||||||
#include <pwd.h>
|
#include <pwd.h>
|
||||||
|
#endif
|
||||||
#include "myctype.h"
|
#include "myctype.h"
|
||||||
#include "html.h"
|
#include "html.h"
|
||||||
#include "local.h"
|
#include "local.h"
|
||||||
@@ -1310,9 +1312,13 @@ romanAlphabet(int n)
|
|||||||
static void
|
static void
|
||||||
reset_signals(void)
|
reset_signals(void)
|
||||||
{
|
{
|
||||||
|
#ifdef SIGHUP
|
||||||
mySignal(SIGHUP, SIG_DFL); /* terminate process */
|
mySignal(SIGHUP, SIG_DFL); /* terminate process */
|
||||||
|
#endif
|
||||||
mySignal(SIGINT, SIG_DFL); /* terminate process */
|
mySignal(SIGINT, SIG_DFL); /* terminate process */
|
||||||
|
#ifdef SIGQUIT
|
||||||
mySignal(SIGQUIT, SIG_DFL); /* terminate process */
|
mySignal(SIGQUIT, SIG_DFL); /* terminate process */
|
||||||
|
#endif
|
||||||
mySignal(SIGTERM, SIG_DFL); /* terminate process */
|
mySignal(SIGTERM, SIG_DFL); /* terminate process */
|
||||||
mySignal(SIGILL, SIG_DFL); /* create core image */
|
mySignal(SIGILL, SIG_DFL); /* create core image */
|
||||||
mySignal(SIGIOT, SIG_DFL); /* create core image */
|
mySignal(SIGIOT, SIG_DFL); /* create core image */
|
||||||
@@ -1355,8 +1361,10 @@ setup_child(int child, int i, int f)
|
|||||||
{
|
{
|
||||||
reset_signals();
|
reset_signals();
|
||||||
mySignal(SIGINT, SIG_IGN);
|
mySignal(SIGINT, SIG_IGN);
|
||||||
|
#ifndef __MINGW32_VERSION
|
||||||
if (!child)
|
if (!child)
|
||||||
SETPGRP();
|
SETPGRP();
|
||||||
|
#endif /* __MINGW32_VERSION */
|
||||||
close_tty();
|
close_tty();
|
||||||
close_all_fds_except(i, f);
|
close_all_fds_except(i, f);
|
||||||
QuietMessage = TRUE;
|
QuietMessage = TRUE;
|
||||||
@@ -1364,6 +1372,7 @@ setup_child(int child, int i, int f)
|
|||||||
TrapSignal = FALSE;
|
TrapSignal = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef __MINGW32_VERSION
|
||||||
pid_t
|
pid_t
|
||||||
open_pipe_rw(FILE ** fr, FILE ** fw)
|
open_pipe_rw(FILE ** fr, FILE ** fw)
|
||||||
{
|
{
|
||||||
@@ -1421,6 +1430,7 @@ open_pipe_rw(FILE ** fr, FILE ** fw)
|
|||||||
err0:
|
err0:
|
||||||
return (pid_t) - 1;
|
return (pid_t) - 1;
|
||||||
}
|
}
|
||||||
|
#endif /* __MINGW32_VERSION */
|
||||||
|
|
||||||
void
|
void
|
||||||
myExec(char *command)
|
myExec(char *command)
|
||||||
@@ -1433,6 +1443,7 @@ myExec(char *command)
|
|||||||
void
|
void
|
||||||
mySystem(char *command, int background)
|
mySystem(char *command, int background)
|
||||||
{
|
{
|
||||||
|
#ifndef __MINGW32_VERSION
|
||||||
if (background) {
|
if (background) {
|
||||||
#ifndef __EMX__
|
#ifndef __EMX__
|
||||||
flush_tty();
|
flush_tty();
|
||||||
@@ -1447,6 +1458,7 @@ mySystem(char *command, int background)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
#endif /* __MINGW32_VERSION */
|
||||||
system(command);
|
system(command);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1516,6 +1528,13 @@ myEditor(char *cmd, char *file, int line)
|
|||||||
return tmp;
|
return tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef __MINGW32_VERSION
|
||||||
|
char *
|
||||||
|
expandName(char *name)
|
||||||
|
{
|
||||||
|
return getenv("HOME");
|
||||||
|
}
|
||||||
|
#else
|
||||||
char *
|
char *
|
||||||
expandName(char *name)
|
expandName(char *name)
|
||||||
{
|
{
|
||||||
@@ -1559,6 +1578,7 @@ expandName(char *name)
|
|||||||
rest:
|
rest:
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
char *
|
char *
|
||||||
file_to_url(char *file)
|
file_to_url(char *file)
|
||||||
@@ -1898,7 +1918,11 @@ mymktime(char *timestr)
|
|||||||
#ifdef INET6
|
#ifdef INET6
|
||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
#endif /* INET6 */
|
#endif /* INET6 */
|
||||||
|
#ifndef __MINGW32_VERSION
|
||||||
#include <netdb.h>
|
#include <netdb.h>
|
||||||
|
#else
|
||||||
|
#include <winsock.h>
|
||||||
|
#endif
|
||||||
char *
|
char *
|
||||||
FQDN(char *host)
|
FQDN(char *host)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: file.c,v 1.238 2006/02/09 12:49:52 inu Exp $ */
|
/* $Id: file.c,v 1.239 2006/04/05 14:18:54 inu Exp $ */
|
||||||
#include "fm.h"
|
#include "fm.h"
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include "myctype.h"
|
#include "myctype.h"
|
||||||
@@ -50,7 +50,7 @@ static struct table_mode table_mode[MAX_TABLE];
|
|||||||
#ifdef USE_IMAGE
|
#ifdef USE_IMAGE
|
||||||
static ParsedURL *cur_baseURL = NULL;
|
static ParsedURL *cur_baseURL = NULL;
|
||||||
#ifdef USE_M17N
|
#ifdef USE_M17N
|
||||||
static char cur_document_charset;
|
static wc_ces cur_document_charset;
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -836,13 +836,15 @@ readHeader(URLFile *uf, Buffer *newBuf, int thru, ParsedURL *pu)
|
|||||||
}
|
}
|
||||||
if (pu && name->length > 0) {
|
if (pu && name->length > 0) {
|
||||||
int err;
|
int err;
|
||||||
if (flag & COO_SECURE)
|
if (show_cookie) {
|
||||||
disp_message_nsec("Received a secured cookie", FALSE, 1,
|
if (flag & COO_SECURE)
|
||||||
|
disp_message_nsec("Received a secured cookie", FALSE, 1,
|
||||||
TRUE, FALSE);
|
TRUE, FALSE);
|
||||||
else
|
else
|
||||||
disp_message_nsec(Sprintf("Received cookie: %s=%s",
|
disp_message_nsec(Sprintf("Received cookie: %s=%s",
|
||||||
name->ptr, value->ptr)->ptr,
|
name->ptr, value->ptr)->ptr,
|
||||||
FALSE, 1, TRUE, FALSE);
|
FALSE, 1, TRUE, FALSE);
|
||||||
|
}
|
||||||
err =
|
err =
|
||||||
add_cookie(pu, name, value, expires, domain, path, flag,
|
add_cookie(pu, name, value, expires, domain, path, flag,
|
||||||
comment, version, port, commentURL);
|
comment, version, port, commentURL);
|
||||||
@@ -874,10 +876,12 @@ readHeader(URLFile *uf, Buffer *newBuf, int thru, ParsedURL *pu)
|
|||||||
emsg =
|
emsg =
|
||||||
"This cookie was rejected to prevent security violation.";
|
"This cookie was rejected to prevent security violation.";
|
||||||
record_err_message(emsg);
|
record_err_message(emsg);
|
||||||
disp_message_nsec(emsg, FALSE, 1, TRUE, FALSE);
|
if (show_cookie)
|
||||||
|
disp_message_nsec(emsg, FALSE, 1, TRUE, FALSE);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
disp_message_nsec(Sprintf
|
if (show_cookie)
|
||||||
|
disp_message_nsec(Sprintf
|
||||||
("Accepting invalid cookie: %s=%s",
|
("Accepting invalid cookie: %s=%s",
|
||||||
name->ptr, value->ptr)->ptr, FALSE,
|
name->ptr, value->ptr)->ptr, FALSE,
|
||||||
1, TRUE, FALSE);
|
1, TRUE, FALSE);
|
||||||
@@ -1599,9 +1603,17 @@ getAuthCookie(struct http_auth *hauth, char *auth_header,
|
|||||||
getpassphrase(proxy ? "Proxy Password: " :
|
getpassphrase(proxy ? "Proxy Password: " :
|
||||||
"Password: "));
|
"Password: "));
|
||||||
#else
|
#else
|
||||||
|
#ifndef __MINGW32_VERSION
|
||||||
*pwd = Strnew_charp((char *)
|
*pwd = Strnew_charp((char *)
|
||||||
getpass(proxy ? "Proxy Password: " :
|
getpass(proxy ? "Proxy Password: " :
|
||||||
"Password: "));
|
"Password: "));
|
||||||
|
#else
|
||||||
|
term_raw();
|
||||||
|
*pwd = Strnew_charp((char *)
|
||||||
|
inputLine(proxy ? "Proxy Password: " :
|
||||||
|
"Password: ", NULL, IN_PASSWORD));
|
||||||
|
term_cbreak();
|
||||||
|
#endif /* __MINGW32_VERSION */
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -5281,6 +5293,17 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit)
|
|||||||
buf->hmarklist =
|
buf->hmarklist =
|
||||||
putHmarker(buf->hmarklist, currentLn(buf),
|
putHmarker(buf->hmarklist, currentLn(buf),
|
||||||
pos, hseq - 1);
|
pos, hseq - 1);
|
||||||
|
else if (hseq < 0) {
|
||||||
|
int h = -hseq - 1;
|
||||||
|
if (buf->hmarklist &&
|
||||||
|
h < buf->hmarklist->nmark &&
|
||||||
|
buf->hmarklist->marks[h].invalid) {
|
||||||
|
buf->hmarklist->marks[h].pos = pos;
|
||||||
|
buf->hmarklist->marks[h].line = currentLn(buf);
|
||||||
|
buf->hmarklist->marks[h].invalid = 0;
|
||||||
|
hseq = -hseq;
|
||||||
|
}
|
||||||
|
}
|
||||||
if (id && idFrame)
|
if (id && idFrame)
|
||||||
idFrame->body->nameList =
|
idFrame->body->nameList =
|
||||||
putAnchor(idFrame->body->nameList, id, NULL,
|
putAnchor(idFrame->body->nameList, id, NULL,
|
||||||
@@ -5300,8 +5323,12 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit)
|
|||||||
a_href->end.line = currentLn(buf);
|
a_href->end.line = currentLn(buf);
|
||||||
a_href->end.pos = pos;
|
a_href->end.pos = pos;
|
||||||
if (a_href->start.line == a_href->end.line &&
|
if (a_href->start.line == a_href->end.line &&
|
||||||
a_href->start.pos == a_href->end.pos)
|
a_href->start.pos == a_href->end.pos) {
|
||||||
|
if (buf->hmarklist &&
|
||||||
|
a_href->hseq < buf->hmarklist->nmark)
|
||||||
|
buf->hmarklist->marks[a_href->hseq].invalid = 1;
|
||||||
a_href->hseq = -1;
|
a_href->hseq = -1;
|
||||||
|
}
|
||||||
a_href = NULL;
|
a_href = NULL;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -7670,6 +7697,7 @@ _MoveFile(char *path1, char *path2)
|
|||||||
int
|
int
|
||||||
_doFileCopy(char *tmpf, char *defstr, int download)
|
_doFileCopy(char *tmpf, char *defstr, int download)
|
||||||
{
|
{
|
||||||
|
#ifndef __MINGW32_VERSION
|
||||||
Str msg;
|
Str msg;
|
||||||
Str filen;
|
Str filen;
|
||||||
char *p, *q = NULL;
|
char *p, *q = NULL;
|
||||||
@@ -7776,6 +7804,7 @@ _doFileCopy(char *tmpf, char *defstr, int download)
|
|||||||
if (PreserveTimestamp && !is_pipe && !stat(tmpf, &st))
|
if (PreserveTimestamp && !is_pipe && !stat(tmpf, &st))
|
||||||
setModtime(p, st.st_mtime);
|
setModtime(p, st.st_mtime);
|
||||||
}
|
}
|
||||||
|
#endif /* __MINGW32_VERSION */
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -7790,6 +7819,7 @@ doFileMove(char *tmpf, char *defstr)
|
|||||||
int
|
int
|
||||||
doFileSave(URLFile uf, char *defstr)
|
doFileSave(URLFile uf, char *defstr)
|
||||||
{
|
{
|
||||||
|
#ifndef __MINGW32_VERSION
|
||||||
Str msg;
|
Str msg;
|
||||||
Str filen;
|
Str filen;
|
||||||
char *p, *q;
|
char *p, *q;
|
||||||
@@ -7875,6 +7905,7 @@ doFileSave(URLFile uf, char *defstr)
|
|||||||
if (PreserveTimestamp && uf.modtime != -1)
|
if (PreserveTimestamp && uf.modtime != -1)
|
||||||
setModtime(p, uf.modtime);
|
setModtime(p, uf.modtime);
|
||||||
}
|
}
|
||||||
|
#endif /* __MINGW32_VERSION */
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -7945,6 +7976,7 @@ inputAnswer(char *prompt)
|
|||||||
static void
|
static void
|
||||||
uncompress_stream(URLFile *uf, char **src)
|
uncompress_stream(URLFile *uf, char **src)
|
||||||
{
|
{
|
||||||
|
#ifndef __MINGW32_VERSION
|
||||||
pid_t pid1;
|
pid_t pid1;
|
||||||
FILE *f1;
|
FILE *f1;
|
||||||
char *expand_cmd = GUNZIP_CMDNAME;
|
char *expand_cmd = GUNZIP_CMDNAME;
|
||||||
@@ -8028,6 +8060,7 @@ uncompress_stream(URLFile *uf, char **src)
|
|||||||
}
|
}
|
||||||
UFhalfclose(uf);
|
UFhalfclose(uf);
|
||||||
uf->stream = newFileStream(f1, (void (*)())fclose);
|
uf->stream = newFileStream(f1, (void (*)())fclose);
|
||||||
|
#endif /* __MINGW32_VERSION */
|
||||||
}
|
}
|
||||||
|
|
||||||
static FILE *
|
static FILE *
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: fm.h,v 1.127 2004/07/15 16:44:37 ukai Exp $ */
|
/* $Id: fm.h,v 1.128 2006/04/05 14:18:54 inu Exp $ */
|
||||||
/*
|
/*
|
||||||
* w3m: WWW wo Miru utility
|
* w3m: WWW wo Miru utility
|
||||||
*
|
*
|
||||||
@@ -336,6 +336,7 @@ typedef struct _Line {
|
|||||||
typedef struct {
|
typedef struct {
|
||||||
int line;
|
int line;
|
||||||
int pos;
|
int pos;
|
||||||
|
int invalid;
|
||||||
} BufferPoint;
|
} BufferPoint;
|
||||||
|
|
||||||
#ifdef USE_IMAGE
|
#ifdef USE_IMAGE
|
||||||
@@ -867,7 +868,6 @@ global int TabCols init(10);
|
|||||||
global DownloadList *FirstDL init(NULL);
|
global DownloadList *FirstDL init(NULL);
|
||||||
global DownloadList *LastDL init(NULL);
|
global DownloadList *LastDL init(NULL);
|
||||||
global int CurrentKey;
|
global int CurrentKey;
|
||||||
global char *CurrentKeyData;
|
|
||||||
global char *CurrentCmdData;
|
global char *CurrentCmdData;
|
||||||
|
|
||||||
extern char *w3m_version;
|
extern char *w3m_version;
|
||||||
@@ -1076,6 +1076,7 @@ global MouseAction mouse_action;
|
|||||||
#ifdef USE_COOKIE
|
#ifdef USE_COOKIE
|
||||||
global int default_use_cookie init(TRUE);
|
global int default_use_cookie init(TRUE);
|
||||||
global int use_cookie init(FALSE);
|
global int use_cookie init(FALSE);
|
||||||
|
global int show_cookie init(TRUE);
|
||||||
global int accept_cookie init(FALSE);
|
global int accept_cookie init(FALSE);
|
||||||
#define ACCEPT_BAD_COOKIE_DISCARD 0
|
#define ACCEPT_BAD_COOKIE_DISCARD 0
|
||||||
#define ACCEPT_BAD_COOKIE_ACCEPT 1
|
#define ACCEPT_BAD_COOKIE_ACCEPT 1
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
/* $Id: ftp.c,v 1.35 2004/04/16 18:47:19 ukai Exp $ */
|
/* $Id: ftp.c,v 1.36 2006/04/05 14:18:54 inu Exp $ */
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#ifndef __MINGW32_VERSION
|
||||||
#include <pwd.h>
|
#include <pwd.h>
|
||||||
|
#endif /* __MINGW32_VERSION */
|
||||||
#include <Str.h>
|
#include <Str.h>
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
#include <setjmp.h>
|
#include <setjmp.h>
|
||||||
@@ -14,10 +16,14 @@
|
|||||||
#include <malloc.h>
|
#include <malloc.h>
|
||||||
#endif /* DEBUG */
|
#endif /* DEBUG */
|
||||||
|
|
||||||
|
#ifndef __MINGW32_VERSION
|
||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
#include <netinet/in.h>
|
#include <netinet/in.h>
|
||||||
#include <netdb.h>
|
#include <netdb.h>
|
||||||
#include <arpa/inet.h>
|
#include <arpa/inet.h>
|
||||||
|
#else
|
||||||
|
#include <winsock.h>
|
||||||
|
#endif /* __MINGW32_VERSION */
|
||||||
|
|
||||||
typedef struct _FTP {
|
typedef struct _FTP {
|
||||||
char *host;
|
char *host;
|
||||||
@@ -371,7 +377,14 @@ openFTPStream(ParsedURL *pu, URLFile *uf)
|
|||||||
term_cbreak();
|
term_cbreak();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
#ifndef __MINGW32_VERSION
|
||||||
pwd = Strnew_charp((char *)getpass("Password: "));
|
pwd = Strnew_charp((char *)getpass("Password: "));
|
||||||
|
#else
|
||||||
|
term_raw();
|
||||||
|
pwd = Strnew_charp(inputLine("Password: ", NULL, IN_PASSWORD));
|
||||||
|
pwd = Str_conv_to_system(pwd);
|
||||||
|
term_cbreak();
|
||||||
|
#endif /* __MINGW32_VERSION */
|
||||||
}
|
}
|
||||||
add_auth_cookie_flag = TRUE;
|
add_auth_cookie_flag = TRUE;
|
||||||
}
|
}
|
||||||
@@ -380,8 +393,12 @@ openFTPStream(ParsedURL *pu, URLFile *uf)
|
|||||||
else if (ftppasswd != NULL && *ftppasswd != '\0')
|
else if (ftppasswd != NULL && *ftppasswd != '\0')
|
||||||
pass = ftppasswd;
|
pass = ftppasswd;
|
||||||
else {
|
else {
|
||||||
|
#ifndef __MINGW32_VERSION
|
||||||
struct passwd *mypw = getpwuid(getuid());
|
struct passwd *mypw = getpwuid(getuid());
|
||||||
tmp = Strnew_charp(mypw ? mypw->pw_name : "anonymous");
|
tmp = Strnew_charp(mypw ? mypw->pw_name : "anonymous");
|
||||||
|
#else
|
||||||
|
tmp = Strnew_charp("anonymous");
|
||||||
|
#endif __MINGW32_VERSION
|
||||||
Strcat_char(tmp, '@');
|
Strcat_char(tmp, '@');
|
||||||
pass = tmp->ptr;
|
pass = tmp->ptr;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
/* $Id: indep.c,v 1.35 2004/04/09 17:18:49 ukai Exp $ */
|
/* $Id: indep.c,v 1.36 2006/04/05 14:18:54 inu Exp $ */
|
||||||
#include "fm.h"
|
#include "fm.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#ifndef __MINGW32_VERSION
|
||||||
#include <pwd.h>
|
#include <pwd.h>
|
||||||
|
#endif /* __MINGW32_VERSION */
|
||||||
#include <sys/param.h>
|
#include <sys/param.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
@@ -225,6 +227,7 @@ expandPath(char *name)
|
|||||||
p = name;
|
p = name;
|
||||||
if (*p == '~') {
|
if (*p == '~') {
|
||||||
p++;
|
p++;
|
||||||
|
#ifndef __MINGW32_VERSION
|
||||||
if (IS_ALPHA(*p)) {
|
if (IS_ALPHA(*p)) {
|
||||||
char *q = strchr(p, '/');
|
char *q = strchr(p, '/');
|
||||||
if (q) { /* ~user/dir... */
|
if (q) { /* ~user/dir... */
|
||||||
@@ -238,8 +241,9 @@ expandPath(char *name)
|
|||||||
if (!passent)
|
if (!passent)
|
||||||
goto rest;
|
goto rest;
|
||||||
extpath = Strnew_charp(passent->pw_dir);
|
extpath = Strnew_charp(passent->pw_dir);
|
||||||
}
|
} else
|
||||||
else if (*p == '/' || *p == '\0') { /* ~/dir... or ~ */
|
#endif /* __MINGW32_VERSION */
|
||||||
|
if (*p == '/' || *p == '\0') { /* ~/dir... or ~ */
|
||||||
extpath = Strnew_charp(getenv("HOME"));
|
extpath = Strnew_charp(getenv("HOME"));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: istream.c,v 1.23 2003/10/20 16:41:56 ukai Exp $ */
|
/* $Id: istream.c,v 1.24 2006/04/05 14:18:54 inu Exp $ */
|
||||||
#include "fm.h"
|
#include "fm.h"
|
||||||
#include "myctype.h"
|
#include "myctype.h"
|
||||||
#include "istream.h"
|
#include "istream.h"
|
||||||
@@ -6,6 +6,9 @@
|
|||||||
#ifdef USE_SSL
|
#ifdef USE_SSL
|
||||||
#include <openssl/x509v3.h>
|
#include <openssl/x509v3.h>
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef __MINGW32_VERSION
|
||||||
|
#include <winsock.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#define uchar unsigned char
|
#define uchar unsigned char
|
||||||
|
|
||||||
@@ -617,13 +620,21 @@ ssl_get_certificate(SSL * ssl, char *hostname)
|
|||||||
static void
|
static void
|
||||||
basic_close(int *handle)
|
basic_close(int *handle)
|
||||||
{
|
{
|
||||||
|
#ifdef __MINGW32_VERSION
|
||||||
|
closesocket(*(int *)handle);
|
||||||
|
#else
|
||||||
close(*(int *)handle);
|
close(*(int *)handle);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
basic_read(int *handle, char *buf, int len)
|
basic_read(int *handle, char *buf, int len)
|
||||||
{
|
{
|
||||||
|
#ifdef __MINGW32_VERSION
|
||||||
|
return recv(*(int *)handle, buf, len, 0);
|
||||||
|
#else
|
||||||
return read(*(int *)handle, buf, len);
|
return read(*(int *)handle, buf, len);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|||||||
+1
-1
@@ -99,7 +99,7 @@ wc_auto_detect(char *is, size_t len, wc_ces hint)
|
|||||||
for (; p < ep && ! WC_DETECT_MAP[*p]; p++)
|
for (; p < ep && ! WC_DETECT_MAP[*p]; p++)
|
||||||
;
|
;
|
||||||
if (p == ep)
|
if (p == ep)
|
||||||
return WC_CES_US_ASCII;
|
return hint;
|
||||||
|
|
||||||
switch (hint) {
|
switch (hint) {
|
||||||
case WC_CES_ISO_2022_JP:
|
case WC_CES_ISO_2022_JP:
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: local.c,v 1.31 2003/09/26 17:59:51 ukai Exp $ */
|
/* $Id: local.c,v 1.32 2006/04/05 14:18:54 inu Exp $ */
|
||||||
#include "fm.h"
|
#include "fm.h"
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@@ -16,6 +16,10 @@
|
|||||||
#include "local.h"
|
#include "local.h"
|
||||||
#include "hash.h"
|
#include "hash.h"
|
||||||
|
|
||||||
|
#ifdef __MINGW32_VERSION
|
||||||
|
#include <winsock.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#define CGIFN_NORMAL 0
|
#define CGIFN_NORMAL 0
|
||||||
#define CGIFN_LIBDIR 1
|
#define CGIFN_LIBDIR 1
|
||||||
#define CGIFN_CGIBIN 2
|
#define CGIFN_CGIBIN 2
|
||||||
@@ -193,8 +197,10 @@ check_local_cgi(char *file, int status)
|
|||||||
return -1;
|
return -1;
|
||||||
if (S_ISDIR(st.st_mode))
|
if (S_ISDIR(st.st_mode))
|
||||||
return -1;
|
return -1;
|
||||||
|
#ifndef __MINGW32_VERSION
|
||||||
if ((st.st_uid == geteuid() && (st.st_mode & S_IXUSR)) || (st.st_gid == getegid() && (st.st_mode & S_IXGRP)) || (st.st_mode & S_IXOTH)) /* executable */
|
if ((st.st_uid == geteuid() && (st.st_mode & S_IXUSR)) || (st.st_gid == getegid() && (st.st_mode & S_IXGRP)) || (st.st_mode & S_IXOTH)) /* executable */
|
||||||
return 0;
|
return 0;
|
||||||
|
#endif
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -353,6 +359,9 @@ localcgi_post(char *uri, char *qstr, FormList *request, char *referer)
|
|||||||
pid_t pid;
|
pid_t pid;
|
||||||
char *file = uri, *name = uri, *path_info = NULL, *tmpf = NULL;
|
char *file = uri, *name = uri, *path_info = NULL, *tmpf = NULL;
|
||||||
|
|
||||||
|
#ifdef __MINGW32_VERSION
|
||||||
|
return NULL;
|
||||||
|
#else
|
||||||
status = cgi_filename(uri, &file, &name, &path_info);
|
status = cgi_filename(uri, &file, &name, &path_info);
|
||||||
if (check_local_cgi(file, status) < 0)
|
if (check_local_cgi(file, status) < 0)
|
||||||
return NULL;
|
return NULL;
|
||||||
@@ -412,4 +421,5 @@ localcgi_post(char *uri, char *qstr, FormList *request, char *referer)
|
|||||||
file, mybasename(file), strerror(errno));
|
file, mybasename(file), strerror(errno));
|
||||||
exit(1);
|
exit(1);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: main.c,v 1.247 2005/02/26 17:06:44 ukai Exp $ */
|
/* $Id: main.c,v 1.248 2006/04/05 14:18:54 inu Exp $ */
|
||||||
#define MAINPROGRAM
|
#define MAINPROGRAM
|
||||||
#include "fm.h"
|
#include "fm.h"
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
@@ -14,6 +14,13 @@
|
|||||||
#include "terms.h"
|
#include "terms.h"
|
||||||
#include "myctype.h"
|
#include "myctype.h"
|
||||||
#include "regex.h"
|
#include "regex.h"
|
||||||
|
|
||||||
|
#ifdef USE_REMOTE
|
||||||
|
#include <sys/socket.h>
|
||||||
|
#include <sys/un.h>
|
||||||
|
#include <dirent.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef USE_MOUSE
|
#ifdef USE_MOUSE
|
||||||
#ifdef USE_GPM
|
#ifdef USE_GPM
|
||||||
#include <gpm.h>
|
#include <gpm.h>
|
||||||
@@ -24,6 +31,12 @@ extern int do_getch();
|
|||||||
#endif /* defined(USE_GPM) || defined(USE_SYSMOUSE) */
|
#endif /* defined(USE_GPM) || defined(USE_SYSMOUSE) */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef __MINGW32_VERSION
|
||||||
|
#include <winsock.h>
|
||||||
|
|
||||||
|
WSADATA WSAData;
|
||||||
|
#endif
|
||||||
|
|
||||||
#define DSTR_LEN 256
|
#define DSTR_LEN 256
|
||||||
|
|
||||||
Hist *LoadHist;
|
Hist *LoadHist;
|
||||||
@@ -65,7 +78,11 @@ static char *MarkString = NULL;
|
|||||||
static char *SearchString = NULL;
|
static char *SearchString = NULL;
|
||||||
int (*searchRoutine) (Buffer *, char *);
|
int (*searchRoutine) (Buffer *, char *);
|
||||||
|
|
||||||
|
#ifndef __MINGW32_VERSION
|
||||||
JMP_BUF IntReturn;
|
JMP_BUF IntReturn;
|
||||||
|
#else
|
||||||
|
_JBTYPE IntReturn[_JBLEN];
|
||||||
|
#endif /* __MINGW32_VERSION */
|
||||||
|
|
||||||
static void delBuffer(Buffer *buf);
|
static void delBuffer(Buffer *buf);
|
||||||
static void cmd_loadfile(char *path);
|
static void cmd_loadfile(char *path);
|
||||||
@@ -104,6 +121,19 @@ static int searchKeyNum(void);
|
|||||||
#define help() fusage(stdout, 0)
|
#define help() fusage(stdout, 0)
|
||||||
#define usage() fusage(stderr, 1)
|
#define usage() fusage(stderr, 1)
|
||||||
|
|
||||||
|
#ifdef USE_REMOTE
|
||||||
|
static int open_remote(int id);
|
||||||
|
static void execute_remote(int sock, char *arg);
|
||||||
|
static Str find_sock(int pid);
|
||||||
|
static int init_serv(void);
|
||||||
|
static int init_remote(char *prefix);
|
||||||
|
static void parse_sock_data(void);
|
||||||
|
static Str SockName;
|
||||||
|
static int SockFd = -1, UseRemote = FALSE, ExecuteRemote = FALSE, RemoteId = -1;
|
||||||
|
struct sockaddr_un SockAddr;
|
||||||
|
socklen_t SockLength;
|
||||||
|
#endif
|
||||||
|
|
||||||
static void
|
static void
|
||||||
fversion(FILE * f)
|
fversion(FILE * f)
|
||||||
{
|
{
|
||||||
@@ -134,6 +164,9 @@ fversion(FILE * f)
|
|||||||
",sysmouse"
|
",sysmouse"
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef USE_REMOTE
|
||||||
|
",remote"
|
||||||
|
#endif
|
||||||
#ifdef USE_MENU
|
#ifdef USE_MENU
|
||||||
",menu"
|
",menu"
|
||||||
#endif
|
#endif
|
||||||
@@ -229,6 +262,11 @@ fusage(FILE * f, int err)
|
|||||||
#ifdef USE_MOUSE
|
#ifdef USE_MOUSE
|
||||||
fprintf(f, " -no-mouse don't use mouse\n");
|
fprintf(f, " -no-mouse don't use mouse\n");
|
||||||
#endif /* USE_MOUSE */
|
#endif /* USE_MOUSE */
|
||||||
|
#ifdef USE_REMOTE
|
||||||
|
fprintf(f, " -enable_remote accept remote operation\n");
|
||||||
|
fprintf(f, " -remote command execute command in an already running w3m process\n");
|
||||||
|
fprintf(f, " -remote_id pid select a w3m to control with -remote option\n");
|
||||||
|
#endif /* USE_MOUSE */
|
||||||
#ifdef USE_COOKIE
|
#ifdef USE_COOKIE
|
||||||
fprintf(f,
|
fprintf(f,
|
||||||
" -cookie use cookie (-no-cookie: don't use cookie)\n");
|
" -cookie use cookie (-no-cookie: don't use cookie)\n");
|
||||||
@@ -727,6 +765,33 @@ main(int argc, char **argv, char **envp)
|
|||||||
else if (!strcmp("-dummy", argv[i])) {
|
else if (!strcmp("-dummy", argv[i])) {
|
||||||
/* do nothing */
|
/* do nothing */
|
||||||
}
|
}
|
||||||
|
#ifdef USE_REMOTE
|
||||||
|
else if (!strcmp("-enable_remote", argv[i])) {
|
||||||
|
UseRemote = TRUE;
|
||||||
|
}
|
||||||
|
else if (!strcmp("-remote_id", argv[i])) {
|
||||||
|
if (++i >= argc)
|
||||||
|
usage();
|
||||||
|
RemoteId = atoi(argv[i]);
|
||||||
|
}
|
||||||
|
else if (!strcmp("-remote", argv[i])) {
|
||||||
|
ExecuteRemote = TRUE;
|
||||||
|
|
||||||
|
SockFd = open_remote(RemoteId);
|
||||||
|
if (SockFd < 0) {
|
||||||
|
fprintf(stderr, "Can't find w3m process.\n");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
while (++i < argc) {
|
||||||
|
if ((*argv[i] == '+') || (*argv[i] == '-')) {
|
||||||
|
i--;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
execute_remote(SockFd, argv[i]);
|
||||||
|
}
|
||||||
|
close(SockFd);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
else if (!strcmp("-debug", argv[i]))
|
else if (!strcmp("-debug", argv[i]))
|
||||||
w3m_debug = TRUE;
|
w3m_debug = TRUE;
|
||||||
else {
|
else {
|
||||||
@@ -741,13 +806,34 @@ main(int argc, char **argv, char **envp)
|
|||||||
}
|
}
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
|
#ifdef USE_REMOTE
|
||||||
|
if (ExecuteRemote) {
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
#ifdef __WATT32__
|
#ifdef __WATT32__
|
||||||
if (w3m_debug)
|
if (w3m_debug)
|
||||||
dbug_init();
|
dbug_init();
|
||||||
sock_init();
|
sock_init();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef __MINGW32_VERSION
|
||||||
|
{
|
||||||
|
int err;
|
||||||
|
WORD wVerReq;
|
||||||
|
|
||||||
|
wVerReq = MAKEWORD(1, 1);
|
||||||
|
|
||||||
|
err = WSAStartup(wVerReq, &WSAData);
|
||||||
|
if (err != 0)
|
||||||
|
{
|
||||||
|
fprintf(stderr, "Can't find winsock\n");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
_fmode = _O_BINARY;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
FirstTab = NULL;
|
FirstTab = NULL;
|
||||||
LastTab = NULL;
|
LastTab = NULL;
|
||||||
nTab = 0;
|
nTab = 0;
|
||||||
@@ -1028,6 +1114,13 @@ main(int argc, char **argv, char **envp)
|
|||||||
if (line_str) {
|
if (line_str) {
|
||||||
_goLine(line_str);
|
_goLine(line_str);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef USE_REMOTE
|
||||||
|
if (UseRemote) {
|
||||||
|
init_serv();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
for (;;) {
|
for (;;) {
|
||||||
if (add_download_list) {
|
if (add_download_list) {
|
||||||
add_download_list = FALSE;
|
add_download_list = FALSE;
|
||||||
@@ -1044,7 +1137,6 @@ main(int argc, char **argv, char **envp)
|
|||||||
/* event processing */
|
/* event processing */
|
||||||
if (CurrentEvent) {
|
if (CurrentEvent) {
|
||||||
CurrentKey = -1;
|
CurrentKey = -1;
|
||||||
CurrentKeyData = NULL;
|
|
||||||
CurrentCmdData = (char *)CurrentEvent->data;
|
CurrentCmdData = (char *)CurrentEvent->data;
|
||||||
w3mFuncList[CurrentEvent->cmd].func();
|
w3mFuncList[CurrentEvent->cmd].func();
|
||||||
CurrentCmdData = NULL;
|
CurrentCmdData = NULL;
|
||||||
@@ -1059,7 +1151,6 @@ main(int argc, char **argv, char **envp)
|
|||||||
if (CurrentAlarm->sec == 0) { /* refresh (0sec) */
|
if (CurrentAlarm->sec == 0) { /* refresh (0sec) */
|
||||||
Currentbuf->event = NULL;
|
Currentbuf->event = NULL;
|
||||||
CurrentKey = -1;
|
CurrentKey = -1;
|
||||||
CurrentKeyData = NULL;
|
|
||||||
CurrentCmdData = (char *)CurrentAlarm->data;
|
CurrentCmdData = (char *)CurrentAlarm->data;
|
||||||
w3mFuncList[CurrentAlarm->cmd].func();
|
w3mFuncList[CurrentAlarm->cmd].func();
|
||||||
CurrentCmdData = NULL;
|
CurrentCmdData = NULL;
|
||||||
@@ -1098,7 +1189,20 @@ main(int argc, char **argv, char **envp)
|
|||||||
} while (sleep_till_anykey(1, 0) <= 0);
|
} while (sleep_till_anykey(1, 0) <= 0);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef USE_REMOTE
|
||||||
|
if (UseRemote) {
|
||||||
|
int n;
|
||||||
|
c = getch_select(SockFd, &n);
|
||||||
|
if (n == 1) {
|
||||||
|
parse_sock_data();
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
c = getch();
|
||||||
|
}
|
||||||
|
#else
|
||||||
c = getch();
|
c = getch();
|
||||||
|
#endif
|
||||||
#ifdef SIGWINCH
|
#ifdef SIGWINCH
|
||||||
mySignal(SIGWINCH, resize_hook);
|
mySignal(SIGWINCH, resize_hook);
|
||||||
#endif
|
#endif
|
||||||
@@ -1126,10 +1230,240 @@ main(int argc, char **argv, char **envp)
|
|||||||
}
|
}
|
||||||
prev_key = CurrentKey;
|
prev_key = CurrentKey;
|
||||||
CurrentKey = -1;
|
CurrentKey = -1;
|
||||||
CurrentKeyData = NULL;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef USE_REMOTE
|
||||||
|
#ifndef HAVE_GETPEEREID
|
||||||
|
#ifdef HAVE_SO_PEERCRED
|
||||||
|
int
|
||||||
|
getpeereid(int s, uid_t *euid, gid_t *egid)
|
||||||
|
{
|
||||||
|
struct ucred cr;
|
||||||
|
int cl = sizeof(cr), r;
|
||||||
|
|
||||||
|
r = getsockopt(s, SOL_SOCKET, SO_PEERCRED, &cr, &cl);
|
||||||
|
if (r)
|
||||||
|
return r;
|
||||||
|
|
||||||
|
*euid = cr.uid;
|
||||||
|
*egid = cr.gid;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
#endif /* HAVE_SO_PEERCRED */
|
||||||
|
#endif /* ! HAVE_GETPEEREID */
|
||||||
|
|
||||||
|
static int
|
||||||
|
open_remote(int id)
|
||||||
|
{
|
||||||
|
#if defined(HAVE_SO_PEERCRED) || defined(HAVE_GETPEEREID)
|
||||||
|
uid_t euid;
|
||||||
|
gid_t egid;
|
||||||
|
#endif
|
||||||
|
Str sock_name = find_sock(id);
|
||||||
|
|
||||||
|
if (! sock_name)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
if (sizeof(SockAddr.sun_path) <= sock_name->length)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
if (init_remote("w3mclis"))
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
SockAddr.sun_family = AF_UNIX;
|
||||||
|
strcpy(SockAddr.sun_path, sock_name->ptr);
|
||||||
|
SockLength = sizeof(SockAddr.sun_family) + strlen(SockAddr.sun_path);
|
||||||
|
|
||||||
|
if (connect(SockFd, (struct sockaddr *) &SockAddr, SockLength)) {
|
||||||
|
close(SockFd);
|
||||||
|
unlink(SockName->ptr);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
#if defined(HAVE_SO_PEERCRED) || defined(HAVE_GETPEEREID)
|
||||||
|
if (getpeereid(SockFd, &euid, &egid) != 0 || euid != getuid()) {
|
||||||
|
close(SockFd);
|
||||||
|
unlink(SockName->ptr);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
return SockFd;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
execute_remote(int sock, char *arg)
|
||||||
|
{
|
||||||
|
write(sock, arg, strlen(arg));
|
||||||
|
write(sock, "\n", 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
static Str
|
||||||
|
find_sock(int pid)
|
||||||
|
{
|
||||||
|
DIR *dot_w3m;
|
||||||
|
Str sock_name;
|
||||||
|
struct dirent *file = NULL;
|
||||||
|
struct stat sbuf;
|
||||||
|
|
||||||
|
if (pid > 0) {
|
||||||
|
sock_name = Sprintf("w3msock%d", pid);
|
||||||
|
} else {
|
||||||
|
sock_name = Strnew_charp("w3msock");
|
||||||
|
}
|
||||||
|
|
||||||
|
dot_w3m = opendir(rc_dir);
|
||||||
|
if (! dot_w3m)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
while ((file = readdir(dot_w3m))) {
|
||||||
|
if ((pid > 0 && (Strcmp_charp(sock_name, file->d_name) == 0)) ||
|
||||||
|
(pid <= 0 && Strncmp_charp(sock_name, file->d_name, sock_name->length) == 0)) {
|
||||||
|
sock_name = Sprintf("%s/%s", rc_dir, file->d_name);
|
||||||
|
if ((stat(sock_name->ptr, &sbuf) == 0) &&
|
||||||
|
(sbuf.st_mode & S_IFSOCK) &&
|
||||||
|
!(sbuf.st_mode & (S_IRWXO | S_IRWXG)) &&
|
||||||
|
(sbuf.st_uid == getuid()))
|
||||||
|
goto SockFound;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
closedir(dot_w3m);
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
SockFound:
|
||||||
|
closedir(dot_w3m);
|
||||||
|
return sock_name;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
init_serv(void)
|
||||||
|
{
|
||||||
|
if (init_remote("w3msock")) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (listen(SockFd, 5)) {
|
||||||
|
unlink(SockName->ptr);
|
||||||
|
close(SockFd);
|
||||||
|
SockFd = -1;
|
||||||
|
UseRemote = FALSE;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
fcntl(SockFd, F_SETFL, O_NONBLOCK);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static int
|
||||||
|
init_remote(char *prefix)
|
||||||
|
{
|
||||||
|
SockName = Sprintf("%s/%s%d", rc_dir, prefix, CurrentPid);
|
||||||
|
if (sizeof(SockAddr.sun_path) <= SockName->length)
|
||||||
|
goto SockErr;
|
||||||
|
|
||||||
|
SockAddr.sun_family = AF_UNIX;
|
||||||
|
strcpy(SockAddr.sun_path, SockName->ptr);
|
||||||
|
SockLength = sizeof(SockAddr.sun_family) + strlen(SockAddr.sun_path);
|
||||||
|
|
||||||
|
if ((SockFd = socket(PF_UNIX, SOCK_STREAM, 0)) < 0)
|
||||||
|
goto SockErr;
|
||||||
|
|
||||||
|
unlink(SockName->ptr);
|
||||||
|
if (bind(SockFd, (struct sockaddr *) &SockAddr, SockLength))
|
||||||
|
goto SockErr;
|
||||||
|
|
||||||
|
chmod(SockName->ptr, S_IRUSR | S_IWUSR);
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
SockErr:
|
||||||
|
unlink(SockName->ptr);
|
||||||
|
if (SockFd >= 0) {
|
||||||
|
close(SockFd);
|
||||||
|
}
|
||||||
|
SockFd = -1;
|
||||||
|
UseRemote = FALSE;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
parse_sock_data(void)
|
||||||
|
{
|
||||||
|
Str data = NULL;
|
||||||
|
char buf[64];
|
||||||
|
char *p, *q, *s;
|
||||||
|
int l, f, conn;
|
||||||
|
struct sockaddr_un sock_addr = SockAddr;
|
||||||
|
socklen_t sock_length = SockLength;
|
||||||
|
#if defined(HAVE_SO_PEERCRED) || defined(HAVE_GETPEEREID)
|
||||||
|
uid_t euid;
|
||||||
|
gid_t egid;
|
||||||
|
#else
|
||||||
|
struct stat sbuf;
|
||||||
|
time_t staletime;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (!UseRemote || SockFd < 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!data)
|
||||||
|
data = Strnew();
|
||||||
|
|
||||||
|
conn = accept(SockFd, (struct sockaddr *) &sock_addr, &sock_length);
|
||||||
|
|
||||||
|
if (conn < 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
|
||||||
|
sock_length -= sizeof(sock_addr.sun_family);
|
||||||
|
sock_addr.sun_path[sock_length] = '\0';
|
||||||
|
#if defined(HAVE_SO_PEERCRED) || defined(HAVE_GETPEEREID)
|
||||||
|
if (getpeereid(conn, &euid, &egid) != 0 || euid != getuid()) {
|
||||||
|
#else
|
||||||
|
#define STALE_LIMIT 60
|
||||||
|
staletime = time(NULL) - STALE_LIMIT;
|
||||||
|
if ((stat(sock_addr.sun_path, &sbuf) < 0) ||
|
||||||
|
!(sbuf.st_mode & S_IFSOCK) ||
|
||||||
|
(sbuf.st_mode & (S_IRWXO | S_IRWXG)) ||
|
||||||
|
(sbuf.st_uid != getuid()) ||
|
||||||
|
(sbuf.st_atime < staletime) ||
|
||||||
|
(sbuf.st_ctime < staletime) ||
|
||||||
|
(sbuf.st_mtime < staletime)) {
|
||||||
|
#endif
|
||||||
|
close(conn);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
unlink(sock_addr.sun_path);
|
||||||
|
while ((l = read(conn, buf, sizeof(buf))) > 0) {
|
||||||
|
Strcat_charp_n(data, buf, l);
|
||||||
|
}
|
||||||
|
close(conn);
|
||||||
|
|
||||||
|
p = data->ptr;
|
||||||
|
|
||||||
|
while ((q = strchr(p, '\n'))) {
|
||||||
|
Str funcname = Strnew();
|
||||||
|
Str cmd = Strnew_charp_n(p, q - p);
|
||||||
|
|
||||||
|
s = cmd->ptr;
|
||||||
|
SKIP_BLANKS(s);
|
||||||
|
while (*s && !IS_SPACE(*s))
|
||||||
|
Strcat_char(funcname, *(s++));
|
||||||
|
|
||||||
|
SKIP_BLANKS(s);
|
||||||
|
f = getFuncList(funcname->ptr);
|
||||||
|
if (f >= 0) {
|
||||||
|
Str tmp = Strnew_charp(s);
|
||||||
|
Strchop(tmp);
|
||||||
|
pushEvent(f, tmp->ptr);
|
||||||
|
}
|
||||||
|
p = q + 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif /* USE_REMOTE */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
keyPressEventProc(int c)
|
keyPressEventProc(int c)
|
||||||
{
|
{
|
||||||
@@ -1908,7 +2242,6 @@ DEFUN(setEnv, SETENV, "Set environment variable")
|
|||||||
char *env;
|
char *env;
|
||||||
char *var, *value;
|
char *var, *value;
|
||||||
|
|
||||||
CurrentKeyData = NULL; /* not allowed in w3m-control: */
|
|
||||||
env = searchKeyData();
|
env = searchKeyData();
|
||||||
if (env == NULL || *env == '\0' || strchr(env, '=') == NULL) {
|
if (env == NULL || *env == '\0' || strchr(env, '=') == NULL) {
|
||||||
if (env != NULL && *env != '\0')
|
if (env != NULL && *env != '\0')
|
||||||
@@ -1933,7 +2266,6 @@ DEFUN(pipeBuf, PIPE_BUF, "Send rendered document to pipe")
|
|||||||
char *cmd, *tmpf;
|
char *cmd, *tmpf;
|
||||||
FILE *f;
|
FILE *f;
|
||||||
|
|
||||||
CurrentKeyData = NULL; /* not allowed in w3m-control: */
|
|
||||||
cmd = searchKeyData();
|
cmd = searchKeyData();
|
||||||
if (cmd == NULL || *cmd == '\0') {
|
if (cmd == NULL || *cmd == '\0') {
|
||||||
/* FIXME: gettextize? */
|
/* FIXME: gettextize? */
|
||||||
@@ -1978,7 +2310,6 @@ DEFUN(pipesh, PIPE_SHELL, "Execute shell command and browse")
|
|||||||
Buffer *buf;
|
Buffer *buf;
|
||||||
char *cmd;
|
char *cmd;
|
||||||
|
|
||||||
CurrentKeyData = NULL; /* not allowed in w3m-control: */
|
|
||||||
cmd = searchKeyData();
|
cmd = searchKeyData();
|
||||||
if (cmd == NULL || *cmd == '\0') {
|
if (cmd == NULL || *cmd == '\0') {
|
||||||
cmd = inputLineHist("(read shell[pipe])!", "", IN_COMMAND, ShellHist);
|
cmd = inputLineHist("(read shell[pipe])!", "", IN_COMMAND, ShellHist);
|
||||||
@@ -2010,7 +2341,6 @@ DEFUN(readsh, READ_SHELL, "Execute shell command and load")
|
|||||||
MySignalHandler(*prevtrap) ();
|
MySignalHandler(*prevtrap) ();
|
||||||
char *cmd;
|
char *cmd;
|
||||||
|
|
||||||
CurrentKeyData = NULL; /* not allowed in w3m-control: */
|
|
||||||
cmd = searchKeyData();
|
cmd = searchKeyData();
|
||||||
if (cmd == NULL || *cmd == '\0') {
|
if (cmd == NULL || *cmd == '\0') {
|
||||||
cmd = inputLineHist("(read shell)!", "", IN_COMMAND, ShellHist);
|
cmd = inputLineHist("(read shell)!", "", IN_COMMAND, ShellHist);
|
||||||
@@ -2045,7 +2375,6 @@ DEFUN(execsh, EXEC_SHELL SHELL, "Execute shell command")
|
|||||||
{
|
{
|
||||||
char *cmd;
|
char *cmd;
|
||||||
|
|
||||||
CurrentKeyData = NULL; /* not allowed in w3m-control: */
|
|
||||||
cmd = searchKeyData();
|
cmd = searchKeyData();
|
||||||
if (cmd == NULL || *cmd == '\0') {
|
if (cmd == NULL || *cmd == '\0') {
|
||||||
cmd = inputLineHist("(exec shell)!", "", IN_COMMAND, ShellHist);
|
cmd = inputLineHist("(exec shell)!", "", IN_COMMAND, ShellHist);
|
||||||
@@ -4149,7 +4478,6 @@ DEFUN(setOpt, SET_OPTION, "Set option")
|
|||||||
{
|
{
|
||||||
char *opt;
|
char *opt;
|
||||||
|
|
||||||
CurrentKeyData = NULL; /* not allowed in w3m-control: */
|
|
||||||
opt = searchKeyData();
|
opt = searchKeyData();
|
||||||
if (opt == NULL || *opt == '\0' || strchr(opt, '=') == NULL) {
|
if (opt == NULL || *opt == '\0' || strchr(opt, '=') == NULL) {
|
||||||
if (opt != NULL && *opt != '\0') {
|
if (opt != NULL && *opt != '\0') {
|
||||||
@@ -4335,7 +4663,6 @@ DEFUN(ldHist, HISTORY, "View history of URL")
|
|||||||
/* download HREF link */
|
/* download HREF link */
|
||||||
DEFUN(svA, SAVE_LINK, "Save link to file")
|
DEFUN(svA, SAVE_LINK, "Save link to file")
|
||||||
{
|
{
|
||||||
CurrentKeyData = NULL; /* not allowed in w3m-control: */
|
|
||||||
do_download = TRUE;
|
do_download = TRUE;
|
||||||
followA();
|
followA();
|
||||||
do_download = FALSE;
|
do_download = FALSE;
|
||||||
@@ -4344,7 +4671,6 @@ DEFUN(svA, SAVE_LINK, "Save link to file")
|
|||||||
/* download IMG link */
|
/* download IMG link */
|
||||||
DEFUN(svI, SAVE_IMAGE, "Save image to file")
|
DEFUN(svI, SAVE_IMAGE, "Save image to file")
|
||||||
{
|
{
|
||||||
CurrentKeyData = NULL; /* not allowed in w3m-control: */
|
|
||||||
do_download = TRUE;
|
do_download = TRUE;
|
||||||
followI();
|
followI();
|
||||||
do_download = FALSE;
|
do_download = FALSE;
|
||||||
@@ -4357,7 +4683,6 @@ DEFUN(svBuf, PRINT SAVE_SCREEN, "Save rendered document to file")
|
|||||||
FILE *f;
|
FILE *f;
|
||||||
int is_pipe;
|
int is_pipe;
|
||||||
|
|
||||||
CurrentKeyData = NULL; /* not allowed in w3m-control: */
|
|
||||||
file = searchKeyData();
|
file = searchKeyData();
|
||||||
if (file == NULL || *file == '\0') {
|
if (file == NULL || *file == '\0') {
|
||||||
/* FIXME: gettextize? */
|
/* FIXME: gettextize? */
|
||||||
@@ -4406,7 +4731,6 @@ DEFUN(svSrc, DOWNLOAD SAVE, "Save document source to file")
|
|||||||
|
|
||||||
if (Currentbuf->sourcefile == NULL)
|
if (Currentbuf->sourcefile == NULL)
|
||||||
return;
|
return;
|
||||||
CurrentKeyData = NULL; /* not allowed in w3m-control: */
|
|
||||||
PermitSaveToPipe = TRUE;
|
PermitSaveToPipe = TRUE;
|
||||||
if (Currentbuf->real_scheme == SCM_LOCAL)
|
if (Currentbuf->real_scheme == SCM_LOCAL)
|
||||||
file = conv_from_system(guess_save_name(NULL,
|
file = conv_from_system(guess_save_name(NULL,
|
||||||
@@ -4943,7 +5267,6 @@ invoke_browser(char *url)
|
|||||||
char *browser = NULL;
|
char *browser = NULL;
|
||||||
int bg = 0, len;
|
int bg = 0, len;
|
||||||
|
|
||||||
CurrentKeyData = NULL; /* not allowed in w3m-control: */
|
|
||||||
browser = searchKeyData();
|
browser = searchKeyData();
|
||||||
if (browser == NULL || *browser == '\0') {
|
if (browser == NULL || *browser == '\0') {
|
||||||
switch (prec_num) {
|
switch (prec_num) {
|
||||||
@@ -5184,7 +5507,6 @@ do_mouse_action(int btn, int x, int y)
|
|||||||
mouse_action.cursorX = x;
|
mouse_action.cursorX = x;
|
||||||
mouse_action.cursorY = y;
|
mouse_action.cursorY = y;
|
||||||
CurrentKey = -1;
|
CurrentKey = -1;
|
||||||
CurrentKeyData = NULL;
|
|
||||||
CurrentCmdData = map->data;
|
CurrentCmdData = map->data;
|
||||||
(*map->func) ();
|
(*map->func) ();
|
||||||
CurrentCmdData = NULL;
|
CurrentCmdData = NULL;
|
||||||
@@ -5643,13 +5965,10 @@ searchKeyData(void)
|
|||||||
{
|
{
|
||||||
char *data = NULL;
|
char *data = NULL;
|
||||||
|
|
||||||
if (CurrentKeyData != NULL && *CurrentKeyData != '\0')
|
if (CurrentCmdData != NULL && *CurrentCmdData != '\0')
|
||||||
data = CurrentKeyData;
|
|
||||||
else if (CurrentCmdData != NULL && *CurrentCmdData != '\0')
|
|
||||||
data = CurrentCmdData;
|
data = CurrentCmdData;
|
||||||
else if (CurrentKey >= 0)
|
else if (CurrentKey >= 0)
|
||||||
data = getKeyData(CurrentKey);
|
data = getKeyData(CurrentKey);
|
||||||
CurrentKeyData = NULL;
|
|
||||||
CurrentCmdData = NULL;
|
CurrentCmdData = NULL;
|
||||||
if (data == NULL || *data == '\0')
|
if (data == NULL || *data == '\0')
|
||||||
return NULL;
|
return NULL;
|
||||||
@@ -5713,6 +6032,14 @@ w3m_exit(int i)
|
|||||||
disconnectFTP();
|
disconnectFTP();
|
||||||
#ifdef USE_NNTP
|
#ifdef USE_NNTP
|
||||||
disconnectNews();
|
disconnectNews();
|
||||||
|
#endif
|
||||||
|
#ifdef USE_REMOTE
|
||||||
|
if (UseRemote) {
|
||||||
|
unlink(SockName->ptr);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#ifdef __MINGW32_VERSION
|
||||||
|
WSACleanup();
|
||||||
#endif
|
#endif
|
||||||
exit(i);
|
exit(i);
|
||||||
}
|
}
|
||||||
@@ -5722,7 +6049,6 @@ DEFUN(execCmd, COMMAND, "Execute w3m command(s)")
|
|||||||
char *data, *p;
|
char *data, *p;
|
||||||
int cmd;
|
int cmd;
|
||||||
|
|
||||||
CurrentKeyData = NULL; /* not allowed in w3m-control: */
|
|
||||||
data = searchKeyData();
|
data = searchKeyData();
|
||||||
if (data == NULL || *data == '\0') {
|
if (data == NULL || *data == '\0') {
|
||||||
data = inputStrHist("command [; ...]: ", "", TextHist);
|
data = inputStrHist("command [; ...]: ", "", TextHist);
|
||||||
@@ -5744,7 +6070,6 @@ DEFUN(execCmd, COMMAND, "Execute w3m command(s)")
|
|||||||
break;
|
break;
|
||||||
p = getQWord(&data);
|
p = getQWord(&data);
|
||||||
CurrentKey = -1;
|
CurrentKey = -1;
|
||||||
CurrentKeyData = NULL;
|
|
||||||
CurrentCmdData = *p ? p : NULL;
|
CurrentCmdData = *p ? p : NULL;
|
||||||
#ifdef USE_MOUSE
|
#ifdef USE_MOUSE
|
||||||
if (use_mouse)
|
if (use_mouse)
|
||||||
@@ -5768,7 +6093,6 @@ SigAlarm(SIGNAL_ARG)
|
|||||||
|
|
||||||
if (CurrentAlarm->sec > 0) {
|
if (CurrentAlarm->sec > 0) {
|
||||||
CurrentKey = -1;
|
CurrentKey = -1;
|
||||||
CurrentKeyData = NULL;
|
|
||||||
CurrentCmdData = data = (char *)CurrentAlarm->data;
|
CurrentCmdData = data = (char *)CurrentAlarm->data;
|
||||||
#ifdef USE_MOUSE
|
#ifdef USE_MOUSE
|
||||||
if (use_mouse)
|
if (use_mouse)
|
||||||
@@ -5806,7 +6130,6 @@ DEFUN(setAlarm, ALARM, "Set alarm")
|
|||||||
char *data;
|
char *data;
|
||||||
int sec = 0, cmd = -1;
|
int sec = 0, cmd = -1;
|
||||||
|
|
||||||
CurrentKeyData = NULL; /* not allowed in w3m-control: */
|
|
||||||
data = searchKeyData();
|
data = searchKeyData();
|
||||||
if (data == NULL || *data == '\0') {
|
if (data == NULL || *data == '\0') {
|
||||||
data = inputStrHist("(Alarm)sec command: ", "", TextHist);
|
data = inputStrHist("(Alarm)sec command: ", "", TextHist);
|
||||||
@@ -5919,7 +6242,6 @@ DEFUN(defKey, DEFINE_KEY,
|
|||||||
{
|
{
|
||||||
char *data;
|
char *data;
|
||||||
|
|
||||||
CurrentKeyData = NULL; /* not allowed in w3m-control: */
|
|
||||||
data = searchKeyData();
|
data = searchKeyData();
|
||||||
if (data == NULL || *data == '\0') {
|
if (data == NULL || *data == '\0') {
|
||||||
data = inputStrHist("Key definition: ", "", TextHist);
|
data = inputStrHist("Key definition: ", "", TextHist);
|
||||||
@@ -6438,7 +6760,9 @@ download_action(struct parsed_tagarg *arg)
|
|||||||
for (; arg; arg = arg->next) {
|
for (; arg; arg = arg->next) {
|
||||||
if (!strncmp(arg->arg, "stop", 4)) {
|
if (!strncmp(arg->arg, "stop", 4)) {
|
||||||
pid = (pid_t) atoi(&arg->arg[4]);
|
pid = (pid_t) atoi(&arg->arg[4]);
|
||||||
|
#ifndef __MINGW32_VERSION
|
||||||
kill(pid, SIGKILL);
|
kill(pid, SIGKILL);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
else if (!strncmp(arg->arg, "ok", 2))
|
else if (!strncmp(arg->arg, "ok", 2))
|
||||||
pid = (pid_t) atoi(&arg->arg[2]);
|
pid = (pid_t) atoi(&arg->arg[2]);
|
||||||
@@ -6472,7 +6796,9 @@ stopDownload(void)
|
|||||||
for (d = FirstDL; d != NULL; d = d->next) {
|
for (d = FirstDL; d != NULL; d = d->next) {
|
||||||
if (d->ok)
|
if (d->ok)
|
||||||
continue;
|
continue;
|
||||||
|
#ifndef __MINGW32_VERSION
|
||||||
kill(d->pid, SIGKILL);
|
kill(d->pid, SIGKILL);
|
||||||
|
#endif
|
||||||
unlink(d->lock);
|
unlink(d->lock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: menu.c,v 1.43 2004/08/02 15:40:50 ukai Exp $ */
|
/* $Id: menu.c,v 1.44 2006/04/05 14:18:54 inu Exp $ */
|
||||||
/*
|
/*
|
||||||
* w3m menu.c
|
* w3m menu.c
|
||||||
*/
|
*/
|
||||||
@@ -590,7 +590,6 @@ action_menu(Menu *menu)
|
|||||||
*item.variable = item.value;
|
*item.variable = item.value;
|
||||||
if (item.type & MENU_FUNC) {
|
if (item.type & MENU_FUNC) {
|
||||||
CurrentKey = -1;
|
CurrentKey = -1;
|
||||||
CurrentKeyData = NULL;
|
|
||||||
CurrentCmdData = item.data;
|
CurrentCmdData = item.data;
|
||||||
(*item.func) ();
|
(*item.func) ();
|
||||||
CurrentCmdData = NULL;
|
CurrentCmdData = NULL;
|
||||||
@@ -1738,6 +1737,23 @@ initMenu(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DEFUN(interpretAsMenu, INTERPRET_AS_MENU, "Interpret current document as menu-definition")
|
||||||
|
{
|
||||||
|
FILE *mf;
|
||||||
|
MenuList *list;
|
||||||
|
|
||||||
|
if ((mf = fopen(Currentbuf->sourcefile, "r")) != NULL) {
|
||||||
|
interpret_menu(mf);
|
||||||
|
fclose(mf);
|
||||||
|
|
||||||
|
for (list = w3mMenuList; list->id != NULL; list++) {
|
||||||
|
if (list->item == NULL)
|
||||||
|
continue;
|
||||||
|
new_menu(list->menu, list->item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
setMenuItem(MenuItem *item, char *type, char *line)
|
setMenuItem(MenuItem *item, char *type, char *line)
|
||||||
{
|
{
|
||||||
|
|||||||
+5
-1
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: parsetagx.c,v 1.14 2003/02/05 16:44:00 ukai Exp $ */
|
/* $Id: parsetagx.c,v 1.15 2006/04/05 14:18:54 inu Exp $ */
|
||||||
#include "fm.h"
|
#include "fm.h"
|
||||||
#include "myctype.h"
|
#include "myctype.h"
|
||||||
#include "indep.h"
|
#include "indep.h"
|
||||||
@@ -182,6 +182,8 @@ parse_tag(char **s, int internal)
|
|||||||
while (*q && *q != '"') {
|
while (*q && *q != '"') {
|
||||||
if (*q != '\n')
|
if (*q != '\n')
|
||||||
Strcat_char(value, *q);
|
Strcat_char(value, *q);
|
||||||
|
else
|
||||||
|
Strcat_char(value, ' ');
|
||||||
if (!tag->need_reconstruct && is_html_quote(*q))
|
if (!tag->need_reconstruct && is_html_quote(*q))
|
||||||
tag->need_reconstruct = TRUE;
|
tag->need_reconstruct = TRUE;
|
||||||
q++;
|
q++;
|
||||||
@@ -194,6 +196,8 @@ parse_tag(char **s, int internal)
|
|||||||
while (*q && *q != '\'') {
|
while (*q && *q != '\'') {
|
||||||
if (*q != '\n')
|
if (*q != '\n')
|
||||||
Strcat_char(value, *q);
|
Strcat_char(value, *q);
|
||||||
|
else
|
||||||
|
Strcat_char(value, ' ');
|
||||||
if (!tag->need_reconstruct && is_html_quote(*q))
|
if (!tag->need_reconstruct && is_html_quote(*q))
|
||||||
tag->need_reconstruct = TRUE;
|
tag->need_reconstruct = TRUE;
|
||||||
q++;
|
q++;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: proto.h,v 1.99 2004/04/16 18:47:19 ukai Exp $ */
|
/* $Id: proto.h,v 1.100 2006/04/05 14:18:54 inu Exp $ */
|
||||||
/*
|
/*
|
||||||
* This file was automatically generated by version 1.7 of cextract.
|
* This file was automatically generated by version 1.7 of cextract.
|
||||||
* Manual editing not recommended.
|
* Manual editing not recommended.
|
||||||
@@ -137,6 +137,7 @@ extern void tabL(void);
|
|||||||
extern void ldDL(void);
|
extern void ldDL(void);
|
||||||
extern void linkLst(void);
|
extern void linkLst(void);
|
||||||
#ifdef USE_MENU
|
#ifdef USE_MENU
|
||||||
|
extern void interpretAsMenu(void);
|
||||||
extern void linkMn(void);
|
extern void linkMn(void);
|
||||||
extern LinkList *link_menu(Buffer *buf);
|
extern LinkList *link_menu(Buffer *buf);
|
||||||
extern void accessKey(void);
|
extern void accessKey(void);
|
||||||
@@ -145,6 +146,7 @@ extern void listMn(void);
|
|||||||
extern void movlistMn(void);
|
extern void movlistMn(void);
|
||||||
extern Anchor *list_menu(Buffer *buf);
|
extern Anchor *list_menu(Buffer *buf);
|
||||||
#else
|
#else
|
||||||
|
#define interpretAsMenu nulcmd
|
||||||
#define linkMn nulcmd
|
#define linkMn nulcmd
|
||||||
#define accessKey nulcmd
|
#define accessKey nulcmd
|
||||||
#define listMn nulcmd
|
#define listMn nulcmd
|
||||||
@@ -492,6 +494,9 @@ extern void term_title(char *s);
|
|||||||
extern void flush_tty(void);
|
extern void flush_tty(void);
|
||||||
extern void toggle_stand(void);
|
extern void toggle_stand(void);
|
||||||
extern char getch(void);
|
extern char getch(void);
|
||||||
|
#ifdef USE_REMOTE
|
||||||
|
char getch_select(int fd, int *num);
|
||||||
|
#endif
|
||||||
extern void bell(void);
|
extern void bell(void);
|
||||||
extern int sleep_till_anykey(int sec, int purge);
|
extern int sleep_till_anykey(int sec, int purge);
|
||||||
#ifdef USE_IMAGE
|
#ifdef USE_IMAGE
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: rc.c,v 1.99 2004/08/02 15:40:50 ukai Exp $ */
|
/* $Id: rc.c,v 1.100 2006/04/05 14:18:54 inu Exp $ */
|
||||||
/*
|
/*
|
||||||
* Initialization file etc.
|
* Initialization file etc.
|
||||||
*/
|
*/
|
||||||
@@ -192,6 +192,7 @@ static int OptionEncode = FALSE;
|
|||||||
#endif /* USE_SSL */
|
#endif /* USE_SSL */
|
||||||
#ifdef USE_COOKIE
|
#ifdef USE_COOKIE
|
||||||
#define CMT_USECOOKIE N_("Enable cookie processing")
|
#define CMT_USECOOKIE N_("Enable cookie processing")
|
||||||
|
#define CMT_SHOWCOOKIE N_("Print a message when receiving a cookie")
|
||||||
#define CMT_ACCEPTCOOKIE N_("Accept cookies")
|
#define CMT_ACCEPTCOOKIE N_("Accept cookies")
|
||||||
#define CMT_ACCEPTBADCOOKIE N_("Action to be taken on invalid cookie")
|
#define CMT_ACCEPTBADCOOKIE N_("Action to be taken on invalid cookie")
|
||||||
#define CMT_COOKIE_REJECT_DOMAINS N_("Domains to reject cookies from")
|
#define CMT_COOKIE_REJECT_DOMAINS N_("Domains to reject cookies from")
|
||||||
@@ -301,9 +302,7 @@ static struct sel_c dnsorders[] = {
|
|||||||
#ifdef USE_COOKIE
|
#ifdef USE_COOKIE
|
||||||
static struct sel_c badcookiestr[] = {
|
static struct sel_c badcookiestr[] = {
|
||||||
{N_S(ACCEPT_BAD_COOKIE_DISCARD), N_("discard")},
|
{N_S(ACCEPT_BAD_COOKIE_DISCARD), N_("discard")},
|
||||||
#if 0
|
|
||||||
{N_S(ACCEPT_BAD_COOKIE_ACCEPT), N_("accept")},
|
{N_S(ACCEPT_BAD_COOKIE_ACCEPT), N_("accept")},
|
||||||
#endif
|
|
||||||
{N_S(ACCEPT_BAD_COOKIE_ASK), N_("ask")},
|
{N_S(ACCEPT_BAD_COOKIE_ASK), N_("ask")},
|
||||||
{0, NULL, NULL}
|
{0, NULL, NULL}
|
||||||
};
|
};
|
||||||
@@ -552,6 +551,8 @@ struct param_ptr params7[] = {
|
|||||||
#ifdef USE_COOKIE
|
#ifdef USE_COOKIE
|
||||||
struct param_ptr params8[] = {
|
struct param_ptr params8[] = {
|
||||||
{"use_cookie", P_INT, PI_ONOFF, (void *)&use_cookie, CMT_USECOOKIE, NULL},
|
{"use_cookie", P_INT, PI_ONOFF, (void *)&use_cookie, CMT_USECOOKIE, NULL},
|
||||||
|
{"show_cookie", P_INT, PI_ONOFF, (void *)&show_cookie,
|
||||||
|
CMT_SHOWCOOKIE, NULL},
|
||||||
{"accept_cookie", P_INT, PI_ONOFF, (void *)&accept_cookie,
|
{"accept_cookie", P_INT, PI_ONOFF, (void *)&accept_cookie,
|
||||||
CMT_ACCEPTCOOKIE, NULL},
|
CMT_ACCEPTCOOKIE, NULL},
|
||||||
{"accept_bad_cookie", P_INT, PI_SEL_C, (void *)&accept_bad_cookie,
|
{"accept_bad_cookie", P_INT, PI_SEL_C, (void *)&accept_bad_cookie,
|
||||||
@@ -1111,7 +1112,11 @@ do_mkdir(const char *dir, long mode)
|
|||||||
return mkdir(abs, mode);
|
return mkdir(abs, mode);
|
||||||
}
|
}
|
||||||
#else /* not __EMX__ */
|
#else /* not __EMX__ */
|
||||||
|
#ifdef __MINGW32_VERSION
|
||||||
|
#define do_mkdir(dir,mode) mkdir(dir)
|
||||||
|
#else
|
||||||
#define do_mkdir(dir,mode) mkdir(dir,mode)
|
#define do_mkdir(dir,mode) mkdir(dir,mode)
|
||||||
|
#endif /* not __MINW32_VERSION */
|
||||||
#endif /* not __EMX__ */
|
#endif /* not __EMX__ */
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
.TH W3MMAN 1 "Mar 14, 2002"
|
.TH W3MMAN 1 "Nov 5, 2005"
|
||||||
.\" Please adjust this date whenever revising the manpage.
|
.\" Please adjust this date whenever revising the manpage.
|
||||||
.\"
|
.\"
|
||||||
.\" Some roff macros, for reference:
|
.\" Some roff macros, for reference:
|
||||||
@@ -19,6 +19,9 @@ w3mman \- an interface to the on-line reference manuals by w3m(1)
|
|||||||
.br
|
.br
|
||||||
.B w3mman
|
.B w3mman
|
||||||
.RI "[-M " path "] -k " keyword
|
.RI "[-M " path "] -k " keyword
|
||||||
|
.br
|
||||||
|
.B w3mman
|
||||||
|
.RI -l " file
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
.B w3mman
|
.B w3mman
|
||||||
is the system's manual pager by
|
is the system's manual pager by
|
||||||
@@ -31,9 +34,13 @@ Specify
|
|||||||
.I path
|
.I path
|
||||||
as MANPATH.
|
as MANPATH.
|
||||||
.TP
|
.TP
|
||||||
.B \-k " keyword"
|
.BI \-k " keyword"
|
||||||
Specify
|
Specify
|
||||||
.I keyword.
|
.I keyword.
|
||||||
|
.TP
|
||||||
|
.BI \-l " file"
|
||||||
|
Specify a
|
||||||
|
.I file.
|
||||||
.SH ENVIRONMENT
|
.SH ENVIRONMENT
|
||||||
.TP
|
.TP
|
||||||
.B W3MMAN_W3M
|
.B W3MMAN_W3M
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ sub usage {
|
|||||||
($_ = $0) =~ s@.*/@@;
|
($_ = $0) =~ s@.*/@@;
|
||||||
print STDERR "$_ [-M <path>] [[<section>] <command>]\n";
|
print STDERR "$_ [-M <path>] [[<section>] <command>]\n";
|
||||||
print STDERR "$_ [-M <path>] [-k <keyword>]\n";
|
print STDERR "$_ [-M <path>] [-k <keyword>]\n";
|
||||||
|
print STDERR "$_ [-l <file>]\n";
|
||||||
exit 1;
|
exit 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -20,6 +21,10 @@ while (@ARGV) {
|
|||||||
} elsif (/^-k$/) {
|
} elsif (/^-k$/) {
|
||||||
@ARGV || &usage();
|
@ARGV || &usage();
|
||||||
$query = "?keyword=" . &form_encode(shift @ARGV);
|
$query = "?keyword=" . &form_encode(shift @ARGV);
|
||||||
|
} elsif (/^-l$/) {
|
||||||
|
@ARGV || &usage();
|
||||||
|
$query = "?quit=ok&local=" . &form_encode(shift @ARGV);
|
||||||
|
$query .= "&pwd=" . &form_encode($ENV{'PWD'});
|
||||||
} elsif (/^-/) {
|
} elsif (/^-/) {
|
||||||
&usage();
|
&usage();
|
||||||
} elsif (/^\d/ || $_ eq 'n') {
|
} elsif (/^\d/ || $_ eq 'n') {
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ if ($QUERY =~ /\=/) {
|
|||||||
$query{"man"} = &form_decode($QUERY);
|
$query{"man"} = &form_decode($QUERY);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! $query{"man"}) {
|
if ((! $query{"man"}) && (! $query{"local"})) {
|
||||||
if ($query{"keyword"}) {
|
if ($query{"keyword"}) {
|
||||||
$keyword = $query{"keyword"};
|
$keyword = $query{"keyword"};
|
||||||
$k = &html_quote($keyword);
|
$k = &html_quote($keyword);
|
||||||
@@ -71,21 +71,29 @@ EOF
|
|||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
$man = $query{"man"};
|
if ($query{"local"}) {
|
||||||
if ($man =~ s/\((\w+)\)$//) {
|
$file = $query{"local"};
|
||||||
$section = $1;
|
if (! ($file =~ /^\//)) {
|
||||||
$man_section = "$man($1)";
|
$file = $query{"pwd"} . '/' . $file;
|
||||||
} elsif ($query{"section"}) {
|
}
|
||||||
$section = $query{"section"};
|
open(F, "$MAN -l $file 2> /dev/null |");
|
||||||
$man_section = "$man($section)";
|
|
||||||
} else {
|
} else {
|
||||||
$section = "";
|
$man = $query{"man"};
|
||||||
$man_section = "$man";
|
if ($man =~ s/\((\w+)\)$//) {
|
||||||
}
|
$section = $1;
|
||||||
|
$man_section = "$man($1)";
|
||||||
|
} elsif ($query{"section"}) {
|
||||||
|
$section = $query{"section"};
|
||||||
|
$man_section = "$man($section)";
|
||||||
|
} else {
|
||||||
|
$section = "";
|
||||||
|
$man_section = "$man";
|
||||||
|
}
|
||||||
|
|
||||||
$section =~ s:([^-\w\200-\377.,])::g;
|
$section =~ s:([^-\w\200-\377.,])::g;
|
||||||
$man =~ s:([^-\w\200-\377.,])::g;
|
$man =~ s:([^-\w\200-\377.,])::g;
|
||||||
open(F, "$MAN $section $man 2> /dev/null |");
|
open(F, "$MAN $section $man 2> /dev/null |");
|
||||||
|
}
|
||||||
$ok = 0;
|
$ok = 0;
|
||||||
undef $header;
|
undef $header;
|
||||||
$blank = -1;
|
$blank = -1;
|
||||||
@@ -176,6 +184,11 @@ if ($prev) {
|
|||||||
close(F);
|
close(F);
|
||||||
if (! $ok) {
|
if (! $ok) {
|
||||||
if ($query{'quit'}) {
|
if ($query{'quit'}) {
|
||||||
|
if ($query{'local'}) {
|
||||||
|
print STDERR "File $file not found.\n";
|
||||||
|
} else {
|
||||||
|
print STDERR "No manual entry for $man_section.\n";
|
||||||
|
}
|
||||||
print STDERR "No manual entry for $man_section.\n";
|
print STDERR "No manual entry for $man_section.\n";
|
||||||
print <<EOF;
|
print <<EOF;
|
||||||
w3m-control: EXIT
|
w3m-control: EXIT
|
||||||
@@ -190,7 +203,11 @@ Content-Type: text/html
|
|||||||
<body>
|
<body>
|
||||||
<pre>
|
<pre>
|
||||||
EOF
|
EOF
|
||||||
print "No manual entry for <B>$man_section</B>.\n";
|
if ($query{'local'}) {
|
||||||
|
print "File <B>$file</B> not found.\n";
|
||||||
|
} else {
|
||||||
|
print "No manual entry for <B>$man_section</B>.\n";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
print <<EOF;
|
print <<EOF;
|
||||||
</pre>
|
</pre>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: table.c,v 1.49 2004/01/09 15:46:49 ukai Exp $ */
|
/* $Id: table.c,v 1.50 2006/04/05 14:18:54 inu Exp $ */
|
||||||
/*
|
/*
|
||||||
* HTML table
|
* HTML table
|
||||||
*/
|
*/
|
||||||
@@ -1984,7 +1984,7 @@ renderTable(struct table *t, int max_width, struct html_feed_environ *h_env)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (t->total_height == 0) {
|
if (t->total_height == 0) {
|
||||||
renderbuf = Strnew(" ");
|
renderbuf = Strnew_charp(" ");
|
||||||
t->total_height++;
|
t->total_height++;
|
||||||
t->total_width = 1;
|
t->total_width = 1;
|
||||||
push_render_image(renderbuf, 1, t->total_width, h_env);
|
push_render_image(renderbuf, 1, t->total_width, h_env);
|
||||||
@@ -2465,11 +2465,16 @@ feed_table_tag(struct table *tbl, char *line, struct table_mode *mode,
|
|||||||
return TAG_ACTION_PLAIN;
|
return TAG_ACTION_PLAIN;
|
||||||
}
|
}
|
||||||
if (mode->pre_mode & TBLM_INTXTA) {
|
if (mode->pre_mode & TBLM_INTXTA) {
|
||||||
if (mode->end_tag == cmd) {
|
switch (cmd) {
|
||||||
|
CASE_TABLE_TAG:
|
||||||
|
case HTML_N_TEXTAREA:
|
||||||
table_close_textarea(tbl, mode, width);
|
table_close_textarea(tbl, mode, width);
|
||||||
return TAG_ACTION_NONE;
|
if (cmd == HTML_N_TEXTAREA)
|
||||||
|
return TAG_ACTION_NONE;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return TAG_ACTION_FEED;
|
||||||
}
|
}
|
||||||
return TAG_ACTION_FEED;
|
|
||||||
}
|
}
|
||||||
if (mode->pre_mode & TBLM_SCRIPT) {
|
if (mode->pre_mode & TBLM_SCRIPT) {
|
||||||
if (mode->end_tag == cmd) {
|
if (mode->end_tag == cmd) {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: terms.c,v 1.53 2005/01/18 16:38:01 ukai Exp $ */
|
/* $Id: terms.c,v 1.54 2006/04/05 14:18:54 inu Exp $ */
|
||||||
/*
|
/*
|
||||||
* An original curses library for EUC-kanji by Akinori ITO, December 1989
|
* An original curses library for EUC-kanji by Akinori ITO, December 1989
|
||||||
* revised by Akinori ITO, January 1995
|
* revised by Akinori ITO, January 1995
|
||||||
@@ -15,7 +15,11 @@
|
|||||||
#ifdef HAVE_SYS_SELECT_H
|
#ifdef HAVE_SYS_SELECT_H
|
||||||
#include <sys/select.h>
|
#include <sys/select.h>
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef __MINGW32_VERSION
|
||||||
#include <sys/ioctl.h>
|
#include <sys/ioctl.h>
|
||||||
|
#else
|
||||||
|
#include <winsock.h>
|
||||||
|
#endif /* __MINGW32_VERSION */
|
||||||
#ifdef USE_MOUSE
|
#ifdef USE_MOUSE
|
||||||
#ifdef USE_GPM
|
#ifdef USE_GPM
|
||||||
#include <gpm.h>
|
#include <gpm.h>
|
||||||
@@ -287,6 +291,42 @@ typedef struct sgttyb TerminalMode;
|
|||||||
#define MODEFLAG(d) ((d).sg_flags)
|
#define MODEFLAG(d) ((d).sg_flags)
|
||||||
#endif /* HAVE_SGTTY_H */
|
#endif /* HAVE_SGTTY_H */
|
||||||
|
|
||||||
|
#ifdef __MINGW32_VERSION
|
||||||
|
/* dummy struct */
|
||||||
|
typedef unsigned char cc_t;
|
||||||
|
typedef unsigned int speed_t;
|
||||||
|
typedef unsigned int tcflag_t;
|
||||||
|
|
||||||
|
#define NCCS 32
|
||||||
|
struct termios
|
||||||
|
{
|
||||||
|
tcflag_t c_iflag; /* input mode flags */
|
||||||
|
tcflag_t c_oflag; /* output mode flags */
|
||||||
|
tcflag_t c_cflag; /* control mode flags */
|
||||||
|
tcflag_t c_lflag; /* local mode flags */
|
||||||
|
cc_t c_line; /* line discipline */
|
||||||
|
cc_t c_cc[NCCS]; /* control characters */
|
||||||
|
speed_t c_ispeed; /* input speed */
|
||||||
|
speed_t c_ospeed; /* output speed */
|
||||||
|
};
|
||||||
|
typedef struct termios TerminalMode;
|
||||||
|
#define TerminalSet(fd,x) (0)
|
||||||
|
#define TerminalGet(fd,x) (0)
|
||||||
|
#define MODEFLAG(d) (0)
|
||||||
|
|
||||||
|
/* dummy defines */
|
||||||
|
#define SIGHUP (0)
|
||||||
|
#define SIGQUIT (0)
|
||||||
|
#define ECHO (0)
|
||||||
|
#define ISIG (0)
|
||||||
|
#define VEOF (0)
|
||||||
|
#define ICANON (0)
|
||||||
|
#define IXON (0)
|
||||||
|
#define IXOFF (0)
|
||||||
|
|
||||||
|
char *ttyname(int);
|
||||||
|
#endif /* __MINGW32_VERSION */
|
||||||
|
|
||||||
#define MAX_LINE 200
|
#define MAX_LINE 200
|
||||||
#define MAX_COLUMN 400
|
#define MAX_COLUMN 400
|
||||||
|
|
||||||
@@ -511,6 +551,7 @@ set_tty(void)
|
|||||||
void
|
void
|
||||||
ttymode_set(int mode, int imode)
|
ttymode_set(int mode, int imode)
|
||||||
{
|
{
|
||||||
|
#ifndef __MINGW32_VERSION
|
||||||
TerminalMode ioval;
|
TerminalMode ioval;
|
||||||
|
|
||||||
TerminalGet(tty, &ioval);
|
TerminalGet(tty, &ioval);
|
||||||
@@ -525,11 +566,13 @@ ttymode_set(int mode, int imode)
|
|||||||
printf("Error occured while set %x: errno=%d\n", mode, errno);
|
printf("Error occured while set %x: errno=%d\n", mode, errno);
|
||||||
reset_exit(SIGNAL_ARGLIST);
|
reset_exit(SIGNAL_ARGLIST);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
ttymode_reset(int mode, int imode)
|
ttymode_reset(int mode, int imode)
|
||||||
{
|
{
|
||||||
|
#ifndef __MINGW32_VERSION
|
||||||
TerminalMode ioval;
|
TerminalMode ioval;
|
||||||
|
|
||||||
TerminalGet(tty, &ioval);
|
TerminalGet(tty, &ioval);
|
||||||
@@ -544,6 +587,7 @@ ttymode_reset(int mode, int imode)
|
|||||||
printf("Error occured while reset %x: errno=%d\n", mode, errno);
|
printf("Error occured while reset %x: errno=%d\n", mode, errno);
|
||||||
reset_exit(SIGNAL_ARGLIST);
|
reset_exit(SIGNAL_ARGLIST);
|
||||||
}
|
}
|
||||||
|
#endif /* __MINGW32_VERSION */
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef HAVE_SGTTY_H
|
#ifndef HAVE_SGTTY_H
|
||||||
@@ -1830,6 +1874,44 @@ getch(void)
|
|||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef USE_REMOTE
|
||||||
|
char
|
||||||
|
getch_select(int fd, int *fdn)
|
||||||
|
{
|
||||||
|
int maxfd = tty;
|
||||||
|
fd_set rset;
|
||||||
|
|
||||||
|
if (fd < 0 || fd == tty) {
|
||||||
|
*fdn = 0;
|
||||||
|
return getch();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (maxfd < fd)
|
||||||
|
maxfd = fd;
|
||||||
|
|
||||||
|
maxfd++;
|
||||||
|
|
||||||
|
FD_ZERO(&rset);
|
||||||
|
FD_SET(tty, &rset);
|
||||||
|
FD_SET(fd, &rset);
|
||||||
|
|
||||||
|
while (select(maxfd, &rset, NULL, NULL, NULL) < 1) {
|
||||||
|
FD_ZERO(&rset);
|
||||||
|
FD_SET(tty, &rset);
|
||||||
|
FD_SET(fd, &rset);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (FD_ISSET(tty, &rset)) {
|
||||||
|
*fdn = 0;
|
||||||
|
return getch();
|
||||||
|
} else if (FD_ISSET(fd, &rset)) {
|
||||||
|
*fdn = 1;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifdef USE_MOUSE
|
#ifdef USE_MOUSE
|
||||||
#ifdef USE_GPM
|
#ifdef USE_GPM
|
||||||
char
|
char
|
||||||
@@ -2172,3 +2254,40 @@ touch_cursor()
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef __MINGW32_VERSION
|
||||||
|
|
||||||
|
int tgetent(char *bp, char *name)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int tgetnum(char *id)
|
||||||
|
{
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
int tgetflag(char *id)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
char *tgetstr(char *id, char **area)
|
||||||
|
{
|
||||||
|
id = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
char *tgoto(char *cap, int col, int row)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
int tputs(char *str, int affcnt, int (*putc)(char))
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
char *ttyname(int tty)
|
||||||
|
{
|
||||||
|
return "CON";
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* __MINGW32_VERSION */
|
||||||
|
|||||||
@@ -1,10 +1,14 @@
|
|||||||
/* $Id: url.c,v 1.90 2006/02/10 12:52:23 inu Exp $ */
|
/* $Id: url.c,v 1.91 2006/04/05 14:18:54 inu Exp $ */
|
||||||
#include "fm.h"
|
#include "fm.h"
|
||||||
|
#ifndef __MINGW32_VERSION
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
#include <netinet/in.h>
|
#include <netinet/in.h>
|
||||||
#include <arpa/inet.h>
|
#include <arpa/inet.h>
|
||||||
#include <netdb.h>
|
#include <netdb.h>
|
||||||
|
#else
|
||||||
|
#include <winsock.h>
|
||||||
|
#endif /* __MINGW32_VERSION */
|
||||||
|
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
#include <setjmp.h>
|
#include <setjmp.h>
|
||||||
@@ -31,6 +35,11 @@
|
|||||||
#define write(a,b,c) write_s(a,b,c)
|
#define write(a,b,c) write_s(a,b,c)
|
||||||
#endif /* __WATT32__ */
|
#endif /* __WATT32__ */
|
||||||
|
|
||||||
|
#ifdef __MINGW32_VERSION
|
||||||
|
#define write(a,b,c) send(a,b,c, 0)
|
||||||
|
#define close(fd) closesocket(fd)
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef INET6
|
#ifdef INET6
|
||||||
/* see rc.c, "dns_order" and dnsorders[] */
|
/* see rc.c, "dns_order" and dnsorders[] */
|
||||||
int ai_family_order_table[7][3] = {
|
int ai_family_order_table[7][3] = {
|
||||||
|
|||||||
Reference in New Issue
Block a user