diff -uNr gnome-admin-0.25/ChangeLog gnome-admin-0.26/ChangeLog --- gnome-admin-0.25/ChangeLog Tue Aug 4 11:36:15 1998 +++ gnome-admin-0.26/ChangeLog Thu Aug 13 18:48:26 1998 @@ -1,3 +1,15 @@ +1998-08-13 Federico Mena Quintero + + * configure.in: Bumped version number to 0.26. + (ALL_LINGUAS): Added sv to ALL_LINGUAS. + Added AM_MAINTAINER_MODE. + + * Makefile.am (EXTRA_DIST): Added gnome-admin.spec. + +Wed Aug 5 22:54:12 EDT 1998 Gregory McLean + + * Wee 0.25 out. (What a circus at work today!) + 1998-07-24 Nuno Ferreira * configure.in (ALL_LINGUAS): Added "pt". diff -uNr gnome-admin-0.25/Makefile.am gnome-admin-0.26/Makefile.am --- gnome-admin-0.25/Makefile.am Tue Aug 4 11:36:15 1998 +++ gnome-admin-0.26/Makefile.am Thu Aug 13 17:38:07 1998 @@ -4,6 +4,8 @@ SUBDIRS = po intl macros $(objc_DIRS) logview gxsnmp +EXTRA_DIST = gnome-admin.spec + ## to automatically rebuild aclocal.m4 if any of the macros in `macros/' change @MAINT@include macros/macros.dep @MAINT@macros/macros.dep: macros/Makefile.am diff -uNr gnome-admin-0.25/Makefile.in gnome-admin-0.26/Makefile.in --- gnome-admin-0.25/Makefile.in Wed Aug 5 18:50:29 1998 +++ gnome-admin-0.26/Makefile.in Thu Aug 13 19:20:38 1998 @@ -90,6 +90,7 @@ LDFLAGS = @LDFLAGS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ +MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ @@ -114,6 +115,8 @@ @OBJECTIVE_C_TRUE@objc_DIRS = gulp SUBDIRS = po intl macros $(objc_DIRS) logview gxsnmp + +EXTRA_DIST = gnome-admin.spec ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = config.h @@ -132,19 +135,19 @@ all: all-recursive-am all-am .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) \ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status -$(ACLOCAL_M4): configure.in acinclude.m4 +$(ACLOCAL_M4): @MAINT@ configure.in acinclude.m4 cd $(srcdir) && $(ACLOCAL) config.status: $(srcdir)/configure $(SHELL) ./config.status --recheck -$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) +$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) cd $(srcdir) && $(AUTOCONF) config.h: stamp-h @@ -154,7 +157,7 @@ && CONFIG_FILES= CONFIG_HEADERS=config.h \ $(SHELL) ./config.status @echo timestamp > stamp-h -$(srcdir)/config.h.in: $(srcdir)/stamp-h.in +$(srcdir)/config.h.in: @MAINT@$(srcdir)/stamp-h.in $(srcdir)/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) acconfig.h cd $(top_srcdir) && $(AUTOHEADER) @echo timestamp > $(srcdir)/stamp-h.in @@ -360,9 +363,9 @@ maintainer-clean -include macros/macros.dep -macros/macros.dep: macros/Makefile.am - cd macros && $(MAKE) macros.dep +@MAINT@include macros/macros.dep +@MAINT@macros/macros.dep: macros/Makefile.am +@MAINT@ cd macros && $(MAKE) macros.dep # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -uNr gnome-admin-0.25/aclocal.m4 gnome-admin-0.26/aclocal.m4 --- gnome-admin-0.25/aclocal.m4 Wed Aug 5 11:33:04 1998 +++ gnome-admin-0.26/aclocal.m4 Thu Aug 13 18:43:53 1998 @@ -518,6 +518,29 @@ fi AC_SUBST($1)]) +# Add --enable-maintainer-mode option to configure. +# From Jim Meyering + +# serial 1 + +AC_DEFUN(AM_MAINTAINER_MODE, +[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) + dnl maintainer-mode is disabled by default + AC_ARG_ENABLE(maintainer-mode, +[ --enable-maintainer-mode enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer], + USE_MAINTAINER_MODE=$enableval, + USE_MAINTAINER_MODE=no) + AC_MSG_RESULT($USE_MAINTAINER_MODE) + if test $USE_MAINTAINER_MODE = yes; then + MAINT= + else + MAINT='#M#' + fi + AC_SUBST(MAINT)dnl +] +) + # aclocal-include.m4 # # This macro adds the name macrodir to the set of directories @@ -951,6 +974,7 @@ AC_TRY_RUN([ #include #include +#include int main () @@ -983,6 +1007,15 @@ printf("*** to point to the correct copy of gtk-config, and remove the file config.cache\n"); printf("*** before re-running configure\n"); } + else if ((gtk_major_version != GTK_MAJOR_VERSION) || + (gtk_minor_version != GTK_MINOR_VERSION) || + (gtk_micro_version != GTK_MICRO_VERSION)) + { + printf("*** GTK+ header files (version %d.%d.%d) do not match\n", + GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION); + printf("*** library (version %d.%d.%d)\n", + gtk_major_version, gtk_minor_version, gtk_micro_version); + } else { if ((gtk_major_version > major) || @@ -1137,7 +1170,7 @@ AC_MSG_RESULT(found) else AC_MSG_RESULT(not found) - AC_MSG_ERROR(Could not find the obGnomeConf.sh file that is generated by gnome-objc install) + AC_MSG_WARN(Could not find the obGnomeConf.sh file that is generated by gnome-objc install) fi AC_SUBST(OBGNOME_INCLUDEDIR) AC_SUBST(OBGNOME_LIBS) diff -uNr gnome-admin-0.25/configure gnome-admin-0.26/configure --- gnome-admin-0.25/configure Wed Aug 5 11:33:08 1998 +++ gnome-admin-0.26/configure Thu Aug 13 18:44:00 1998 @@ -12,6 +12,9 @@ ac_default_prefix=/usr/local # Any additions from configure.in: ac_help="$ac_help + --enable-maintainer-mode enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer" +ac_help="$ac_help --with-gnome-includes Specify location of GNOME headers" ac_help="$ac_help --with-gnome-libs Specify location of GNOME libs" @@ -578,7 +581,7 @@ # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:582: checking for a BSD compatible install" >&5 +echo "configure:585: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -631,7 +634,7 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}' echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6 -echo "configure:635: checking whether build environment is sane" >&5 +echo "configure:638: checking whether build environment is sane" >&5 # Just in case sleep 1 echo timestamp > conftestfile @@ -688,7 +691,7 @@ test "$program_transform_name" = "" && program_transform_name="s,x,x," echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 -echo "configure:692: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo "configure:695: checking whether ${MAKE-make} sets \${MAKE}" >&5 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -717,7 +720,7 @@ PACKAGE=gnome-admin -VERSION=0.25 +VERSION=0.26 if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; } @@ -734,7 +737,7 @@ missing_dir=`cd $ac_aux_dir && pwd` echo $ac_n "checking for working aclocal""... $ac_c" 1>&6 -echo "configure:738: checking for working aclocal" >&5 +echo "configure:741: checking for working aclocal" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -747,7 +750,7 @@ fi echo $ac_n "checking for working autoconf""... $ac_c" 1>&6 -echo "configure:751: checking for working autoconf" >&5 +echo "configure:754: checking for working autoconf" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -760,7 +763,7 @@ fi echo $ac_n "checking for working automake""... $ac_c" 1>&6 -echo "configure:764: checking for working automake" >&5 +echo "configure:767: checking for working automake" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -773,7 +776,7 @@ fi echo $ac_n "checking for working autoheader""... $ac_c" 1>&6 -echo "configure:777: checking for working autoheader" >&5 +echo "configure:780: checking for working autoheader" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -786,7 +789,7 @@ fi echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6 -echo "configure:790: checking for working makeinfo" >&5 +echo "configure:793: checking for working makeinfo" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -799,6 +802,24 @@ fi +echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6 +echo "configure:807: checking whether to enable maintainer-specific portions of Makefiles" >&5 + # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. +if test "${enable_maintainer_mode+set}" = set; then + enableval="$enable_maintainer_mode" + USE_MAINTAINER_MODE=$enableval +else + USE_MAINTAINER_MODE=no +fi + + echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6 + if test $USE_MAINTAINER_MODE = yes; then + MAINT= + else + MAINT='#M#' + fi + + ACLOCAL="$ACLOCAL -I macros" @@ -812,7 +833,7 @@ # Extract the first word of "gnome-config", so it can be a program name with args. set dummy gnome-config; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:816: checking for $ac_word" >&5 +echo "configure:837: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GNOME_CONFIG'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -845,7 +866,7 @@ no_gnome_config="yes" else echo $ac_n "checking if $GNOME_CONFIG works""... $ac_c" 1>&6 -echo "configure:849: checking if $GNOME_CONFIG works" >&5 +echo "configure:870: checking if $GNOME_CONFIG works" >&5 if $GNOME_CONFIG --libs-only-l gnome >/dev/null 2>&1; then echo "$ac_t""yes" 1>&6 GNOME_LIBS="`$GNOME_CONFIG --libs-only-l gnome`" @@ -906,7 +927,7 @@ if test "$no_gnome_config" = "yes"; then echo $ac_n "checking for gnomeConf.sh file in $gnome_prefix""... $ac_c" 1>&6 -echo "configure:910: checking for gnomeConf.sh file in $gnome_prefix" >&5 +echo "configure:931: checking for gnomeConf.sh file in $gnome_prefix" >&5 if test -f $gnome_prefix/gnomeConf.sh; then echo "$ac_t""found" 1>&6 echo "loading gnome configuration from $gnome_prefix/gnomeConf.sh" @@ -925,7 +946,7 @@ # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:929: checking for $ac_word" >&5 +echo "configure:950: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -954,7 +975,7 @@ # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:958: checking for $ac_word" >&5 +echo "configure:979: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1002,7 +1023,7 @@ fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1006: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:1027: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. @@ -1012,11 +1033,11 @@ cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1041: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then @@ -1036,12 +1057,12 @@ { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:1040: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1061: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 cross_compiling=$ac_cv_prog_cc_cross echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:1045: checking whether we are using GNU C" >&5 +echo "configure:1066: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1050,7 +1071,7 @@ yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1054: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1075: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -1065,7 +1086,7 @@ ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:1069: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:1090: checking whether ${CC-cc} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1093,7 +1114,7 @@ fi echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6 -echo "configure:1097: checking for POSIXized ISC" >&5 +echo "configure:1118: checking for POSIXized ISC" >&5 if test -d /etc/conf/kconfig.d && grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1 then @@ -1116,7 +1137,7 @@ # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1120: checking for $ac_word" >&5 +echo "configure:1141: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1145,7 +1166,7 @@ # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1149: checking for $ac_word" >&5 +echo "configure:1170: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1193,7 +1214,7 @@ fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1197: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:1218: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. @@ -1203,11 +1224,11 @@ cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1232: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then @@ -1227,12 +1248,12 @@ { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:1231: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1252: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 cross_compiling=$ac_cv_prog_cc_cross echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:1236: checking whether we are using GNU C" >&5 +echo "configure:1257: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1241,7 +1262,7 @@ yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1245: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1266: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -1256,7 +1277,7 @@ ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:1260: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:1281: checking whether ${CC-cc} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1284,7 +1305,7 @@ fi echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:1288: checking how to run the C preprocessor" >&5 +echo "configure:1309: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -1299,13 +1320,13 @@ # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1309: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1330: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1316,13 +1337,13 @@ rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1326: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1347: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1345,12 +1366,12 @@ echo "$ac_t""$CPP" 1>&6 echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:1349: checking for ANSI C header files" >&5 +echo "configure:1370: checking for ANSI C header files" >&5 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -1358,7 +1379,7 @@ #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1362: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1383: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -1375,7 +1396,7 @@ if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -1393,7 +1414,7 @@ if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -1414,7 +1435,7 @@ : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -1425,7 +1446,7 @@ exit (0); } EOF -if { (eval echo configure:1429: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1450: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then : else @@ -1474,7 +1495,7 @@ fi echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:1478: checking host system type" >&5 +echo "configure:1499: checking host system type" >&5 host_alias=$host case "$host_alias" in @@ -1497,7 +1518,7 @@ # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1501: checking for $ac_word" >&5 +echo "configure:1522: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1536,7 +1557,7 @@ if test "$ac_cv_prog_gcc" = yes; then # Check if gcc -print-prog-name=ld gives a path. echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6 -echo "configure:1540: checking for ld used by GCC" >&5 +echo "configure:1561: checking for ld used by GCC" >&5 ac_prog=`($CC -print-prog-name=ld) 2>&5` case "$ac_prog" in # Accept absolute paths. @@ -1554,10 +1575,10 @@ esac elif test "$with_gnu_ld" = yes; then echo $ac_n "checking for GNU ld""... $ac_c" 1>&6 -echo "configure:1558: checking for GNU ld" >&5 +echo "configure:1579: checking for GNU ld" >&5 else echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6 -echo "configure:1561: checking for non-GNU ld" >&5 +echo "configure:1582: checking for non-GNU ld" >&5 fi if eval "test \"`echo '$''{'ac_cv_path_LD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1593,7 +1614,7 @@ test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; } echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6 -echo "configure:1597: checking if the linker ($LD) is GNU ld" >&5 +echo "configure:1618: checking if the linker ($LD) is GNU ld" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gnu_ld'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1609,7 +1630,7 @@ echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6 -echo "configure:1613: checking for BSD-compatible nm" >&5 +echo "configure:1634: checking for BSD-compatible nm" >&5 if eval "test \"`echo '$''{'ac_cv_path_NM'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1646,7 +1667,7 @@ echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 -echo "configure:1650: checking whether ln -s works" >&5 +echo "configure:1671: checking whether ln -s works" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1758,7 +1779,7 @@ PTHREAD_LIB="" echo $ac_n "checking for pthread_create in -lpthread""... $ac_c" 1>&6 -echo "configure:1762: checking for pthread_create in -lpthread" >&5 +echo "configure:1783: checking for pthread_create in -lpthread" >&5 ac_lib_var=`echo pthread'_'pthread_create | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1766,7 +1787,7 @@ ac_save_LIBS="$LIBS" LIBS="-lpthread $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1802: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -1796,7 +1817,7 @@ else echo "$ac_t""no" 1>&6 echo $ac_n "checking for pthread_create in -lc_r""... $ac_c" 1>&6 -echo "configure:1800: checking for pthread_create in -lc_r" >&5 +echo "configure:1821: checking for pthread_create in -lc_r" >&5 ac_lib_var=`echo c_r'_'pthread_create | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1804,7 +1825,7 @@ ac_save_LIBS="$LIBS" LIBS="-lc_r $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1840: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -1882,7 +1903,7 @@ # Extract the first word of "gtk-config", so it can be a program name with args. set dummy gtk-config; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1886: checking for $ac_word" >&5 +echo "configure:1907: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GTK_CONFIG'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1913,7 +1934,7 @@ min_gtk_version=1.1.1 echo $ac_n "checking for GTK - version >= $min_gtk_version""... $ac_c" 1>&6 -echo "configure:1917: checking for GTK - version >= $min_gtk_version" >&5 +echo "configure:1938: checking for GTK - version >= $min_gtk_version" >&5 no_gtk="" if test "$GTK_CONFIG" = "no" ; then no_gtk=yes @@ -1936,11 +1957,12 @@ echo $ac_n "cross compiling; assumed OK... $ac_c" else cat > conftest.$ac_ext < #include +#include int main () @@ -1973,6 +1995,15 @@ printf("*** to point to the correct copy of gtk-config, and remove the file config.cache\n"); printf("*** before re-running configure\n"); } + else if ((gtk_major_version != GTK_MAJOR_VERSION) || + (gtk_minor_version != GTK_MINOR_VERSION) || + (gtk_micro_version != GTK_MICRO_VERSION)) + { + printf("*** GTK+ header files (version %d.%d.%d) do not match\n", + GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION); + printf("*** library (version %d.%d.%d)\n", + gtk_major_version, gtk_minor_version, gtk_micro_version); + } else { if ((gtk_major_version > major) || @@ -2002,7 +2033,7 @@ } EOF -if { (eval echo configure:2006: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2037: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then : else @@ -2036,7 +2067,7 @@ CFLAGS="$CFLAGS $GTK_CFLAGS" LIBS="$LIBS $GTK_LIBS" cat > conftest.$ac_ext < @@ -2046,7 +2077,7 @@ return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version)); ; return 0; } EOF -if { (eval echo configure:2050: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2081: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* echo "*** The test program compiled, but did not run. This usually means" echo "*** that the run-time linker is not finding GTK or finding the wrong" @@ -2106,7 +2137,7 @@ ;; *) echo $ac_n "checking for SmcSaveYourselfDone in -lSM""... $ac_c" 1>&6 -echo "configure:2110: checking for SmcSaveYourselfDone in -lSM" >&5 +echo "configure:2141: checking for SmcSaveYourselfDone in -lSM" >&5 ac_lib_var=`echo SM'_'SmcSaveYourselfDone | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2114,7 +2145,7 @@ ac_save_LIBS="$LIBS" LIBS="-lSM $x_libs -lICE $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2160: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2154,17 +2185,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2158: checking for $ac_hdr" >&5 +echo "configure:2189: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2168: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2199: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -2202,7 +2233,7 @@ XPM_LIBS="" echo $ac_n "checking for XpmFreeXpmImage in -lXpm""... $ac_c" 1>&6 -echo "configure:2206: checking for XpmFreeXpmImage in -lXpm" >&5 +echo "configure:2237: checking for XpmFreeXpmImage in -lXpm" >&5 ac_lib_var=`echo Xpm'_'XpmFreeXpmImage | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2210,7 +2241,7 @@ ac_save_LIBS="$LIBS" LIBS="-lXpm $x_libs $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2256: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2254,7 +2285,7 @@ # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2258: checking for $ac_word" >&5 +echo "configure:2289: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_OBJC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2289,7 +2320,7 @@ # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2293: checking for $ac_word" >&5 +echo "configure:2324: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_OBJC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2324,12 +2355,12 @@ OBJC_LIBS="-lobjc $PTHREAD_LIB" echo $ac_n "checking for sched_yield""... $ac_c" 1>&6 -echo "configure:2328: checking for sched_yield" >&5 +echo "configure:2359: checking for sched_yield" >&5 if eval "test \"`echo '$''{'ac_cv_func_sched_yield'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2387: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_sched_yield=yes" else @@ -2371,7 +2402,7 @@ echo "$ac_t""no" 1>&6 echo $ac_n "checking for sched_yield in -lposix4""... $ac_c" 1>&6 -echo "configure:2375: checking for sched_yield in -lposix4" >&5 +echo "configure:2406: checking for sched_yield in -lposix4" >&5 ac_lib_var=`echo posix4'_'sched_yield | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2379,7 +2410,7 @@ ac_save_LIBS="$LIBS" LIBS="-lposix4 $OBJC_LIBS $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2425: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2415,7 +2446,7 @@ echo $ac_n "checking if Objective C compiler ($OBJC) works""... $ac_c" 1>&6 -echo "configure:2419: checking if Objective C compiler ($OBJC) works" >&5 +echo "configure:2450: checking if Objective C compiler ($OBJC) works" >&5 if eval "test \"`echo '$''{'ac_cv_prog_objc_works'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2466,27 +2497,27 @@ echo $ac_n "checking for obGnomeConf.sh file in $gnome_prefix""... $ac_c" 1>&6 -echo "configure:2470: checking for obGnomeConf.sh file in $gnome_prefix" >&5 +echo "configure:2501: checking for obGnomeConf.sh file in $gnome_prefix" >&5 if test -f $gnome_prefix/obGnomeConf.sh; then . $gnome_prefix/obGnomeConf.sh echo "$ac_t""found" 1>&6 else echo "$ac_t""not found" 1>&6 - { echo "configure: error: Could not find the obGnomeConf.sh file that is generated by gnome-objc install" 1>&2; exit 1; } + echo "configure: warning: Could not find the obGnomeConf.sh file that is generated by gnome-objc install" 1>&2 fi -ALL_LINGUAS="de fr it es no ga pt" +ALL_LINGUAS="de es fr ga it no pt sv" echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:2485: checking for working const" >&5 +echo "configure:2516: checking for working const" >&5 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2570: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -2556,21 +2587,21 @@ fi echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:2560: checking for inline" >&5 +echo "configure:2591: checking for inline" >&5 if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2605: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -2596,12 +2627,12 @@ esac echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:2600: checking for off_t" >&5 +echo "configure:2631: checking for off_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -2629,12 +2660,12 @@ fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:2633: checking for size_t" >&5 +echo "configure:2664: checking for size_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -2664,19 +2695,19 @@ # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 -echo "configure:2668: checking for working alloca.h" >&5 +echo "configure:2699: checking for working alloca.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { char *p = alloca(2 * sizeof(int)); ; return 0; } EOF -if { (eval echo configure:2680: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2711: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_header_alloca_h=yes else @@ -2697,12 +2728,12 @@ fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:2701: checking for alloca" >&5 +echo "configure:2732: checking for alloca" >&5 if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2760: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_func_alloca_works=yes else @@ -2757,12 +2788,12 @@ echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:2761: checking whether alloca needs Cray hooks" >&5 +echo "configure:2792: checking whether alloca needs Cray hooks" >&5 if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 -echo "configure:2791: checking for $ac_func" >&5 +echo "configure:2822: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2850: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -2842,7 +2873,7 @@ fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:2846: checking stack direction for C alloca" >&5 +echo "configure:2877: checking stack direction for C alloca" >&5 if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2850,7 +2881,7 @@ ac_cv_c_stack_direction=0 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2904: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_c_stack_direction=1 else @@ -2894,17 +2925,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2898: checking for $ac_hdr" >&5 +echo "configure:2929: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2908: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2939: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -2933,12 +2964,12 @@ for ac_func in getpagesize do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2937: checking for $ac_func" >&5 +echo "configure:2968: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2996: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -2986,7 +3017,7 @@ done echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:2990: checking for working mmap" >&5 +echo "configure:3021: checking for working mmap" >&5 if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2994,7 +3025,7 @@ ac_cv_func_mmap_fixed_mapped=no else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:3169: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_func_mmap_fixed_mapped=yes else @@ -3162,17 +3193,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3166: checking for $ac_hdr" >&5 +echo "configure:3197: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3176: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3207: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -3202,12 +3233,12 @@ __argz_count __argz_stringify __argz_next do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3206: checking for $ac_func" >&5 +echo "configure:3237: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3265: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3259,12 +3290,12 @@ for ac_func in stpcpy do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3263: checking for $ac_func" >&5 +echo "configure:3294: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3322: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3321,19 +3352,19 @@ if test $ac_cv_header_locale_h = yes; then echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 -echo "configure:3325: checking for LC_MESSAGES" >&5 +echo "configure:3356: checking for LC_MESSAGES" >&5 if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { return LC_MESSAGES ; return 0; } EOF -if { (eval echo configure:3337: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3368: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* am_cv_val_LC_MESSAGES=yes else @@ -3354,7 +3385,7 @@ fi fi echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6 -echo "configure:3358: checking whether NLS is requested" >&5 +echo "configure:3389: checking whether NLS is requested" >&5 # Check whether --enable-nls or --disable-nls was given. if test "${enable_nls+set}" = set; then enableval="$enable_nls" @@ -3374,7 +3405,7 @@ EOF echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6 -echo "configure:3378: checking whether included gettext is requested" >&5 +echo "configure:3409: checking whether included gettext is requested" >&5 # Check whether --with-included-gettext or --without-included-gettext was given. if test "${with_included_gettext+set}" = set; then withval="$with_included_gettext" @@ -3393,17 +3424,17 @@ ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for libintl.h""... $ac_c" 1>&6 -echo "configure:3397: checking for libintl.h" >&5 +echo "configure:3428: checking for libintl.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3407: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3438: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -3420,19 +3451,19 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 echo $ac_n "checking for gettext in libc""... $ac_c" 1>&6 -echo "configure:3424: checking for gettext in libc" >&5 +echo "configure:3455: checking for gettext in libc" >&5 if eval "test \"`echo '$''{'gt_cv_func_gettext_libc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { return (int) gettext ("") ; return 0; } EOF -if { (eval echo configure:3436: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3467: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* gt_cv_func_gettext_libc=yes else @@ -3448,7 +3479,7 @@ if test "$gt_cv_func_gettext_libc" != "yes"; then echo $ac_n "checking for bindtextdomain in -lintl""... $ac_c" 1>&6 -echo "configure:3452: checking for bindtextdomain in -lintl" >&5 +echo "configure:3483: checking for bindtextdomain in -lintl" >&5 ac_lib_var=`echo intl'_'bindtextdomain | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3456,7 +3487,7 @@ ac_save_LIBS="$LIBS" LIBS="-lintl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3502: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3483,19 +3514,19 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 echo $ac_n "checking for gettext in libintl""... $ac_c" 1>&6 -echo "configure:3487: checking for gettext in libintl" >&5 +echo "configure:3518: checking for gettext in libintl" >&5 if eval "test \"`echo '$''{'gt_cv_func_gettext_libintl'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3530: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* gt_cv_func_gettext_libintl=yes else @@ -3523,7 +3554,7 @@ # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3527: checking for $ac_word" >&5 +echo "configure:3558: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3557,12 +3588,12 @@ for ac_func in dcgettext do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3561: checking for $ac_func" >&5 +echo "configure:3592: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3620: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3612,7 +3643,7 @@ # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3616: checking for $ac_word" >&5 +echo "configure:3647: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3644,7 +3675,7 @@ # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3648: checking for $ac_word" >&5 +echo "configure:3679: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3676,7 +3707,7 @@ fi cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3719: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* CATOBJEXT=.gmo DATADIRNAME=share @@ -3707,7 +3738,7 @@ if test "$CATOBJEXT" = "NONE"; then echo $ac_n "checking whether catgets can be used""... $ac_c" 1>&6 -echo "configure:3711: checking whether catgets can be used" >&5 +echo "configure:3742: checking whether catgets can be used" >&5 # Check whether --with-catgets or --without-catgets was given. if test "${with_catgets+set}" = set; then withval="$with_catgets" @@ -3720,7 +3751,7 @@ if test "$nls_cv_use_catgets" = "yes"; then echo $ac_n "checking for main in -li""... $ac_c" 1>&6 -echo "configure:3724: checking for main in -li" >&5 +echo "configure:3755: checking for main in -li" >&5 ac_lib_var=`echo i'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3728,14 +3759,14 @@ ac_save_LIBS="$LIBS" LIBS="-li $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3770: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3763,12 +3794,12 @@ fi echo $ac_n "checking for catgets""... $ac_c" 1>&6 -echo "configure:3767: checking for catgets" >&5 +echo "configure:3798: checking for catgets" >&5 if eval "test \"`echo '$''{'ac_cv_func_catgets'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3826: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_catgets=yes" else @@ -3813,7 +3844,7 @@ # Extract the first word of "gencat", so it can be a program name with args. set dummy gencat; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3817: checking for $ac_word" >&5 +echo "configure:3848: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GENCAT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3845,7 +3876,7 @@ # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3849: checking for $ac_word" >&5 +echo "configure:3880: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3878,7 +3909,7 @@ # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3882: checking for $ac_word" >&5 +echo "configure:3913: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3913,7 +3944,7 @@ # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3917: checking for $ac_word" >&5 +echo "configure:3948: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3971,7 +4002,7 @@ # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3975: checking for $ac_word" >&5 +echo "configure:4006: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4005,7 +4036,7 @@ # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4009: checking for $ac_word" >&5 +echo "configure:4040: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4037,7 +4068,7 @@ # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4041: checking for $ac_word" >&5 +echo "configure:4072: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4127,7 +4158,7 @@ LINGUAS= else echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6 -echo "configure:4131: checking for catalogs to be installed" >&5 +echo "configure:4162: checking for catalogs to be installed" >&5 NEW_LINGUAS= for lang in ${LINGUAS=$ALL_LINGUAS}; do case "$ALL_LINGUAS" in @@ -4155,17 +4186,17 @@ if test "$CATOBJEXT" = ".cat"; then ac_safe=`echo "linux/version.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for linux/version.h""... $ac_c" 1>&6 -echo "configure:4159: checking for linux/version.h" >&5 +echo "configure:4190: checking for linux/version.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4169: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4200: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -4231,12 +4262,12 @@ echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:4235: checking for ANSI C header files" >&5 +echo "configure:4266: checking for ANSI C header files" >&5 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -4244,7 +4275,7 @@ #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4248: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4279: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -4261,7 +4292,7 @@ if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -4279,7 +4310,7 @@ if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -4300,7 +4331,7 @@ : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -4311,7 +4342,7 @@ exit (0); } EOF -if { (eval echo configure:4315: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4346: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then : else @@ -4336,12 +4367,12 @@ echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:4340: checking for working const" >&5 +echo "configure:4371: checking for working const" >&5 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4425: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -4411,21 +4442,21 @@ fi echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:4415: checking for inline" >&5 +echo "configure:4446: checking for inline" >&5 if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4460: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -4451,12 +4482,12 @@ esac echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6 -echo "configure:4455: checking whether time.h and sys/time.h may both be included" >&5 +echo "configure:4486: checking whether time.h and sys/time.h may both be included" >&5 if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -4465,7 +4496,7 @@ struct tm *tp; ; return 0; } EOF -if { (eval echo configure:4469: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4500: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_time=yes else @@ -4490,17 +4521,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:4494: checking for $ac_hdr" >&5 +echo "configure:4525: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4504: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4535: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -4527,7 +4558,7 @@ done echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 -echo "configure:4531: checking for dlopen in -ldl" >&5 +echo "configure:4562: checking for dlopen in -ldl" >&5 ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4535,7 +4566,7 @@ ac_save_LIBS="$LIBS" LIBS="-ldl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4581: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4566,7 +4597,7 @@ echo "$ac_t""no" 1>&6 echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6 -echo "configure:4570: checking for shl_load in -ldld" >&5 +echo "configure:4601: checking for shl_load in -ldld" >&5 ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4574,7 +4605,7 @@ ac_save_LIBS="$LIBS" LIBS="-ldld $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4620: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4607,12 +4638,12 @@ for ac_func in dlopen do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4611: checking for $ac_func" >&5 +echo "configure:4642: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4670: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4673,6 +4704,7 @@ +withval="" # Check whether --with-messages or --without-messages was given. if test "${with_messages+set}" = set; then @@ -4690,7 +4722,7 @@ if test x$withval = x; then echo $ac_n "checking for /var/adm/messages""... $ac_c" 1>&6 -echo "configure:4694: checking for /var/adm/messages" >&5 +echo "configure:4726: checking for /var/adm/messages" >&5 if test -f /var/adm/messages; then echo "$ac_t""found" 1>&6 cat >> confdefs.h <<\EOF @@ -4700,7 +4732,7 @@ else echo "$ac_t""not found" 1>&6 echo $ac_n "checking for /var/log/messages""... $ac_c" 1>&6 -echo "configure:4704: checking for /var/log/messages" >&5 +echo "configure:4736: checking for /var/log/messages" >&5 if test -f /var/log/messages; then echo "$ac_t""found" 1>&6 cat >> confdefs.h <<\EOF @@ -4716,12 +4748,12 @@ #check for for inet_aton. echo $ac_n "checking for inet_aton""... $ac_c" 1>&6 -echo "configure:4720: checking for inet_aton" >&5 +echo "configure:4752: checking for inet_aton" >&5 if eval "test \"`echo '$''{'ac_cv_func_inet_aton'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4780: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_inet_aton=yes" else @@ -4762,7 +4794,7 @@ else echo "$ac_t""no" 1>&6 echo $ac_n "checking for inet_aton in -lresolv""... $ac_c" 1>&6 -echo "configure:4766: checking for inet_aton in -lresolv" >&5 +echo "configure:4798: checking for inet_aton in -lresolv" >&5 ac_lib_var=`echo resolv'_'inet_aton | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4770,7 +4802,7 @@ ac_save_LIBS="$LIBS" LIBS="-lresolv $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4817: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4958,6 +4990,7 @@ s%@AUTOHEADER@%$AUTOHEADER%g s%@MAKEINFO@%$MAKEINFO%g s%@SET_MAKE@%$SET_MAKE%g +s%@MAINT@%$MAINT%g s%@GNOME_LIBS@%$GNOME_LIBS%g s%@GNOMEUI_LIBS@%$GNOMEUI_LIBS%g s%@GTKXMHTML_LIBS@%$GTKXMHTML_LIBS%g diff -uNr gnome-admin-0.25/configure.in gnome-admin-0.26/configure.in --- gnome-admin-0.25/configure.in Wed Aug 5 11:32:25 1998 +++ gnome-admin-0.26/configure.in Thu Aug 13 18:43:44 1998 @@ -1,7 +1,8 @@ AC_INIT(logview) AM_CONFIG_HEADER(config.h) -AM_INIT_AUTOMAKE(gnome-admin, 0.25) +AM_INIT_AUTOMAKE(gnome-admin, 0.26) +AM_MAINTAINER_MODE AM_ACLOCAL_INCLUDE(macros) GNOME_INIT @@ -17,7 +18,7 @@ GNOME_CHECK_OBJC GNOME_INIT_OBJC -ALL_LINGUAS="de fr it es no ga pt" +ALL_LINGUAS="de es fr ga it no pt sv" AM_GNU_GETTEXT dnl Checks for header files. @@ -43,6 +44,7 @@ dnl For logview +withval="" AC_ARG_WITH(messages, [ --with-messages= specify messages log file],[ diff -uNr gnome-admin-0.25/gnome-admin.spec gnome-admin-0.26/gnome-admin.spec --- gnome-admin-0.25/gnome-admin.spec Wed Dec 31 19:00:00 1969 +++ gnome-admin-0.26/gnome-admin.spec Tue Aug 11 11:04:34 1998 @@ -0,0 +1,70 @@ +# Note that this is NOT a relocatable package +%define ver 0.25 +%define rel SNAP +%define prefix /usr + +Summary: GNOME sysadmin programs +Name: gnome-admin +Version: %ver +Release: %rel +Copyright: LGPL +Group: X11/Libraries +Source: ftp://ftp.gnome.org/pub/gnome-admin-%{ver}.tar.gz +BuildRoot: /tmp/gnome-admin-root +Obsoletes: gnome +Packager: Marc Ewing +URL: http://www.gnome.org +Docdir: %{prefix}/doc + +%description +GNOME system administration administration programs. + +GNOME is the GNU Network Object Model Environment. That's a fancy +name but really GNOME is a nice GUI desktop environment. It makes +using your computer easy, powerful, and easy to configure. + +%changelog + +* Mon Mar 16 1998 Marc Ewing + +- Integrate into gnome-admin CVS source tree + +%prep +%setup + + +%build +# Needed for snapshot releases. +if [ ! -f configure ]; then + CFLAGS="$RPM_OPT_FLAGS" ./autogen.sh --prefix=%prefix --sysconfdir="/etc" +else + CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%prefix --sysconfdir="/etc" +fi + +if [ "$SMP" != "" ]; then + (make "MAKE=make -k -j $SMP"; exit 0) + make +else + make +fi + +%install +rm -rf $RPM_BUILD_ROOT + + +make prefix=$RPM_BUILD_ROOT%{prefix} sysconfdir=$RPM_BUILD_ROOT/etc install + +%clean +rm -rf $RPM_BUILD_ROOT + +%files +%defattr(-, root, root) + +%doc AUTHORS COPYING ChangeLog NEWS README +%{prefix}/bin +%{prefix}/share/locale +%{prefix}/share/apps +%{prefix}/share/pixmaps +%{prefix}/lib +/etc/mib.txt + diff -uNr gnome-admin-0.25/gulp/Makefile.in gnome-admin-0.26/gulp/Makefile.in --- gnome-admin-0.25/gulp/Makefile.in Wed Aug 5 18:50:45 1998 +++ gnome-admin-0.26/gulp/Makefile.in Thu Aug 13 19:20:42 1998 @@ -90,6 +90,7 @@ LDFLAGS = @LDFLAGS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ +MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ @@ -125,8 +126,8 @@ # ** This has to be called `LINK', not `OBJCLINK' LINK = $(LIBTOOL) --mode=link $(OBJC) $(OBJCFLAGS) $(LDFLAGS) -o $@ -gen_deps_o = -Wp,-MD,.deps/$(*F).P -gen_deps_lo = -Wp,-MD,.deps/$(*F).p +gen_deps_o = @MAINT@-Wp,-MD,.deps/$(*F).P +gen_deps_lo = @MAINT@-Wp,-MD,.deps/$(*F).p #----------------------------------------------------------------------------- bin_PROGRAMS = gulp @@ -178,7 +179,7 @@ .SUFFIXES: .SUFFIXES: .S .c .lo .m .o .s -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps gulp/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @@ -308,6 +309,9 @@ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ || cp -p $$d/$$file $(distdir)/$$file; \ done +doruncmd.o: doruncmd.c +gPrint.lo gPrint.o: gPrint.m gPrint.h +gulp.lo gulp.o: gulp.m ../config.h gPrint.h yes.xpm no.xpm gulp.h info: dvi: @@ -380,9 +384,9 @@ .m.lo: $(LTOBJCCOMPILE) $(gen_deps_lo) -c $< - @-sed -e 's/^\([^:]*\)\.o:/\1.lo \1.o:/' \ - < .deps/$(*F).p > .deps/$(*F).P - @-rm -f .deps/$(*F).p + @MAINT@@-sed -e 's/^\([^:]*\)\.o:/\1.lo \1.o:/' \ + @MAINT@ < .deps/$(*F).p > .deps/$(*F).P + @MAINT@@-rm -f .deps/$(*F).p # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -uNr gnome-admin-0.25/gxsnmp/ChangeLog gnome-admin-0.26/gxsnmp/ChangeLog --- gnome-admin-0.25/gxsnmp/ChangeLog Tue Aug 4 11:36:16 1998 +++ gnome-admin-0.26/gxsnmp/ChangeLog Thu Aug 13 17:37:40 1998 @@ -1,9 +1,77 @@ +Tue Aug 11 20:35:36 EDT 1998 Gregory McLean + + * app/net.c: new file for non-gui type network operations. + * app/net.h: updated the network list struct to handle the + new host -> network connections on the map. + * app/net_map.c: added the network drag functionality that + federico was alluding to in his last commit :) + also re-arranged the logic a bit in the dragging area. + Now Federico can we get key_press events on canvas items???? + PLEASE??? + + * app/Makefile.am: updated for the new file (net.c) + * app/main.c: Killed abunch of old redundant code (canvas now + handles what was killed) + +Tue Aug 11 12:38:59 EDT 1998 Gregory McLean + + * app/net_map.c: Even more canvas fun.. I almost got the layout + looking like I want. Its still a little kooky but I'm beating + the table into submission. +Mon Aug 10 15:16:56 EDT 1998 Gregory McLean + + * app/net_map.c: More canvas fun... Looks like I got + scrolling working. Also played around with the layout + a bit more.. + +Sun Aug 9 01:12:51 EDT 1998 Gregory McLean + + * app/net_map.[ch]: New file.. This will be the new network + map using the spiffy new canvas. This won't be real usable + till the canvas can support events on the widgets that get + stuffed into canvas. Example put a widget (any widget appears + to suffice), then try to drag it around.. Digging around a bit + shows that the canvas 'event' signal isn't getting emited. + or there is some other wierd interaction going on.. I looked + at the base canvas code but couldn't figure out where this may + be happening. I guess federico will have to fix this :) + also scrolling the canvas appears to be fubar but stuffing it in + a scrolled window works around that. Try adding more then one + widget to a canvas.. I get a deadlock. Maybe I don't understand + the canvas well enough yet. On the scrolling I foolishly thought + doing something like gtk_scrolled_window_new (canvas->hadjustment, + canvas->vadjustment); would save me from dealing with the scrollbars + myself. I guess not :(. Also it appears that you don't get keypresses + on the canvas items? Is this planned? This would be handy for some + things. In short I guess the canvas isn't quite ready for me :( + + * app/Makefile.am: updated to atleast compile the new file. + +Sun Aug 2 11:46:11 EDT 1998 Gregory McLean + + * pixmaps/logo_v.xpm: resized it so the map window will fit + on the screen + +Thu Aug 6 20:55:06 CEST 1998 Jochen Friedrich + + * TODO: updated. + * configure.in, docs/rfc1906.txt, lib/g_dispatch.c, lib/g_dispatch.h, + lib/g_transport.c, lib/test.c, app/snmp_lib.c: + added IPX transport. Changed init function to allow bind to + reserved SNMP sockets. + * app/gui.c: bugfix to notebook creation. + Sat Aug 1 16:02:32 EDT 1998 Gregory McLean * pixmaps/Makefile.am: removed a bogus space that was tripping up the make dist function. * app/main.[ch]: added in the foundation for dynamic sizing the windows to fit on the screen. + +Thu Jul 30 22:55:56 CEST 1998 Jochen Friedrich + + * lib/g_dispatch.c, lib/g_message.c, lib/g_session.c, lib/g_snmp.c, + lib/test.c: Implemented synchronous SNMP. Wed Jul 29 23:09:33 CEST 1998 Jochen Friedrich diff -uNr gnome-admin-0.25/gxsnmp/TODO gnome-admin-0.26/gxsnmp/TODO --- gnome-admin-0.25/gxsnmp/TODO Tue Aug 4 11:36:16 1998 +++ gnome-admin-0.26/gxsnmp/TODO Tue Aug 11 11:04:34 1998 @@ -30,7 +30,8 @@ -- Database backend (MySQL, Postgres etc..) This has been started, currently it only stores and loads from the - database. Delete and update needs to be done. + database. Delete and update needs to be done. + Delete and update DONE (jochen) -- Network list needs to be done. @@ -60,8 +61,11 @@ drag drop on host in quetion.. Tada! Other uses would be to drag a host off the map onto another app.. --- The snmp library needs some sync get and set code implemented. +-- The snmp library needs some sync get and set code implemented. DONE (jochen) -- OK, now that we have the Enterprise ID handle, make SNMPv3 work. + +-- Configuration setting for transport (AF_xxxx) needed. Change version + slider to radio button for V1, V2c, V3. and anything else I think of diff -uNr gnome-admin-0.25/gxsnmp/aclocal.m4 gnome-admin-0.26/gxsnmp/aclocal.m4 --- gnome-admin-0.25/gxsnmp/aclocal.m4 Tue Aug 4 11:47:52 1998 +++ gnome-admin-0.26/gxsnmp/aclocal.m4 Thu Aug 13 18:44:00 1998 @@ -674,6 +674,7 @@ AC_TRY_RUN([ #include #include +#include int main () @@ -706,6 +707,15 @@ printf("*** to point to the correct copy of gtk-config, and remove the file config.cache\n"); printf("*** before re-running configure\n"); } + else if ((gtk_major_version != GTK_MAJOR_VERSION) || + (gtk_minor_version != GTK_MINOR_VERSION) || + (gtk_micro_version != GTK_MICRO_VERSION)) + { + printf("*** GTK+ header files (version %d.%d.%d) do not match\n", + GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION); + printf("*** library (version %d.%d.%d)\n", + gtk_major_version, gtk_minor_version, gtk_micro_version); + } else { if ((gtk_major_version > major) || diff -uNr gnome-admin-0.25/gxsnmp/app/Makefile.am gnome-admin-0.26/gxsnmp/app/Makefile.am --- gnome-admin-0.25/gxsnmp/app/Makefile.am Tue Aug 4 11:36:19 1998 +++ gnome-admin-0.26/gxsnmp/app/Makefile.am Thu Aug 13 17:37:40 1998 @@ -35,6 +35,10 @@ main_panel.h \ menus.c \ menus.h \ + net_map.c \ + net_map.h \ + net.c \ + net.h \ network_panel.c \ network_panel.h \ ping.c \ @@ -55,7 +59,6 @@ EXTRA_DIST = \ page.xpm \ - logo_v.xpm \ toolbox.xpm \ mib.txt @@ -83,6 +86,6 @@ Mib_DATA = mib.txt -pixmap_DATA = toolbox.xpm logo_v.xpm \ +pixmap_DATA = toolbox.xpm \ page.xpm diff -uNr gnome-admin-0.25/gxsnmp/app/Makefile.in gnome-admin-0.26/gxsnmp/app/Makefile.in --- gnome-admin-0.25/gxsnmp/app/Makefile.in Wed Aug 5 18:51:12 1998 +++ gnome-admin-0.26/gxsnmp/app/Makefile.in Thu Aug 13 19:20:54 1998 @@ -137,6 +137,10 @@ main_panel.h \ menus.c \ menus.h \ + net_map.c \ + net_map.h \ + net.c \ + net.h \ network_panel.c \ network_panel.h \ ping.c \ @@ -157,7 +161,6 @@ EXTRA_DIST = \ page.xpm \ - logo_v.xpm \ toolbox.xpm \ mib.txt @@ -183,7 +186,7 @@ Mib_DATA = mib.txt -pixmap_DATA = toolbox.xpm logo_v.xpm \ +pixmap_DATA = toolbox.xpm \ page.xpm mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs CONFIG_HEADER = ../config.h @@ -201,8 +204,8 @@ X_PRE_LIBS = @X_PRE_LIBS@ gxsnmp_OBJECTS = about.o browser.o config_panel.o db_interface.o date.o \ events.o fileops.o gui.o host.o host_list.o main.o main_panel.o menus.o \ -network_panel.o ping.o queue.o rmon_panel.o snmp_lib.o snmp_host.o \ -sql_interface.o c_parser.o c_lex.o +net_map.o net.o network_panel.o ping.o queue.o rmon_panel.o snmp_lib.o \ +snmp_host.o sql_interface.o c_parser.o c_lex.o gxsnmp_DEPENDENCIES = $(top_builddir)/lib/libgxsnmp.la \ $(top_builddir)/widgets/libgtkext.la gxsnmp_LDFLAGS = @@ -386,6 +389,222 @@ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ || cp -p $$d/$$file $(distdir)/$$file; \ done +about.o: about.c main.h ../config.h ../lib/g_snmp.h ../lib/g_asn1.h \ + ../lib/g_auth.h ../lib/g_sha.h ../lib/g_md5.h ../lib/g_access.h \ + ../lib/g_message.h ../lib/g_security.h ../lib/g_session.h \ + ../lib/g_transport.h ../lib/g_dispatch.h ../lib/parse.h \ + ../lib/mib.h about.h gui.h snmp_host.h net.h menus.h \ + ../widgets/gtksbox.h snmp_lib.h config_panel.h host_list.h \ + host.h network_panel.h events.h fileops.h browser.h ping.h \ + date.h sql_interface.h queue.h ../widgets/gtkhost.h \ + main_panel.h rmon_panel.h +browser.o: browser.c main.h ../config.h ../lib/g_snmp.h ../lib/g_asn1.h \ + ../lib/g_auth.h ../lib/g_sha.h ../lib/g_md5.h ../lib/g_access.h \ + ../lib/g_message.h ../lib/g_security.h ../lib/g_session.h \ + ../lib/g_transport.h ../lib/g_dispatch.h ../lib/parse.h \ + ../lib/mib.h about.h gui.h snmp_host.h net.h menus.h \ + ../widgets/gtksbox.h snmp_lib.h config_panel.h host_list.h \ + host.h network_panel.h events.h fileops.h browser.h ping.h \ + date.h sql_interface.h queue.h ../widgets/gtkhost.h \ + main_panel.h rmon_panel.h +c_lex.o: c_lex.c c_parser.h main.h ../config.h ../lib/g_snmp.h \ + ../lib/g_asn1.h ../lib/g_auth.h ../lib/g_sha.h ../lib/g_md5.h \ + ../lib/g_access.h ../lib/g_message.h ../lib/g_security.h \ + ../lib/g_session.h ../lib/g_transport.h ../lib/g_dispatch.h \ + ../lib/parse.h ../lib/mib.h about.h gui.h snmp_host.h net.h \ + menus.h ../widgets/gtksbox.h snmp_lib.h config_panel.h \ + host_list.h host.h network_panel.h events.h fileops.h browser.h \ + ping.h date.h sql_interface.h queue.h ../widgets/gtkhost.h \ + main_panel.h rmon_panel.h +c_parser.o: c_parser.c main.h ../config.h ../lib/g_snmp.h \ + ../lib/g_asn1.h ../lib/g_auth.h ../lib/g_sha.h ../lib/g_md5.h \ + ../lib/g_access.h ../lib/g_message.h ../lib/g_security.h \ + ../lib/g_session.h ../lib/g_transport.h ../lib/g_dispatch.h \ + ../lib/parse.h ../lib/mib.h about.h gui.h snmp_host.h net.h \ + menus.h ../widgets/gtksbox.h snmp_lib.h config_panel.h \ + host_list.h host.h network_panel.h events.h fileops.h browser.h \ + ping.h date.h sql_interface.h queue.h ../widgets/gtkhost.h \ + main_panel.h rmon_panel.h +config_panel.o: config_panel.c main.h ../config.h ../lib/g_snmp.h \ + ../lib/g_asn1.h ../lib/g_auth.h ../lib/g_sha.h ../lib/g_md5.h \ + ../lib/g_access.h ../lib/g_message.h ../lib/g_security.h \ + ../lib/g_session.h ../lib/g_transport.h ../lib/g_dispatch.h \ + ../lib/parse.h ../lib/mib.h about.h gui.h snmp_host.h net.h \ + menus.h ../widgets/gtksbox.h snmp_lib.h config_panel.h \ + host_list.h host.h network_panel.h events.h fileops.h browser.h \ + ping.h date.h sql_interface.h queue.h ../widgets/gtkhost.h \ + main_panel.h rmon_panel.h +date.o: date.c main.h ../config.h ../lib/g_snmp.h ../lib/g_asn1.h \ + ../lib/g_auth.h ../lib/g_sha.h ../lib/g_md5.h ../lib/g_access.h \ + ../lib/g_message.h ../lib/g_security.h ../lib/g_session.h \ + ../lib/g_transport.h ../lib/g_dispatch.h ../lib/parse.h \ + ../lib/mib.h about.h gui.h snmp_host.h net.h menus.h \ + ../widgets/gtksbox.h snmp_lib.h config_panel.h host_list.h \ + host.h network_panel.h events.h fileops.h browser.h ping.h \ + date.h sql_interface.h queue.h ../widgets/gtkhost.h \ + main_panel.h rmon_panel.h +db_interface.o: db_interface.c main.h ../config.h ../lib/g_snmp.h \ + ../lib/g_asn1.h ../lib/g_auth.h ../lib/g_sha.h ../lib/g_md5.h \ + ../lib/g_access.h ../lib/g_message.h ../lib/g_security.h \ + ../lib/g_session.h ../lib/g_transport.h ../lib/g_dispatch.h \ + ../lib/parse.h ../lib/mib.h about.h gui.h snmp_host.h net.h \ + menus.h ../widgets/gtksbox.h snmp_lib.h config_panel.h \ + host_list.h host.h network_panel.h events.h fileops.h browser.h \ + ping.h date.h sql_interface.h queue.h ../widgets/gtkhost.h \ + main_panel.h rmon_panel.h db_interface.h +events.o: events.c main.h ../config.h ../lib/g_snmp.h ../lib/g_asn1.h \ + ../lib/g_auth.h ../lib/g_sha.h ../lib/g_md5.h ../lib/g_access.h \ + ../lib/g_message.h ../lib/g_security.h ../lib/g_session.h \ + ../lib/g_transport.h ../lib/g_dispatch.h ../lib/parse.h \ + ../lib/mib.h about.h gui.h snmp_host.h net.h menus.h \ + ../widgets/gtksbox.h snmp_lib.h config_panel.h host_list.h \ + host.h network_panel.h events.h fileops.h browser.h ping.h \ + date.h sql_interface.h queue.h ../widgets/gtkhost.h \ + main_panel.h rmon_panel.h +fileops.o: fileops.c main.h ../config.h ../lib/g_snmp.h ../lib/g_asn1.h \ + ../lib/g_auth.h ../lib/g_sha.h ../lib/g_md5.h ../lib/g_access.h \ + ../lib/g_message.h ../lib/g_security.h ../lib/g_session.h \ + ../lib/g_transport.h ../lib/g_dispatch.h ../lib/parse.h \ + ../lib/mib.h about.h gui.h snmp_host.h net.h menus.h \ + ../widgets/gtksbox.h snmp_lib.h config_panel.h host_list.h \ + host.h network_panel.h events.h fileops.h browser.h ping.h \ + date.h sql_interface.h queue.h ../widgets/gtkhost.h \ + main_panel.h rmon_panel.h +gui.o: gui.c main.h ../config.h ../lib/g_snmp.h ../lib/g_asn1.h \ + ../lib/g_auth.h ../lib/g_sha.h ../lib/g_md5.h ../lib/g_access.h \ + ../lib/g_message.h ../lib/g_security.h ../lib/g_session.h \ + ../lib/g_transport.h ../lib/g_dispatch.h ../lib/parse.h \ + ../lib/mib.h about.h gui.h snmp_host.h net.h menus.h \ + ../widgets/gtksbox.h snmp_lib.h config_panel.h host_list.h \ + host.h network_panel.h events.h fileops.h browser.h ping.h \ + date.h sql_interface.h queue.h ../widgets/gtkhost.h \ + main_panel.h rmon_panel.h +host.o: host.c ../config.h main.h ../lib/g_snmp.h ../lib/g_asn1.h \ + ../lib/g_auth.h ../lib/g_sha.h ../lib/g_md5.h ../lib/g_access.h \ + ../lib/g_message.h ../lib/g_security.h ../lib/g_session.h \ + ../lib/g_transport.h ../lib/g_dispatch.h ../lib/parse.h \ + ../lib/mib.h about.h gui.h snmp_host.h net.h menus.h \ + ../widgets/gtksbox.h snmp_lib.h config_panel.h host_list.h \ + host.h network_panel.h events.h fileops.h browser.h ping.h \ + date.h sql_interface.h queue.h ../widgets/gtkhost.h \ + main_panel.h rmon_panel.h +host_list.o: host_list.c main.h ../config.h ../lib/g_snmp.h \ + ../lib/g_asn1.h ../lib/g_auth.h ../lib/g_sha.h ../lib/g_md5.h \ + ../lib/g_access.h ../lib/g_message.h ../lib/g_security.h \ + ../lib/g_session.h ../lib/g_transport.h ../lib/g_dispatch.h \ + ../lib/parse.h ../lib/mib.h about.h gui.h snmp_host.h net.h \ + menus.h ../widgets/gtksbox.h snmp_lib.h config_panel.h \ + host_list.h host.h network_panel.h events.h fileops.h browser.h \ + ping.h date.h sql_interface.h queue.h ../widgets/gtkhost.h \ + main_panel.h rmon_panel.h +main.o: main.c ../config.h main.h ../lib/g_snmp.h ../lib/g_asn1.h \ + ../lib/g_auth.h ../lib/g_sha.h ../lib/g_md5.h ../lib/g_access.h \ + ../lib/g_message.h ../lib/g_security.h ../lib/g_session.h \ + ../lib/g_transport.h ../lib/g_dispatch.h ../lib/parse.h \ + ../lib/mib.h about.h gui.h snmp_host.h net.h menus.h \ + ../widgets/gtksbox.h snmp_lib.h config_panel.h host_list.h \ + host.h network_panel.h events.h fileops.h browser.h ping.h \ + date.h sql_interface.h queue.h ../widgets/gtkhost.h \ + main_panel.h rmon_panel.h net_map.h +main_panel.o: main_panel.c main.h ../config.h ../lib/g_snmp.h \ + ../lib/g_asn1.h ../lib/g_auth.h ../lib/g_sha.h ../lib/g_md5.h \ + ../lib/g_access.h ../lib/g_message.h ../lib/g_security.h \ + ../lib/g_session.h ../lib/g_transport.h ../lib/g_dispatch.h \ + ../lib/parse.h ../lib/mib.h about.h gui.h snmp_host.h net.h \ + menus.h ../widgets/gtksbox.h snmp_lib.h config_panel.h \ + host_list.h host.h network_panel.h events.h fileops.h browser.h \ + ping.h date.h sql_interface.h queue.h ../widgets/gtkhost.h \ + main_panel.h rmon_panel.h +menus.o: menus.c menus.h main.h ../config.h ../lib/g_snmp.h \ + ../lib/g_asn1.h ../lib/g_auth.h ../lib/g_sha.h ../lib/g_md5.h \ + ../lib/g_access.h ../lib/g_message.h ../lib/g_security.h \ + ../lib/g_session.h ../lib/g_transport.h ../lib/g_dispatch.h \ + ../lib/parse.h ../lib/mib.h about.h gui.h snmp_host.h net.h \ + ../widgets/gtksbox.h snmp_lib.h config_panel.h host_list.h \ + host.h network_panel.h events.h fileops.h browser.h ping.h \ + date.h sql_interface.h queue.h ../widgets/gtkhost.h \ + main_panel.h rmon_panel.h +net.o: net.c ../config.h main.h ../lib/g_snmp.h ../lib/g_asn1.h \ + ../lib/g_auth.h ../lib/g_sha.h ../lib/g_md5.h ../lib/g_access.h \ + ../lib/g_message.h ../lib/g_security.h ../lib/g_session.h \ + ../lib/g_transport.h ../lib/g_dispatch.h ../lib/parse.h \ + ../lib/mib.h about.h gui.h snmp_host.h net.h menus.h \ + ../widgets/gtksbox.h snmp_lib.h config_panel.h host_list.h \ + host.h network_panel.h events.h fileops.h browser.h ping.h \ + date.h sql_interface.h queue.h ../widgets/gtkhost.h \ + main_panel.h rmon_panel.h +net_map.o: net_map.c ../config.h main.h ../lib/g_snmp.h ../lib/g_asn1.h \ + ../lib/g_auth.h ../lib/g_sha.h ../lib/g_md5.h ../lib/g_access.h \ + ../lib/g_message.h ../lib/g_security.h ../lib/g_session.h \ + ../lib/g_transport.h ../lib/g_dispatch.h ../lib/parse.h \ + ../lib/mib.h about.h gui.h snmp_host.h net.h menus.h \ + ../widgets/gtksbox.h snmp_lib.h config_panel.h host_list.h \ + host.h network_panel.h events.h fileops.h browser.h ping.h \ + date.h sql_interface.h queue.h ../widgets/gtkhost.h \ + main_panel.h rmon_panel.h net_map.h +network_panel.o: network_panel.c main.h ../config.h ../lib/g_snmp.h \ + ../lib/g_asn1.h ../lib/g_auth.h ../lib/g_sha.h ../lib/g_md5.h \ + ../lib/g_access.h ../lib/g_message.h ../lib/g_security.h \ + ../lib/g_session.h ../lib/g_transport.h ../lib/g_dispatch.h \ + ../lib/parse.h ../lib/mib.h about.h gui.h snmp_host.h net.h \ + menus.h ../widgets/gtksbox.h snmp_lib.h config_panel.h \ + host_list.h host.h network_panel.h events.h fileops.h browser.h \ + ping.h date.h sql_interface.h queue.h ../widgets/gtkhost.h \ + main_panel.h rmon_panel.h +ping.o: ping.c main.h ../config.h ../lib/g_snmp.h ../lib/g_asn1.h \ + ../lib/g_auth.h ../lib/g_sha.h ../lib/g_md5.h ../lib/g_access.h \ + ../lib/g_message.h ../lib/g_security.h ../lib/g_session.h \ + ../lib/g_transport.h ../lib/g_dispatch.h ../lib/parse.h \ + ../lib/mib.h about.h gui.h snmp_host.h net.h menus.h \ + ../widgets/gtksbox.h snmp_lib.h config_panel.h host_list.h \ + host.h network_panel.h events.h fileops.h browser.h ping.h \ + date.h sql_interface.h queue.h ../widgets/gtkhost.h \ + main_panel.h rmon_panel.h +queue.o: queue.c main.h ../config.h ../lib/g_snmp.h ../lib/g_asn1.h \ + ../lib/g_auth.h ../lib/g_sha.h ../lib/g_md5.h ../lib/g_access.h \ + ../lib/g_message.h ../lib/g_security.h ../lib/g_session.h \ + ../lib/g_transport.h ../lib/g_dispatch.h ../lib/parse.h \ + ../lib/mib.h about.h gui.h snmp_host.h net.h menus.h \ + ../widgets/gtksbox.h snmp_lib.h config_panel.h host_list.h \ + host.h network_panel.h events.h fileops.h browser.h ping.h \ + date.h sql_interface.h queue.h ../widgets/gtkhost.h \ + main_panel.h rmon_panel.h +rmon_panel.o: rmon_panel.c main.h ../config.h ../lib/g_snmp.h \ + ../lib/g_asn1.h ../lib/g_auth.h ../lib/g_sha.h ../lib/g_md5.h \ + ../lib/g_access.h ../lib/g_message.h ../lib/g_security.h \ + ../lib/g_session.h ../lib/g_transport.h ../lib/g_dispatch.h \ + ../lib/parse.h ../lib/mib.h about.h gui.h snmp_host.h net.h \ + menus.h ../widgets/gtksbox.h snmp_lib.h config_panel.h \ + host_list.h host.h network_panel.h events.h fileops.h browser.h \ + ping.h date.h sql_interface.h queue.h ../widgets/gtkhost.h \ + main_panel.h rmon_panel.h +snmp_host.o: snmp_host.c main.h ../config.h ../lib/g_snmp.h \ + ../lib/g_asn1.h ../lib/g_auth.h ../lib/g_sha.h ../lib/g_md5.h \ + ../lib/g_access.h ../lib/g_message.h ../lib/g_security.h \ + ../lib/g_session.h ../lib/g_transport.h ../lib/g_dispatch.h \ + ../lib/parse.h ../lib/mib.h about.h gui.h snmp_host.h net.h \ + menus.h ../widgets/gtksbox.h snmp_lib.h config_panel.h \ + host_list.h host.h network_panel.h events.h fileops.h browser.h \ + ping.h date.h sql_interface.h queue.h ../widgets/gtkhost.h \ + main_panel.h rmon_panel.h +snmp_lib.o: snmp_lib.c ../config.h main.h ../lib/g_snmp.h \ + ../lib/g_asn1.h ../lib/g_auth.h ../lib/g_sha.h ../lib/g_md5.h \ + ../lib/g_access.h ../lib/g_message.h ../lib/g_security.h \ + ../lib/g_session.h ../lib/g_transport.h ../lib/g_dispatch.h \ + ../lib/parse.h ../lib/mib.h about.h gui.h snmp_host.h net.h \ + menus.h ../widgets/gtksbox.h snmp_lib.h config_panel.h \ + host_list.h host.h network_panel.h events.h fileops.h browser.h \ + ping.h date.h sql_interface.h queue.h ../widgets/gtkhost.h \ + main_panel.h rmon_panel.h +sql_interface.o: sql_interface.c main.h ../config.h ../lib/g_snmp.h \ + ../lib/g_asn1.h ../lib/g_auth.h ../lib/g_sha.h ../lib/g_md5.h \ + ../lib/g_access.h ../lib/g_message.h ../lib/g_security.h \ + ../lib/g_session.h ../lib/g_transport.h ../lib/g_dispatch.h \ + ../lib/parse.h ../lib/mib.h about.h gui.h snmp_host.h net.h \ + menus.h ../widgets/gtksbox.h snmp_lib.h config_panel.h \ + host_list.h host.h network_panel.h events.h fileops.h browser.h \ + ping.h date.h sql_interface.h queue.h ../widgets/gtkhost.h \ + main_panel.h rmon_panel.h db_interface.h info: dvi: diff -uNr gnome-admin-0.25/gxsnmp/app/about.c gnome-admin-0.26/gxsnmp/app/about.c --- gnome-admin-0.25/gxsnmp/app/about.c Tue Aug 4 11:36:19 1998 +++ gnome-admin-0.26/gxsnmp/app/about.c Tue Aug 11 11:04:35 1998 @@ -1,5 +1,5 @@ /* - * $Id: about.c,v 1.6 1998/07/04 15:58:36 gregm Exp $ + * $Id: about.c,v 1.7 1998/08/10 23:09:40 gregm Exp $ * GXSNMP -- An snmp mangament application * Copyright (C) 1998 Gregory McLean * @@ -23,8 +23,6 @@ static char const copyright[] = "@(#) Copyright (c) 1998 Gregory McLean"; #endif -static char const rcsid[] = -"$Id: about.c,v 1.6 1998/07/04 15:58:36 gregm Exp $"; #include "main.h" @@ -45,11 +43,13 @@ create_panel () { GtkWidget *about; + gchar *about_pixmap_filename; gchar *authors[] = { "Gregory McLean", "Jochen Friedrich", NULL }; + about_pixmap_filename = gnome_unconditional_pixmap_file ("logo_h.xpm"); about = gnome_about_new ( "GXSNMP", VERSION, "(C) 1998 Gregory McLean & Jochen Friedrich", authors, @@ -70,4 +70,3 @@ } /* EOF */ - diff -uNr gnome-admin-0.25/gxsnmp/app/browser.c gnome-admin-0.26/gxsnmp/app/browser.c --- gnome-admin-0.25/gxsnmp/app/browser.c Tue Aug 4 11:36:19 1998 +++ gnome-admin-0.26/gxsnmp/app/browser.c Tue Aug 11 11:04:35 1998 @@ -1,5 +1,5 @@ /* - * $Id: browser.c,v 1.18 1998/07/04 15:58:37 gregm Exp $ + * $Id: browser.c,v 1.19 1998/08/10 23:09:41 gregm Exp $ * GXSNMP - An snmp managment application * Copyright (C) 1998 Gregory McLean * @@ -23,8 +23,6 @@ static char const copyright[] = "@(#) Copyright (C) 1998 Gregory McLean"; #endif -static char const rcsid[] = -"$Id: browser.c,v 1.18 1998/07/04 15:58:37 gregm Exp $"; #include "main.h" diff -uNr gnome-admin-0.25/gxsnmp/app/gui.c gnome-admin-0.26/gxsnmp/app/gui.c --- gnome-admin-0.25/gxsnmp/app/gui.c Tue Aug 4 11:36:20 1998 +++ gnome-admin-0.26/gxsnmp/app/gui.c Tue Aug 11 11:04:35 1998 @@ -1,5 +1,5 @@ /* - * $Id: gui.c,v 1.13 1998/08/01 20:04:27 gregm Exp $ + * $Id: gui.c,v 1.15 1998/08/10 23:09:42 gregm Exp $ * GXSNMP - An snmp managment application * Copyright (C) 1998 Gregory McLean * @@ -279,14 +279,26 @@ gtk_box_pack_start (GTK_BOX (tab_box), pixmap, FALSE, TRUE, 0); gtk_misc_set_padding (GTK_MISC (pixmap), 3, 1); tab_label = gtk_label_new (label); - gtk_misc_set_padding (GTK_MISC (label), 10, 0); + gtk_misc_set_padding (GTK_MISC (tab_label), 10, 0); gtk_box_pack_start (GTK_BOX (tab_box), tab_label, FALSE, TRUE, 0); gtk_widget_show_all (tab_box); return tab_box; } -/* EOF */ - - +GtkWidget * +get_widget (GtkWidget *widget, const gchar *name) +{ + GtkWidget *found; + g_return_val_if_fail (GTK_IS_OBJECT (widget), NULL); + if (widget->parent) + widget = gtk_widget_get_toplevel (widget); + found = gtk_object_get_data (GTK_OBJECT (widget), name); + if (!found) + { + return NULL; + } + return found; +} +/* EOF */ diff -uNr gnome-admin-0.25/gxsnmp/app/gui.h gnome-admin-0.26/gxsnmp/app/gui.h --- gnome-admin-0.25/gxsnmp/app/gui.h Tue Aug 4 11:36:20 1998 +++ gnome-admin-0.26/gxsnmp/app/gui.h Tue Aug 11 11:04:35 1998 @@ -1,5 +1,5 @@ /* - * $Id: gui.h,v 1.8 1998/05/31 01:41:31 gregm Exp $ + * $Id: gui.h,v 1.9 1998/08/10 23:09:43 gregm Exp $ * GXSNMP - An snmp managment application * Copyright (C) 1998 Gregory McLean * @@ -40,22 +40,31 @@ */ #define ELEMENTS(x) (sizeof (x) / sizeof (x[0])) -GtkWidget *new_window (char *title, +GtkWidget *new_window (char *title, GtkWindowType type, GtkWindowPosition pos, int border); -GtkWidget *new_pixmap (char *filename, +GtkWidget *new_pixmap (char *filename, GdkWindow *window, GdkColor *background); -GtkWidget *new_host_widget (hosts *hentry); -GdkColor get_color (int which); -void destroy_pixmap_cache (void); -void init_pixmap_d (GtkWidget *window); -void page_switch_cb (GtkWidget *widget, +GtkWidget *new_host_widget (hosts *hentry); +GdkColor get_color (int which); +void destroy_pixmap_cache (void); +void init_pixmap_d (GtkWidget *window); +void page_switch_cb (GtkWidget *widget, GtkNotebookPage *page, gint page_num); -void notice_dlg (gchar *msg, ...) +void notice_dlg (gchar *msg, ...) __attribute__ ((format (printf, 1, 2))); -GtkWidget *notebook_tab (const char *label); +GtkWidget *notebook_tab (const char *label); +GtkWidget *get_widget (GtkWidget *widget, + const gchar *name); #endif /* EOF */ + + + + + + + diff -uNr gnome-admin-0.25/gxsnmp/app/host.c gnome-admin-0.26/gxsnmp/app/host.c --- gnome-admin-0.25/gxsnmp/app/host.c Tue Aug 4 11:36:20 1998 +++ gnome-admin-0.26/gxsnmp/app/host.c Tue Aug 11 11:04:35 1998 @@ -1,5 +1,5 @@ /* - * $Id: host.c,v 1.8 1998/05/06 22:07:06 gregm Exp $ + * $Id: host.c,v 1.9 1998/08/10 23:09:44 gregm Exp $ * GXSNMP -- An snmp management application * Copyright (C) 1998 Gregory McLean * @@ -23,8 +23,6 @@ static char const copyright[] = "@(#) Copyright (c) 1998 Gregory McLean"; #endif -static char const rcsid[] = - "$Id: host.c,v 1.8 1998/05/06 22:07:06 gregm Exp $"; #include #include @@ -80,9 +78,13 @@ } hosts * -find_host (char *hostname) +find_host (const char *hostname) { - return (g_hash_table_lookup (app_info->host_hash, hostname)); +/* g_return_val_if_fail (strlen (hostname) < 0, NULL); */ + if (app_info->host_hash) + return (g_hash_table_lookup (app_info->host_hash, hostname)); + else + return NULL; } hosts * diff -uNr gnome-admin-0.25/gxsnmp/app/host.h gnome-admin-0.26/gxsnmp/app/host.h --- gnome-admin-0.25/gxsnmp/app/host.h Tue Aug 4 11:36:20 1998 +++ gnome-admin-0.26/gxsnmp/app/host.h Tue Aug 11 11:04:35 1998 @@ -1,5 +1,5 @@ /* - * $Id: host.h,v 1.2 1998/03/12 21:17:51 gregm Exp $ + * $Id: host.h,v 1.3 1998/08/10 23:09:45 gregm Exp $ * GXSNMP -- An snmp management application * Copyright (C) 1998 Gregory McLean * @@ -24,7 +24,7 @@ #include "snmp_host.h" struct hostent *lookuphost (char *hostname); -hosts *find_host (char *hostname); +hosts *find_host (const char *hostname); hosts *hl_add_host (hosts *entry); void hl_del_host (hosts *entry); hosts *get_current_host (void); diff -uNr gnome-admin-0.25/gxsnmp/app/logo_v.xpm gnome-admin-0.26/gxsnmp/app/logo_v.xpm --- gnome-admin-0.25/gxsnmp/app/logo_v.xpm Tue Aug 4 11:36:20 1998 +++ gnome-admin-0.26/gxsnmp/app/logo_v.xpm Wed Dec 31 19:00:00 1969 @@ -1,226 +0,0 @@ -/* XPM */ -static char * logo_v_xpm[] = { -"47 221 2 1", -" c None", -". c #000000", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ........ ", -" ........... ", -" ............. ", -" ............... ", -" ................ ", -" ................. ", -" ................. ", -" .................. ", -" ................... ", -" ................... ", -" ................... ", -" ................... ", -" .................... ", -" .................... ", -" .................... ", -" .................... . . . . ", -" ................. .. .. .. .. .. ", -" ................. .. .. .. .. .. ", -" ................. .. .. .. .. .. ", -" ................. .. .. .. .. .. ", -" ................. .. .. .. .. .. ", -" ................. .. .. .. .. .. ", -" ................. .. .. .. .. .. ", -" ................. .. .. .. .. .. ", -" ................. .. .. .. .. .. ", -" ................. .. .. .. .. .. ", -" ................. .. .. .. .. .. ", -" ................. .. .. .. .. .. ", -" ................. .. .. .. .. .. ", -" ................. .. .. .. .. .. ", -" ................. .. .. .. .. .. ", -" ................ .. .. . .. .. ", -" ", -" ", -" ................................. ", -" ................................. ", -" ................................. ", -" ................................ ", -" ................................ ", -" ............................... ", -" ............................... ", -" .............................. ", -" .............................. ", -" ............................. ", -" ............................. ", -" ............................ ", -" ............................ ", -" ........................... ", -" ........................... ", -" .......................... ", -" ............ ...... ...... ", -" ... .. .. .. .. ...... ", -" ... .. .. .. .. ....... ", -" .. .. .. .. .. ....... ", -" .. .. .. .. .. ........ ", -" .. .. .. .. .. ........ ", -" .. .. .. .. .. ......... ", -" .. .. .. .. .. ......... ", -" .. .. .. .. .. ......... ", -" .. .. .. .. ... .......... ", -" .. .. .. .. .. .......... ", -" .. .. .. .. ... ........... ", -" .. .. .. .. .. ........... ", -" .. .. .. .. ... ............ ", -" .. .. .. .. .. ............ ", -" .. .. .. .. ... ............. ", -" .. .. .. .. .. ............. ", -" .. .. .. .. ... .............. ", -" .. .. .. .. .. .............. ", -" .. .. .. .. ... ............... ", -" .. .. .. .. .. ............... ", -" . . . ............... ", -" ", -" ................ ", -" .................. .. .. .. .. . ", -" ................. .. .. .. . .. ", -" ................. .. .. .. .. . ", -" ................ .. .. .. . .. ", -" ................ .. .. .. .. .. ", -" ............... .. .. .. . ... ", -" ............... .. .. .. .. ... ", -" .............. .. .. .. . .... ", -" .............. .. .. .. .. .... ", -" ............. .. .. .. . ..... ", -" ............. .. .. .. .. ..... ", -" ............ .. .. .. . ...... ", -" ............ .. .. .. .. ...... ", -" ........... .. .. .. . ....... ", -" ........... .. .. .. .. ....... ", -" .......... .. .. .. . ........ ", -" ......... .. .. .. .. ........ ", -" .. .. .. .. . ......... ", -" .. .. .. .. .. ......... ", -" .. .. .. .. . .......... ", -" .. .. .. .. .. .......... ", -" .. .. .. .. . ........... ", -" .. . .. .. .. ........... ", -" .. .. .. .. . ............ ", -" .. . .. .. .. ............ ", -" .. .. .. .. . ............. ", -" .. . .. .. .. ............. ", -" .. .. .. .. . .............. ", -" .. . .. .. .. .............. ", -" .. .. .. .. . ............... ", -" .. . .. .. .. ............... ", -" . .. . .. . ................ ", -" ", -" ", -" ............ . ", -" ............ . .. .. ", -" ............ .. .. .. .. ", -" ............... . .. .. .. ", -" .............. .. .. .. .. ", -" .............. .. .. .. .. ", -" .............. .. .. .. .. .. ", -" ............. .. .. .. .. ... ", -" ............. .. .. . .. .... ", -" ............ .. .. .. .. ..... ", -" ............ . .. .. .. ..... ", -" ........... .. .. .. .. ....... ", -" ........... .. .. .. .. ....... ", -" ........... .. .. .. .. ........ ", -" .......... .. .. .. .. ........ ", -" .......... .. .. . .. ........ ", -" ......... .. .. .. .. ......... ", -" ......... . .. .. .. ......... ", -" ........ .. .. .. .. .......... ", -" ....... .. .. .. .. .......... ", -" ....... .. .. .. .. ........... ", -" ...... .. .. .. .. ........... ", -" ...... .. .. .. .. ........... ", -" .... .. . .. .. ............ ", -" .... . .. .. .. ............ ", -" ... .. .. .. .. ............. ", -" .. .. .. .. .. ............. ", -" .. .. .. .. .............. ", -" .. .. .. .. .............. ", -" . .. .. .. .............. ", -" .. .. .. .. ........... ", -" . .. .. . ........... ", -" . .. ........... ", -" ......... ", -" ", -" ............... . . . . . ", -" ............... . .. . .. . ", -" .............. .. .. .. .. .. ", -" ............. .. .. .. .. .. ", -" ............ .. .. .. .. .. ", -" ........... .. .. .. .. .. ", -" ........... .. .. .. .. .. ", -" ......... .. .. .. .. .. ", -" ......... .. .. .. .. .. ", -" ....... .. .. .. .. .. ", -" ....... .. .. .. .. .. ", -" ..... .. .. .. .. .. ", -" ..... .. .. .. .. .. ", -" .... .. .. .. .. .. ", -" ... ... .. ... .. .. ", -" .. .. .. .. .. .. ", -" .. .. .. .. .. .. ", -" ... .. .. .. .. .... ", -" .. .. .. .. .. .... ", -" .. .. .. .. .. ...... ", -" .. .. .. .. .. ...... ", -" .. .. .. .. .. ........ ", -" .. .. .. .. .. ........ ", -" .. .. .. .. .. .......... ", -" .. .. .. .. ... .......... ", -" .. .. .. .. .. ............ ", -" .. .. .. .. ... ............ ", -" .. ... .. ... .. ............ ", -" ... .. ... .. .. .............. ", -" .. .. .. ... .. .............. ", -" .. .. . .. .. ................ ", -" ", -" ", -" ............ . . . . . ", -" .............. .. .. .. .. .. ", -" .............. .. .. .. .. .. . ", -" .............. .. .. .. .. .. .. ", -" .............. .. .. .. .. .. .. ", -" .............. .. .. .. .. .. ... ", -" .............. .. .. .. .. .. ... ", -" .............. .. .. .. .. . .... ", -" .............. .. .. .. .. .. .... ", -" .............. .. .. .. .. .. ..... ", -" .............. .. .. .. .. .. ..... ", -" ................. .. .. .. .. ...... ", -" ................ .. .. .. .. ....... ", -" ................ .. .. .. .. ....... ", -" ............... .. .. .. .. ........ ", -" ............... .. .. .. .. ........ ", -" ...................................... ", -" .................................. ", -" ................................. ", -" ................................. ", -" ................................ ", -" ................................ ", -" ............................... ", -" .............................. ", -" ............................. ", -" ............................ ", -" .......................... ", -" ........................ ", -" ...................... ", -" ................... ", -" ................ ", -" ........... ", -" ", -" ", -" ", -" ", -" "}; diff -uNr gnome-admin-0.25/gxsnmp/app/main.c gnome-admin-0.26/gxsnmp/app/main.c --- gnome-admin-0.25/gxsnmp/app/main.c Tue Aug 4 11:36:22 1998 +++ gnome-admin-0.26/gxsnmp/app/main.c Thu Aug 13 18:35:37 1998 @@ -1,5 +1,5 @@ /* - * $Id: main.c,v 1.46 1998/08/01 20:04:28 gregm Exp $ + * $Id: main.c,v 1.50 1998/08/13 22:21:25 gregm Exp $ * GXSNMP -- An snmp mangament application * Copyright (C) 1998 Gregory McLean * @@ -25,10 +25,11 @@ "@(#) Copyright (c) 1998 Gregory McLean"; #endif static char const rcsid[] = - "$Id: main.c,v 1.46 1998/08/01 20:04:28 gregm Exp $"; + "$Id: main.c,v 1.50 1998/08/13 22:21:25 gregm Exp $"; #include #include "main.h" #include +#include "net_map.h" /* * Local functions @@ -48,8 +49,6 @@ gpointer data); static gint button_press_event (GtkWidget *widget, GdkEventButton *event); -static gint motion_notify_event (GtkWidget *widget, - GdkEventMotion *event); static gint panel_delete_cb (GtkWidget *widget, GdkEvent *e, gpointer data); @@ -58,7 +57,6 @@ static GtkWidget *status; -static char *logo_pixmap_filename; gxsnmp *app_info; @@ -134,7 +132,7 @@ } else { - done = TRUE; + done = TRUE; *accelerator_key = accelerator[0]; } } @@ -216,34 +214,6 @@ toolbar = gtk_toolbar_new (GTK_ORIENTATION_VERTICAL, GTK_TOOLBAR_BOTH); - kludge = gnome_unconditional_pixmap_file ("add_host.xpm"); - gtk_toolbar_append_item (GTK_TOOLBAR (toolbar), - _("Add host"), _("Add a new host to the database"), - NULL, - new_pixmap (kludge, window->window, - &window->style->bg[GTK_STATE_NORMAL]), - (GtkSignalFunc) open_add_host_panel, NULL); - kludge = gnome_unconditional_pixmap_file ("del_host.xpm"); - gtk_toolbar_append_item (GTK_TOOLBAR (toolbar), - _("Delete host"), - _("Remove a host from the database"), - NULL, - new_pixmap (kludge, window->window, - &window->style->bg[GTK_STATE_NORMAL]), - (GtkSignalFunc) delete_host_cb, NULL); - gtk_toolbar_append_item (GTK_TOOLBAR (toolbar), - _("Host List"), _("Open the list of known hosts"), - NULL, - gnome_stock_pixmap_widget (window, - GNOME_STOCK_PIXMAP_NEW), - (GtkSignalFunc) hlist_panel_open, NULL); - gtk_toolbar_append_item (GTK_TOOLBAR (toolbar), - _("Network List"), - _("Open the list of known networks"), - NULL, - gnome_stock_pixmap_widget (window, - GNOME_STOCK_PIXMAP_NEW), - (GtkSignalFunc) open_network_panel, NULL); gtk_toolbar_append_item (GTK_TOOLBAR (toolbar), _("Mib Browser"), _("Open the mib browser"), NULL, @@ -344,52 +314,6 @@ gtk_box_pack_start (GTK_BOX (hbox), right_box, TRUE, TRUE, 0); gtk_widget_show (right_box); - scrolled_window = gtk_scrolled_window_new (NULL, NULL); - gtk_container_border_width (GTK_CONTAINER (scrolled_window), 10); - gtk_widget_set_usize (GTK_WIDGET (scrolled_window), 600, 600); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window), - GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); - gtk_box_pack_start (GTK_BOX (right_box), scrolled_window, TRUE, TRUE, 0); - gtk_widget_show (scrolled_window); - - app_info->eventbox = gtk_event_box_new (); - gtk_widget_set_usize (app_info->eventbox, 1600, 1024); - gtk_widget_set_events (app_info->eventbox, - GDK_BUTTON_PRESS_MASK | - GDK_POINTER_MOTION_MASK | - GDK_POINTER_MOTION_HINT_MASK ); - gtk_container_add (GTK_CONTAINER (scrolled_window), app_info->eventbox); - gtk_widget_realize (app_info->eventbox); - gdk_window_set_cursor (app_info->eventbox->window, gdk_cursor_new - (GDK_CROSSHAIR)); - /* - * Set up the backing pixmap for our network map - */ - app_info->pixmap = gdk_pixmap_new (app_info->eventbox->window, 1600, - 1024, -1); - gdk_window_set_back_pixmap (app_info->eventbox->window, app_info->pixmap, - FALSE); - gdk_draw_rectangle (app_info->pixmap, - app_info->eventbox->style->white_gc, - TRUE, - 0, 0, - 1600, 1024); - gtk_widget_show (app_info->eventbox); - - scrolled = gtk_sbox_new (); - gtk_widget_set_usize (scrolled, 1600, 1024); - gtk_container_add (GTK_CONTAINER (app_info->eventbox), scrolled); - gtk_widget_show (scrolled); - - gtk_signal_connect (GTK_OBJECT (app_info->eventbox), "motion_notify_event", - GTK_SIGNAL_FUNC (motion_notify_event), - NULL); - gtk_signal_connect (GTK_OBJECT (app_info->eventbox), "button_press_event", - GTK_SIGNAL_FUNC (button_press_event), - NULL); - - gtk_widget_show (scrolled); - bar = gtk_hseparator_new (); gtk_box_pack_start (GTK_BOX (vbox), bar, FALSE, FALSE, 0); gtk_widget_show (bar); @@ -402,23 +326,10 @@ gtk_container_add (GTK_CONTAINER (hbox), toolbar); gtk_widget_show (toolbar); - app_info->mouse_stat = gtk_statusbar_new (); - gtk_box_pack_start (GTK_BOX (left_box), app_info->mouse_stat, - FALSE, FALSE, 0); - gtk_widget_show (app_info->mouse_stat); - gtk_widget_realize (app_info->window); - logo_pixmap_filename = gnome_unconditional_pixmap_file ("logo_v.xpm"); - logo = new_pixmap (logo_pixmap_filename, app_info->window->window, - &app_info->window->style->bg[GTK_STATE_NORMAL]); - gtk_box_pack_start (GTK_BOX (left_box), logo, TRUE, TRUE, 2); - gtk_widget_show (logo); app_info->app_stat = gtk_statusbar_new (); app_info->app_stat_id = gtk_statusbar_get_context_id (GTK_STATUSBAR(app_info->app_stat), "app_stat"); - app_info->mouse_stat_id = gtk_statusbar_get_context_id ( - GTK_STATUSBAR(app_info->mouse_stat), - "mouse_stat"); gtk_box_pack_start (GTK_BOX (vbox), app_info->app_stat, FALSE, FALSE, 0); #ifdef GTK_HAVE_FEATURES_1_1_0 gtk_window_add_accel_group (GTK_WINDOW (app_info->window), @@ -427,7 +338,6 @@ gtk_window_add_accelerator_table (GTK_WINDOW (app_info->window), app_info->accel_table); #endif - g_print ("Showing map window...\n"); gtk_widget_show_all (app_info->window); init_pixmap_d (app_info->app_stat); } @@ -451,6 +361,7 @@ destroy_control_panel (); destroy_edit_panel (); destroy_route_panel (); + destroy_map_panel (); if (app_info->conf_panel != NULL) { gtk_widget_destroy (app_info->conf_panel->window); @@ -597,39 +508,6 @@ return TRUE; } -static gint -motion_notify_event ( GtkWidget *widget, GdkEventMotion *event) -{ - int x, y; - static gint statusid; - - char buf[80]; - GdkModifierType state; - - if (event->is_hint) - gdk_window_get_pointer (event->window, &x, &y, &state); - else - { - x = event->x; - y = event->y; - state = event->state; - } - if (state & GDK_BUTTON2_MASK && app_info->pixmap != NULL) - { - if(app_info->current_host != NULL) - { - gtk_widget_set_uposition (GTK_WIDGET(app_info->current_host), - x, y); - } - } - sprintf (buf, "%d x %d", x, y); - gtk_statusbar_pop (GTK_STATUSBAR (app_info->mouse_stat), - app_info->mouse_stat_id); - gtk_statusbar_push (GTK_STATUSBAR (app_info->mouse_stat), - app_info->mouse_stat_id, buf); - return TRUE; -} - void update_app_stat (gchar *msg, ...) { @@ -661,8 +539,10 @@ new = hl_add_host (hentry); if (new != NULL) { - new->widget = new_host_widget (new); - if (!GTK_WIDGET_REALIZED (scrolled)) + + /* new->widget = new_host_widget (new); */ + map_add_host (new, -1, -1); + /* if (!GTK_WIDGET_REALIZED (scrolled)) gtk_widget_realize (scrolled); color = get_color (HOST_UP_COLOR); gdk_color_alloc (gdk_window_get_colormap (scrolled->window), @@ -677,16 +557,20 @@ gdk_cursor_new (GDK_HAND1) ); gtk_signal_connect (GTK_OBJECT (new->widget), "button_press_event", GTK_SIGNAL_FUNC (host_button_cb), - NULL); + NULL); */ new->snmp_running = FALSE; + /* gtk_object_set_data (GTK_OBJECT (new->widget),"host_entry", new); + */ if (app_info->hlist_pane != NULL) list_add (NULL, new, NULL); if (app_info->brows_panel != NULL) browser_add_host (new->hl_snmp.name); + /* gtk_widget_show (new->widget); gtk_widget_set_style (new->widget, &style); app_info->current_host = new->widget; + */ app_info->host_count++; update_known_hosts (app_info->host_count); } @@ -778,6 +662,7 @@ app_info->snmp_running = 0; } create_main_panel (); + open_map_panel (); open_control_panel (); sql_load_host_table (); diff -uNr gnome-admin-0.25/gxsnmp/app/net.c gnome-admin-0.26/gxsnmp/app/net.c --- gnome-admin-0.25/gxsnmp/app/net.c Wed Dec 31 19:00:00 1969 +++ gnome-admin-0.26/gxsnmp/app/net.c Thu Aug 13 17:37:40 1998 @@ -0,0 +1,33 @@ +/* + * $Id: net.c,v 1.1 1998/08/12 00:53:59 gregm Exp $ + * GXSNMP -- An snmp management application + * Copyright (C) 1998 Gregory McLean + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, MA 02139, USA. + * + * Network specific functions. (not gui related) + */ +#include +#include +#include "net.h" + +void +add_host_to_network (net_entry *network, hosts *host) +{ + network->nl_hosts = g_slist_append (network->nl_hosts, host); +} + +/* EOF */ + diff -uNr gnome-admin-0.25/gxsnmp/app/net.h gnome-admin-0.26/gxsnmp/app/net.h --- gnome-admin-0.25/gxsnmp/app/net.h Wed Dec 31 19:00:00 1969 +++ gnome-admin-0.26/gxsnmp/app/net.h Thu Aug 13 17:37:40 1998 @@ -0,0 +1,38 @@ +/* + * $Id: net.h,v 1.4 1998/08/12 00:53:59 gregm Exp $ + * GXSNMP - An snmp managment application + * Copyright (C) 1998 Gregory McLean + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, MA 02139, USA. + * + * Network Definitions + */ +#ifndef __NETDEF_H__ +#define __NETDEF_H__ +#include + +typedef struct __net_entry { + char *nl_name; + struct in_addr nl_net; + struct in_addr nl_mask; + int nl_speed; + int nl_flags; + GSList *nl_hosts; /* list of hosts connected */ + GnomeCanvasGroup *nl_mgroup; /* The canvas group for this network */ +} net_entry; + + +#endif +/* EOF */ diff -uNr gnome-admin-0.25/gxsnmp/app/net_map.c gnome-admin-0.26/gxsnmp/app/net_map.c --- gnome-admin-0.25/gxsnmp/app/net_map.c Wed Dec 31 19:00:00 1969 +++ gnome-admin-0.26/gxsnmp/app/net_map.c Thu Aug 13 18:35:37 1998 @@ -0,0 +1,819 @@ +/* + * GXSNMP - An snmp managment application + * Copyright (C) 1998 Gregory McLean + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, MA 02139, USA. + * + * Network Map panel. (New and Improved to use the gnome-canvas) + */ + +#include "config.h" +#include +#include +#include "main.h" +#include "net_map.h" +#include "net.h" + +/* + * Forward declaration + */ + +static void create_map_panel (void); +static void delete_map_panel (GtkWidget *widget, + gpointer data); +static void close_panel_cb (GtkWidget *widget, + gpointer data); +static gint canvas_key_press (GnomeCanvas *widget, + GdkEventKey *e, + gpointer data); +static gint canvas_item_event (GnomeCanvasItem *item, + GdkEvent *e, + gpointer data); +static gint canvas_event (GtkWidget *widget, + GdkEvent *e, + gpointer data); +static gint update_mouse_stat (GtkWidget *widget, + GdkEventMotion *e, + gpointer data); +static void setup_item (GnomeCanvasItem *item, + gpointer data); +static void free_imlib_image (GtkObject *object, + gpointer data); +static void host_pixmap (GnomeCanvasGroup *group, + double x, + double y); + +/* + * Menu callbacks + */ +static void quit_app_cb (GtkWidget *widget, + gpointer data); +/* + * Toolbar callbacks + */ +static void add_host_cb (GtkWidget *widget, + gpointer data); +static void host_list_cb (GtkWidget *widget, + gpointer data); +/* + * Global variables needed for this panel + */ + + +/* + * Local variables for the network map panel + */ + +static GtkWidget *map_panel = NULL; + +static GnomeUIInfo map_file_menu[] = { + { GNOME_APP_UI_ITEM, N_("New"), NULL, NULL, NULL, NULL, + GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_NEW, 0, 0, NULL }, + { GNOME_APP_UI_ITEM, N_("Open..."), NULL, NULL, NULL, NULL, + GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_OPEN, 0, 0, NULL }, + { GNOME_APP_UI_ITEM, N_("Save"), NULL, NULL, NULL, NULL, + GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_SAVE, 0, 0, NULL }, + { GNOME_APP_UI_ITEM, N_("Save As..."), NULL, NULL, NULL, NULL, + GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_SAVE_AS, 0, 0, NULL }, + { GNOME_APP_UI_SEPARATOR }, + { GNOME_APP_UI_ITEM, N_("Print..."), NULL, NULL, NULL, NULL, + GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_PRINT, 'P', GDK_CONTROL_MASK, + NULL }, + { GNOME_APP_UI_SEPARATOR }, + { GNOME_APP_UI_ITEM, N_("Close"), NULL, NULL, NULL, NULL, + GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_CLOSE, 0, 0, NULL }, + { GNOME_APP_UI_ITEM, N_("Exit"), NULL, quit_app_cb, NULL, NULL, + GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_EXIT, 'X', GDK_CONTROL_MASK, + NULL }, + { GNOME_APP_UI_ENDOFINFO } +}; + +static GnomeUIInfo map_edit_menu[] = { + { GNOME_APP_UI_ITEM, N_("Undo"), NULL, NULL, NULL, NULL, + GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_BLANK, 0, 0, NULL }, + { GNOME_APP_UI_ENDOFINFO } +}; + +static GnomeUIInfo map_panel_menu[] = { + { GNOME_APP_UI_SUBTREE, N_("File"), NULL, map_file_menu, NULL, NULL, + GNOME_APP_PIXMAP_NONE, NULL, 0, 0, NULL }, + { GNOME_APP_UI_SUBTREE, N_("Edit"), NULL, map_edit_menu, NULL, NULL, + GNOME_APP_PIXMAP_NONE, NULL, 0, 0, NULL }, + { GNOME_APP_UI_ENDOFINFO } +}; + +/* + * Toolbar.. (gnome style) + */ +static GnomeUIInfo map_toolbar[] = { + { GNOME_APP_UI_ITEM, N_("Add Host"), + N_("Add a new host to the database."), add_host_cb, NULL, NULL, + GNOME_APP_PIXMAP_FILENAME, "add_host.xpm", 'A', GDK_MOD1_MASK, + NULL }, + { GNOME_APP_UI_ITEM, N_("Delete Host"), + N_("Delete a host from the database."), NULL, NULL, NULL, + GNOME_APP_PIXMAP_FILENAME, "del_host.xpm", 0, 0, NULL }, + { GNOME_APP_UI_ITEM, N_("Host list"), + N_("Open the list of known hosts."), host_list_cb, NULL, NULL, + GNOME_APP_PIXMAP_FILENAME, "host_list.xpm", 0, 0, NULL }, + { GNOME_APP_UI_ITEM, N_("Network list"), NULL, NULL, NULL, NULL, + GNOME_APP_PIXMAP_FILENAME, "net_list.xpm", 0, 0, NULL }, + { GNOME_APP_UI_ITEM, N_("Mib Browser"), NULL, NULL, NULL, NULL, + GNOME_APP_PIXMAP_NONE, NULL, 0, 0, NULL }, + { GNOME_APP_UI_ITEM, N_("Event Browser"), NULL, NULL, NULL, NULL, + GNOME_APP_PIXMAP_NONE, NULL, 0, 0, NULL }, + { GNOME_APP_UI_ENDOFINFO } +}; + +/* + * Local functions + */ +static void +create_map_panel () +{ + GtkWidget *window_frame; + GtkWidget *map_table; + GtkWidget *separator_bar; + GtkWidget *logo_widget; + GtkWidget *mouse_stat; /* The mouse x y on the map */ + GtkWidget *map_stat; /* Any stat info for the map */ + GtkWidget *canvas; + GtkWidget *scrolled_window; + GtkWidget *frame; + GtkWidget *led_bar; + GtkWidget *s_bar; + GnomeCanvasGroup *root; + gchar *logo_pixmap_filename; + + map_panel = gnome_app_new ("GXSNMP", _("New Network map")); + gtk_signal_connect (GTK_OBJECT (map_panel), "delete_event", + (GtkSignalFunc) delete_map_panel, + NULL); + + window_frame = gtk_frame_new (NULL); + gtk_container_border_width (GTK_CONTAINER (window_frame), 4); + + map_table = gtk_table_new (8, 7, FALSE); + gtk_object_set_data (GTK_OBJECT (map_panel), "map_table", map_table); + gtk_widget_set_name (GTK_WIDGET (map_table), "net_map_table"); + gtk_container_border_width (GTK_CONTAINER (map_table), 2); + gtk_container_add (GTK_CONTAINER (window_frame), map_table); + + /* + * set up some separator bars + */ + /* separator_bar = gtk_hseparator_new (); + gtk_table_attach (GTK_TABLE (map_table), separator_bar, + 0, 7, 6, 7, + GTK_FILL, GTK_FILL, 3, 3); */ + + separator_bar = gtk_vseparator_new (); + gtk_table_attach (GTK_TABLE (map_table), separator_bar, + 1, 2, 3, 6, + GTK_FILL, GTK_FILL, 3, 0); + + /* separator_bar = gtk_hseparator_new (); + gtk_table_attach (GTK_TABLE (map_table), separator_bar, + 0, 7, 2, 3, + GTK_FILL, GTK_FILL, 3, 3); */ + + /* + * The logo + */ + logo_pixmap_filename = gnome_unconditional_pixmap_file ("logo_v.xpm"); + logo_widget = gnome_pixmap_new_from_file (logo_pixmap_filename); + gtk_table_attach (GTK_TABLE (map_table), logo_widget, + 0, 1, 3, 6, + GTK_FILL, GTK_FILL, 0, 0); + /* + * The canvas for the map. + */ + gtk_widget_push_visual (gdk_imlib_get_visual ()); + gtk_widget_push_colormap (gdk_imlib_get_colormap ()); + canvas = gnome_canvas_new (); + gtk_widget_pop_colormap (); + gtk_widget_pop_visual (); + gnome_canvas_set_size (GNOME_CANVAS (canvas), 1600, 1024); + gnome_canvas_set_scroll_region (GNOME_CANVAS (canvas), + 0, 0, + 1600, 1024); + gtk_signal_connect (GTK_OBJECT (canvas), "key_press_event", + (GtkSignalFunc) canvas_key_press, + map_panel); + gtk_signal_connect (GTK_OBJECT (canvas), "motion_notify_event", + (GtkSignalFunc) update_mouse_stat, + map_panel); + gtk_object_set_data (GTK_OBJECT (map_panel), "map_canvas", canvas); + gtk_widget_set_name (GTK_WIDGET (canvas), "map_canvas"); + /* + * Scrolled area for the canvas... + */ + scrolled_window = gtk_frame_new (NULL); + gtk_frame_set_shadow_type (GTK_FRAME (scrolled_window), GTK_SHADOW_IN); + gtk_table_attach (GTK_TABLE (map_table), scrolled_window, + 3, 6, 4, 5, + GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); + gtk_widget_set_usize (scrolled_window, 600, 400); + s_bar = gtk_hscrollbar_new (GTK_LAYOUT (canvas)->hadjustment); + gtk_table_attach (GTK_TABLE (map_table), s_bar, + 2, 7, 5, 6, + GTK_FILL, GTK_FILL, 0, 3); + s_bar = gtk_hruler_new (); + gtk_signal_connect_object (GTK_OBJECT (canvas), "motion_notify_event", + (GtkSignalFunc) GTK_WIDGET_CLASS (GTK_OBJECT (s_bar)->klass)->motion_notify_event, + GTK_OBJECT (s_bar)); + gtk_table_attach (GTK_TABLE (map_table), s_bar, + 3, 6, 3, 4, + GTK_FILL, GTK_FILL, 0, 0); + gtk_ruler_set_range (GTK_RULER (s_bar), 0, 10, 5, 10); + s_bar = gtk_vscrollbar_new (GTK_LAYOUT (canvas)->vadjustment); + gtk_table_attach (GTK_TABLE (map_table), s_bar, + 6, 7, 3, 5, + GTK_FILL, GTK_FILL, 3, 0); + s_bar = gtk_vruler_new (); + gtk_signal_connect_object (GTK_OBJECT (canvas), "motion_notify_event", + (GtkSignalFunc) GTK_WIDGET_CLASS (GTK_OBJECT (s_bar)->klass)->motion_notify_event, + GTK_OBJECT (s_bar)); + gtk_ruler_set_range (GTK_RULER (s_bar), 0, 10, 5, 10); + gtk_table_attach (GTK_TABLE (map_table), s_bar, + 2, 3, 3, 5, + GTK_FILL, GTK_FILL, 0, 0); + gtk_container_add (GTK_CONTAINER (scrolled_window), canvas); + root = GNOME_CANVAS_GROUP (gnome_canvas_root (GNOME_CANVAS (canvas))); + gtk_object_set_data (GTK_OBJECT (map_panel), "map_canvas_root", root); + GTK_WIDGET_SET_FLAGS (canvas, GTK_CAN_FOCUS); + gtk_widget_grab_focus (canvas); + /* + * Status areas + */ + mouse_stat = gtk_statusbar_new (); + gtk_table_attach (GTK_TABLE (map_table), mouse_stat, + 0, 1, 7, 8, + GTK_FILL, GTK_FILL, 2, 0); + gtk_object_set_data (GTK_OBJECT (map_panel), "mouse_stat", mouse_stat); + gtk_object_set_data (GTK_OBJECT (map_panel), "mouse_stat_id", (int *) + gtk_statusbar_get_context_id (GTK_STATUSBAR + (mouse_stat), + "mouse_stat")); + + map_stat = gtk_statusbar_new (); + gtk_table_attach (GTK_TABLE (map_table), map_stat, + 1, 7, 7, 8, + GTK_FILL, GTK_FILL, 2, 0); + gtk_object_set_data (GTK_OBJECT (map_panel), "map_stat", mouse_stat); + gtk_object_set_data (GTK_OBJECT (map_panel), "map_stat_id", (int *) + gtk_statusbar_get_context_id (GTK_STATUSBAR + (mouse_stat), + "map_stat")); + /* + frame = gtk_frame_new (NULL); + gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN); + gtk_table_attach (GTK_TABLE (map_table), frame, + 6, 7, 7, 8, + GTK_FILL, GTK_FILL, 2, 0); + led_bar = (GtkWidget *)led_bar_new (5); + gtk_container_add (GTK_CONTAINER (frame), led_bar); + + -- This screws up the window layout... + */ + /* + * Set the gnome_app contents... + */ + gnome_app_set_contents (GNOME_APP (map_panel), window_frame); + gnome_app_create_menus (GNOME_APP (map_panel), map_panel_menu); + gnome_app_create_toolbar (GNOME_APP (map_panel), map_toolbar); + gtk_widget_show_all (map_panel); +} + + +/* + * Callback functions + */ + +/* + * Window Manager delete signal + */ +static void +delete_map_panel (GtkWidget *widget, gpointer data) +{ +} + +/* + * Close button callback + */ +static void +close_panel_cb (GtkWidget *widget, gpointer data) +{ + destroy_map_panel (); +} + +/* + * Keypress on the canvas + */ +static gint +canvas_key_press (GnomeCanvas *widget, GdkEventKey *e, gpointer data) +{ + int x, y; + + gnome_canvas_get_scroll_offsets (widget, &x, &y); + switch (e->keyval) + { + case GDK_Up: + gnome_canvas_scroll_to (widget, x, y - 20); + break; + case GDK_Down: + gnome_canvas_scroll_to (widget, x, y + 20); + break; + case GDK_Left: + gnome_canvas_scroll_to (widget, x - 10, y); + break; + case GDK_Right: + gnome_canvas_scroll_to (widget, x + 10, y); + break; + default: + break; + } + return FALSE; +} + +/* + * Events on the items in the canvas + */ +static gint +canvas_item_event (GnomeCanvasItem *item, GdkEvent *event, gpointer data) +{ + static double x, y; + double new_x, new_y; + GdkCursor *fleur; + gboolean is_network; + static int dragging; + GtkWidget *canvas; + hosts *host = NULL; + net_entry *network = NULL; + GSList *host_list; + GnomeCanvasPoints *points; + + is_network = gtk_object_get_data (GTK_OBJECT (item), "is_network"); + switch (event->type) + { + case GDK_BUTTON_PRESS: + switch (event->button.button) + { + case 1: + x = event->button.x; + y = event->button.y; + fleur = gdk_cursor_new (GDK_FLEUR); + gnome_canvas_item_grab (item, + GDK_POINTER_MOTION_MASK | + GDK_BUTTON_RELEASE_MASK, + fleur, + event->button.time); + gdk_cursor_destroy (fleur); + dragging = TRUE; + break; + case 2: + /* do something nifty */ + break; + case 3: + g_print ("Menu popup? \n"); + /* Do a popup menu? */ + break; + default: + break; + } + case GDK_MOTION_NOTIFY: + if (dragging && (event->motion.state & GDK_BUTTON1_MASK)) + { + new_x = event->motion.x; + new_y = event->motion.y; + /* + * TODO: Auto scroll the canvas when moving beyond the bounds of + * visible window? And the BIG CAD style cross-hairs. + * Also need to adjust this code to deal with network drags. + */ + gnome_canvas_item_move (item, new_x - x, new_y - y); + if (is_network) + { + network = (net_entry *)data; + host_list = network->nl_hosts; + while (host_list) + { + host = (hosts *)host_list->data; + setup_host_net_connection (host, network); + host_list = g_slist_next (host_list); + } + } + else + { + host = (hosts *)data; + if (host) + { + setup_host_net_connection (host, host->hl_network); + } + } + x = new_x; + y = new_y; + } + break; + case GDK_BUTTON_RELEASE: + gnome_canvas_item_ungrab (item, event->button.time); + dragging = FALSE; + break; + case GDK_KEY_PRESS: + g_print ("Item event got a key press..\n"); + break; + case GDK_KEY_RELEASE: + g_print ("Item event got a key release...\n"); + default: + break; + } + return FALSE; +} + +static gint +canvas_event (GtkWidget *widget, GdkEvent *e, gpointer data) +{ + switch (e->type) + { + case GDK_BUTTON_PRESS: + switch (e->button.button) + { + case GDK_BUTTON3_MASK: + g_print ("Main popup menu?\n"); + break; + default: + break; + } + } + return FALSE; +} + +static gint +update_mouse_stat (GtkWidget *widget, GdkEventMotion *e, gpointer data) +{ + gint x, y, statusid; + gchar buf[80]; + GdkModifierType state; + GtkWidget *stat_widget; + + if (e->is_hint) + gdk_window_get_pointer (e->window, &x, &y, &state); + else + { + x = e->x; + y = e->y; + state = e->state; + } + snprintf (buf, sizeof (buf), "%d x %d", x, y); + stat_widget = get_widget (map_panel, "mouse_stat"); + if (stat_widget) + { + statusid = gtk_statusbar_get_context_id (GTK_STATUSBAR (stat_widget), + "mouse_stat"); + gtk_statusbar_push (GTK_STATUSBAR (stat_widget), statusid, buf); + /* gtk_statusbar_pop (GTK_STATUSBAR (stat_widget), statusid); */ + } + return FALSE; +} + +/* + * Menu callback functions + */ +static void +quit_app_cb (GtkWidget *widget, gpointer data) +{ + quit_app (); +} + +/* + * Toolbar callback functions + */ +static void +add_host_cb (GtkWidget *widget, gpointer data) +{ + open_add_host_panel (); +} + +static void +host_list_cb (GtkWidget *widget, gpointer data) +{ + hlist_panel_open (); +} + +/* + * Exported global functions + * (Standard panel funcs) + * + */ + +/* + * Open + */ +net_entry *test; + +void +open_map_panel () +{ + + if (map_panel) + { + if (!GTK_WIDGET_VISIBLE (map_panel)) + gtk_widget_show (map_panel); + return; + } + else + { + create_map_panel (); + reset_map_panel (); + test = (net_entry *) g_malloc (sizeof (net_entry)); + test->nl_name = g_strdup ("Test Network"); + map_add_network (test, 100, 50); + } +} + +/* + * Close/destroy + */ +void +destroy_map_panel () +{ + g_return_if_fail (map_panel != NULL); + + if (map_panel) + { + gtk_widget_destroy (map_panel); + map_panel = NULL; + } +} + +/* + * Hide + */ +void +hide_map_panel () +{ + g_return_if_fail (map_panel != NULL); + + if (!GTK_WIDGET_VISIBLE (map_panel)) + gtk_widget_show (map_panel); +} + +/* + * reset + */ +void +reset_map_panel () +{ + + g_return_if_fail (map_panel != NULL); + +} + +/* + * Support functions for the map + */ + +static void +setup_item (GnomeCanvasItem *item, gpointer data) +{ + g_return_if_fail (item != NULL); + gtk_signal_connect (GTK_OBJECT (item), "event", + (GtkSignalFunc) canvas_item_event, + data); +} +static void +free_imlib_image (GtkObject *object, gpointer data) +{ + gdk_imlib_destroy_image (data); +} + +static void +host_pixmap (GnomeCanvasGroup *group, double x, double y) +{ + GdkImlibImage *im; + GnomeCanvasItem *image; + char *fn; + + fn = gnome_unconditional_pixmap_file ("desktop.xpm"); + im = gdk_imlib_load_image (fn); + y -= (im->rgb_height + 3); + image = gnome_canvas_item_new (group, + gnome_canvas_image_get_type (), + "image", im, + "x", x, + "y", y, + "width", (double) im->rgb_width, + "height", (double) im->rgb_height, + "anchor", GTK_ANCHOR_N, + NULL); + gtk_signal_connect (GTK_OBJECT (image), "destroy", + (GtkSignalFunc) free_imlib_image, + im); +} + +/* + * Function : map_add_host + * Description: This will add a host to the network map at a given x/y + * position. Passing x/y as -1 will invoke the auto placement + * routine. + * Arguments : host -- The hosts structure of the host to add. + * x -- The X position on the map to add it to. + * y -- The Y position on the map to add it to. + * Returns : TRUE -- Host was suscessfully added to the map. + * FALSE -- Host was not added to the map. Check app_errno + * for further info. + */ +gboolean +map_add_host (hosts *host, gdouble x, gdouble y) +{ + GnomeCanvasGroup *root; + GnomeCanvasGroup *host_group; + GnomeCanvasItem *item; + /* + * FIXME: Re-do this when I do the error handling stuff. + */ + g_return_val_if_fail (map_panel != NULL, FALSE); + root = gtk_object_get_data (GTK_OBJECT (map_panel), "map_canvas_root"); + if (root) + { + host->hl_mgroup = GNOME_CANVAS_GROUP (gnome_canvas_item_new + (root, + gnome_canvas_group_get_type(), + "x", 20.0, + "y", 10.0, + NULL)); + setup_item (GNOME_CANVAS_ITEM (host->hl_mgroup), host); + gnome_canvas_item_new (host->hl_mgroup, + gnome_canvas_text_get_type (), + "text", host->hl_disp, + "x", 0.0, + "y", 0.0, + "fill_color", "firebrick", + "anchor", GTK_ANCHOR_N, + NULL); + host_pixmap (host->hl_mgroup, 0.0, 0.0); + map_connect_host_net (host, test); + return TRUE; + } + return FALSE; +} + +/* + * Function : map_del_host + * Description: This function will delete a host from the map. + * Arguments : host -- The hosts structure describing the host to + * remove from the map. + * Returns : TRUE -- Host was deleted from the map. + * FALSE -- Host was not deleted from the map. Check app_errno + * for further info. + */ +gboolean +map_del_host (hosts *host) +{ + +} + +/* + * Function : map_add_network + * Description: This function shall add a network to the map at a given + * x/y position. Passing -1 for x & y shall invoke the auto + * placement routines. + * Arguments : network -- The network structure of the network to add + * to the map. + * X -- The X position on the map. + * Y -- The Y position on the map. + * Returns : TRUE -- Network was added to the map. + * FALSE -- Network was not added to the map. Check app_errno + * for further info. + */ +gboolean +map_add_network (net_entry *network, gint x, gint y) +{ + GnomeCanvasGroup *root; + GnomeCanvasGroup *net_group; + GnomeCanvasItem *item; + GnomeCanvasPoints *points; + + g_return_val_if_fail (map_panel != NULL, FALSE); + root = gtk_object_get_data (GTK_OBJECT (map_panel), "map_canvas_root"); + if (root) + { + network->nl_mgroup = GNOME_CANVAS_GROUP (gnome_canvas_item_new + (root, gnome_canvas_group_get_type (), + "x", (double) x, + "y", (double) y, + NULL)); + gtk_object_set_data (GTK_OBJECT (network->nl_mgroup), + "is_network", TRUE); + setup_item (GNOME_CANVAS_ITEM (network->nl_mgroup), network); + gnome_canvas_item_new (network->nl_mgroup, + gnome_canvas_text_get_type (), + "text", network->nl_name, + "x", 0.0, + "y", 0.0, + "fill_color", "black", + "anchor", GTK_ANCHOR_N, + NULL); + points = gnome_canvas_points_new (2); + points->coords[0] = -90.0; + points->coords[1] = -2.0; + points->coords[2] = 90.0; + points->coords[3] = -2.0; + gnome_canvas_item_new (network->nl_mgroup, + gnome_canvas_line_get_type (), + "points", points, + "fill_color", "green", + "width_units", 2.0, + "first_arrowhead", TRUE, + "last_arrowhead", TRUE, + NULL); + gnome_canvas_points_free (points); + return TRUE; + } + return FALSE; +} + +/* + * Function : map_del_network + * Description: This function shall delete a network from the map's display. + * Arguments : network -- The network structure of the network to delete + * from the map. + * Returns : TRUE -- Network was deleted from the map. + * FALSE -- Network was not deleted from the map. Check + * app_errno for further info. + */ +gboolean +map_del_network (net_entry *network) +{ + +} + +/* + * Function : map_connect_host_net + * Description: This function will connect a host to a network. + * Arguments ; host -- The host entry to connect. + * network -- The network to connect it to. + * Returns : TRUE -- Network sucessfully connected. + * FALSE -- Network Not connected. + */ +gboolean +map_connect_host_net (hosts *host, net_entry *network) +{ + GnomeCanvasGroup *host_group; + GnomeCanvasGroup *net_group; + GnomeCanvasPoints *points; + + net_group = network->nl_mgroup; + host_group = host->hl_mgroup; + points = gnome_canvas_points_new (2); + points->coords[0] = net_group->xpos; + points->coords[1] = net_group->ypos - 2; + points->coords[2] = host_group->xpos; + points->coords[3] = host_group->ypos; + + host->hl_mconnection = gnome_canvas_item_new (GNOME_CANVAS_GROUP (GNOME_CANVAS_ITEM (host_group)->canvas->root), + gnome_canvas_line_get_type (), + "points", points, + "fill_color", "black", + "width_units", 0.0, + NULL); + host->hl_ngroup = network->nl_mgroup; + host->hl_network = network; + add_host_to_network (network, host); + gnome_canvas_points_free (points); + return TRUE; + +} + +void +setup_host_net_connection (hosts *host, net_entry *network) +{ + GnomeCanvasPoints *points; + + g_return_if_fail (host != NULL); + g_return_if_fail (network != NULL); + + points = gnome_canvas_points_new (2); + points->coords[0] = host->hl_ngroup->xpos; + points->coords[1] = host->hl_ngroup->ypos - 2; + points->coords[2] = host->hl_mgroup->xpos; + points->coords[3] = host->hl_mgroup->ypos; + gnome_canvas_item_set ((GnomeCanvasItem *)host->hl_mconnection, + "points", points, + NULL); + gnome_canvas_points_free (points); +} + +/* EOF */ diff -uNr gnome-admin-0.25/gxsnmp/app/net_map.h gnome-admin-0.26/gxsnmp/app/net_map.h --- gnome-admin-0.25/gxsnmp/app/net_map.h Wed Dec 31 19:00:00 1969 +++ gnome-admin-0.26/gxsnmp/app/net_map.h Tue Aug 11 11:04:38 1998 @@ -0,0 +1,52 @@ +/* + * GXSNMP - An snmp managment application + * Copyright (C) 1998 Gregory McLean + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, MA 02139, USA. + * + * Network Map panel. (New and Improved to use the gnome-canvas) + */ + +#ifndef __NET_MAP_H__ +#define __NET_MAP_H__ +#include +#include "net.h" + +/* + * Functions from this module. + */ + +/* + * Standard panel functions + */ +void open_map_panel (void); +void destroy_map_panel (void); +void hide_map_panel (void); +void reset_map_panel (void); + +/* + * Supporting global functions + */ +gboolean map_add_host (hosts *host, + gdouble x, + gdouble y); +gboolean map_del_host (hosts *host); +gboolean map_add_network (net_entry *network, + gint x, + gint y); +gboolean map_del_network (net_entry *network); + +#endif +/* EOF */ diff -uNr gnome-admin-0.25/gxsnmp/app/ping.c gnome-admin-0.26/gxsnmp/app/ping.c --- gnome-admin-0.25/gxsnmp/app/ping.c Tue Aug 4 11:36:25 1998 +++ gnome-admin-0.26/gxsnmp/app/ping.c Tue Aug 11 11:04:39 1998 @@ -1,5 +1,5 @@ /* - * $Id: ping.c,v 1.3 1998/07/09 22:36:30 martin Exp $ + * $Id: ping.c,v 1.4 1998/08/05 15:23:37 wilhelmi Exp $ * P I N G . C * * Using the InterNet Control Message Protocol (ICMP) "ECHO" facility, @@ -33,7 +33,6 @@ #include #include #include - /* #include */ #include #include #include @@ -43,6 +42,9 @@ /* #include */ #include #include "main.h" +#ifdef HAVE_SYS_FILIO_H /* needed for solaris */ +# include +#endif #ifndef HAVE_STRUCT_ICMP /* This should only be the case on Linux Libc 5. */ diff -uNr gnome-admin-0.25/gxsnmp/app/queue.c gnome-admin-0.26/gxsnmp/app/queue.c --- gnome-admin-0.25/gxsnmp/app/queue.c Tue Aug 4 11:36:25 1998 +++ gnome-admin-0.26/gxsnmp/app/queue.c Tue Aug 11 11:04:39 1998 @@ -1,5 +1,5 @@ /* - * $Id: queue.c,v 1.8 1998/06/11 21:03:14 gregm Exp $ + * $Id: queue.c,v 1.9 1998/08/11 18:58:42 gregm Exp $ * GXSNMP -- An snmp mangament application * Copyright (C) 1998 Gregory McLean * @@ -24,7 +24,7 @@ "@(#) Copyright (c) 1998 Gregory McLean"; #endif static char const rcsid[] = -"$Id: queue.c,v 1.8 1998/06/11 21:03:14 gregm Exp $"; +"$Id: queue.c,v 1.9 1998/08/11 18:58:42 gregm Exp $"; #include "main.h" @@ -187,7 +187,8 @@ entry = (hosts *)data; if (entry) { - widget = GTK_WIDGET (entry->widget); + if (entry->widget) + widget = GTK_WIDGET (entry->widget); /* gtk_host_led_toggle (widget); */ } } diff -uNr gnome-admin-0.25/gxsnmp/app/rmon_panel.h gnome-admin-0.26/gxsnmp/app/rmon_panel.h --- gnome-admin-0.25/gxsnmp/app/rmon_panel.h Tue Aug 4 11:36:25 1998 +++ gnome-admin-0.26/gxsnmp/app/rmon_panel.h Tue Aug 11 11:04:39 1998 @@ -1,5 +1,5 @@ /* - * $Id: rmon_panel.h,v 1.2 1998/05/31 22:55:23 jochen Exp $ + * $Id: rmon_panel.h,v 1.3 1998/08/09 16:24:20 gregm Exp $ * GXSNMP - An snmp managment application * Copyright (C) 1998 Jochen Friedrich & Gregory McLean * @@ -52,7 +52,7 @@ void destroy_rmon_panel (void); void reset_rmon_panel (void); void hide_rmon_panel (void); - + #endif /* EOF */ diff -uNr gnome-admin-0.25/gxsnmp/app/snmp_host.h gnome-admin-0.26/gxsnmp/app/snmp_host.h --- gnome-admin-0.25/gxsnmp/app/snmp_host.h Tue Aug 4 11:36:25 1998 +++ gnome-admin-0.26/gxsnmp/app/snmp_host.h Thu Aug 13 17:37:41 1998 @@ -1,5 +1,5 @@ /* - * $Id: snmp_host.h,v 1.17 1998/07/29 21:18:51 jochen Exp $ + * $Id: snmp_host.h,v 1.21 1998/08/12 00:54:01 gregm Exp $ * GXSNMP -- An snmp management application * Copyright (C) 1998 Gregory McLean * @@ -27,6 +27,8 @@ #include #include #include +#include "net.h" + /* * For the add host dialog */ @@ -120,6 +122,10 @@ GList *monitor_list; /* A list of mibs to monitor for this host */ GtkWidget *widget; /* the widget that displays this host */ GtkWidget *listwidget; /* the widget on the host list for this host */ + GnomeCanvasGroup *hl_mgroup; /* The group for this host on the map */ + GnomeCanvasGroup *hl_ngroup; /* The network group that this is connected to */ + GnomeCanvasItem *hl_mconnection; /* The connect to the network */ + net_entry *hl_network; /* network we are connected to */ location hl_location; /* Where to put this host on the map */ u_long hl_lastsnmpif; time_t hl_lastsnmp; diff -uNr gnome-admin-0.25/gxsnmp/app/snmp_lib.c gnome-admin-0.26/gxsnmp/app/snmp_lib.c --- gnome-admin-0.25/gxsnmp/app/snmp_lib.c Tue Aug 4 11:36:25 1998 +++ gnome-admin-0.26/gxsnmp/app/snmp_lib.c Tue Aug 11 11:04:39 1998 @@ -1,5 +1,5 @@ /* - * $Id: snmp_lib.c,v 1.13 1998/07/27 18:41:28 jochen Exp $ + * $Id: snmp_lib.c,v 1.14 1998/08/06 19:14:52 jochen Exp $ * GXSNMP -- An snmp management application * Copyright (C) 1998 Gregory McLean * @@ -24,7 +24,7 @@ "@(#) Copyright (c) 1998 Gregory McLean"; #endif static char const rcsid[] = -"$Id: snmp_lib.c,v 1.13 1998/07/27 18:41:28 jochen Exp $"; +"$Id: snmp_lib.c,v 1.14 1998/08/06 19:14:52 jochen Exp $"; #include /* pull in the autoconf genereated stuff */ #include @@ -93,7 +93,8 @@ void snmpinit() { - g_snmp_init(cb_register); + if (!g_snmp_init(FALSE, cb_register)) + g_error("Initialisation of SNMP library failed."); snmp_time = gtk_timeout_add (1000, g_snmp_timeout_cb, NULL); } /* EOF */ diff -uNr gnome-admin-0.25/gxsnmp/app/sql_interface.c gnome-admin-0.26/gxsnmp/app/sql_interface.c --- gnome-admin-0.25/gxsnmp/app/sql_interface.c Tue Aug 4 11:36:25 1998 +++ gnome-admin-0.26/gxsnmp/app/sql_interface.c Tue Aug 11 11:04:39 1998 @@ -1,5 +1,5 @@ /* - * $Id: sql_interface.c,v 1.18 1998/07/29 21:18:52 jochen Exp $ + * $Id: sql_interface.c,v 1.19 1998/08/09 16:24:21 gregm Exp $ * GXSNMP -- An snmp mangament application * Copyright (C) 1998 Gregory McLean * @@ -24,7 +24,7 @@ "@(#) Copyright (c) 1998 Gregory McLean"; #endif static char const rcsid[] = -"$Id: sql_interface.c,v 1.18 1998/07/29 21:18:52 jochen Exp $"; +"$Id: sql_interface.c,v 1.19 1998/08/09 16:24:21 gregm Exp $"; #include "main.h" #include "db_interface.h" @@ -76,6 +76,9 @@ #endif } +/* + * This will return a list of available tables. + */ GList * sql_db_list (sql_server *server) { @@ -95,14 +98,6 @@ if (db_connect (db_connection)) { -#if 0 - sql = (MYSQL *)g_malloc (sizeof(MYSQL)); - if (mysql_connect (sql, - server->sql_host, - server->sql_user, - server->sql_pass)) - { -#endif sql_res = mysql_use_result (db_connection->db_handle); sql_res = mysql_list_dbs (db_connection->db_handle, ""); while ( (row = mysql_fetch_row(sql_res)) ) diff -uNr gnome-admin-0.25/gxsnmp/config.h.in gnome-admin-0.26/gxsnmp/config.h.in --- gnome-admin-0.25/gxsnmp/config.h.in Tue Aug 4 11:36:18 1998 +++ gnome-admin-0.26/gxsnmp/config.h.in Tue Aug 11 11:04:35 1998 @@ -146,6 +146,9 @@ /* Define if you have the header file. */ #undef HAVE_SYS_FILE_H +/* Define if you have the header file. */ +#undef HAVE_SYS_FILIO_H + /* Define if you have the header file. */ #undef HAVE_SYS_IOCTL_H diff -uNr gnome-admin-0.25/gxsnmp/configure gnome-admin-0.26/gxsnmp/configure --- gnome-admin-0.25/gxsnmp/configure Tue Aug 4 11:48:02 1998 +++ gnome-admin-0.26/gxsnmp/configure Thu Aug 13 18:44:06 1998 @@ -1225,6 +1225,7 @@ #include #include +#include int main () @@ -1257,6 +1258,15 @@ printf("*** to point to the correct copy of gtk-config, and remove the file config.cache\n"); printf("*** before re-running configure\n"); } + else if ((gtk_major_version != GTK_MAJOR_VERSION) || + (gtk_minor_version != GTK_MINOR_VERSION) || + (gtk_micro_version != GTK_MICRO_VERSION)) + { + printf("*** GTK+ header files (version %d.%d.%d) do not match\n", + GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION); + printf("*** library (version %d.%d.%d)\n", + gtk_major_version, gtk_minor_version, gtk_micro_version); + } else { if ((gtk_major_version > major) || @@ -1286,7 +1296,7 @@ } EOF -if { (eval echo configure:1290: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1300: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then : else @@ -1320,7 +1330,7 @@ CFLAGS="$CFLAGS $GTK_CFLAGS" LIBS="$LIBS $GTK_LIBS" cat > conftest.$ac_ext < @@ -1330,7 +1340,7 @@ return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version)); ; return 0; } EOF -if { (eval echo configure:1334: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1344: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* echo "*** The test program compiled, but did not run. This usually means" echo "*** that the run-time linker is not finding GTK or finding the wrong" @@ -1372,7 +1382,7 @@ # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1376: checking for $ac_word" >&5 +echo "configure:1386: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1401,7 +1411,7 @@ # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1405: checking for $ac_word" >&5 +echo "configure:1415: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1449,7 +1459,7 @@ fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1453: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:1463: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. @@ -1459,11 +1469,11 @@ cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1477: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then @@ -1483,12 +1493,12 @@ { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:1487: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1497: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 cross_compiling=$ac_cv_prog_cc_cross echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:1492: checking whether we are using GNU C" >&5 +echo "configure:1502: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1497,7 +1507,7 @@ yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1501: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1511: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -1512,7 +1522,7 @@ ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:1516: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:1526: checking whether ${CC-cc} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1540,7 +1550,7 @@ fi echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:1544: checking how to run the C preprocessor" >&5 +echo "configure:1554: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -1555,13 +1565,13 @@ # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1565: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1575: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1572,13 +1582,13 @@ rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1582: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1592: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1606,7 +1616,7 @@ # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1610: checking for $ac_word" >&5 +echo "configure:1620: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1638,7 +1648,7 @@ # Extract the first word of "flex", so it can be a program name with args. set dummy flex; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1642: checking for $ac_word" >&5 +echo "configure:1652: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1671,7 +1681,7 @@ *) ac_lib=l ;; esac echo $ac_n "checking for yywrap in -l$ac_lib""... $ac_c" 1>&6 -echo "configure:1675: checking for yywrap in -l$ac_lib" >&5 +echo "configure:1685: checking for yywrap in -l$ac_lib" >&5 ac_lib_var=`echo $ac_lib'_'yywrap | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1679,7 +1689,7 @@ ac_save_LIBS="$LIBS" LIBS="-l$ac_lib $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1704: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -1713,7 +1723,7 @@ fi echo $ac_n "checking lex output file root""... $ac_c" 1>&6 -echo "configure:1717: checking lex output file root" >&5 +echo "configure:1727: checking lex output file root" >&5 if eval "test \"`echo '$''{'ac_cv_prog_lex_root'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1734,7 +1744,7 @@ LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root echo $ac_n "checking whether yytext is a pointer""... $ac_c" 1>&6 -echo "configure:1738: checking whether yytext is a pointer" >&5 +echo "configure:1748: checking whether yytext is a pointer" >&5 if eval "test \"`echo '$''{'ac_cv_prog_lex_yytext_pointer'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1746,14 +1756,14 @@ ac_save_LIBS="$LIBS" LIBS="$LIBS $LEXLIB" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1767: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_prog_lex_yytext_pointer=yes else @@ -1779,7 +1789,7 @@ # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1783: checking for $ac_word" >&5 +echo "configure:1793: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1819,7 +1829,7 @@ # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:1823: checking for a BSD compatible install" >&5 +echo "configure:1833: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1869,7 +1879,7 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 -echo "configure:1873: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo "configure:1883: checking whether ${MAKE-make} sets \${MAKE}" >&5 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1902,7 +1912,7 @@ fi echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:1906: checking host system type" >&5 +echo "configure:1916: checking host system type" >&5 host_alias=$host case "$host_alias" in @@ -1925,7 +1935,7 @@ # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1929: checking for $ac_word" >&5 +echo "configure:1939: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1964,7 +1974,7 @@ if test "$ac_cv_prog_gcc" = yes; then # Check if gcc -print-prog-name=ld gives a path. echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6 -echo "configure:1968: checking for ld used by GCC" >&5 +echo "configure:1978: checking for ld used by GCC" >&5 ac_prog=`($CC -print-prog-name=ld) 2>&5` case "$ac_prog" in # Accept absolute paths. @@ -1982,10 +1992,10 @@ esac elif test "$with_gnu_ld" = yes; then echo $ac_n "checking for GNU ld""... $ac_c" 1>&6 -echo "configure:1986: checking for GNU ld" >&5 +echo "configure:1996: checking for GNU ld" >&5 else echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6 -echo "configure:1989: checking for non-GNU ld" >&5 +echo "configure:1999: checking for non-GNU ld" >&5 fi if eval "test \"`echo '$''{'ac_cv_path_LD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2021,7 +2031,7 @@ test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; } echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6 -echo "configure:2025: checking if the linker ($LD) is GNU ld" >&5 +echo "configure:2035: checking if the linker ($LD) is GNU ld" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gnu_ld'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2037,7 +2047,7 @@ echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6 -echo "configure:2041: checking for BSD-compatible nm" >&5 +echo "configure:2051: checking for BSD-compatible nm" >&5 if eval "test \"`echo '$''{'ac_cv_path_NM'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2074,7 +2084,7 @@ echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 -echo "configure:2078: checking whether ln -s works" >&5 +echo "configure:2088: checking whether ln -s works" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2184,12 +2194,12 @@ ALL_LINGUAS="es fr no de" echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:2188: checking for ANSI C header files" >&5 +echo "configure:2198: checking for ANSI C header files" >&5 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -2197,7 +2207,7 @@ #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2201: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2211: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -2214,7 +2224,7 @@ if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -2232,7 +2242,7 @@ if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -2253,7 +2263,7 @@ : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -2264,7 +2274,7 @@ exit (0); } EOF -if { (eval echo configure:2268: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2278: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then : else @@ -2288,12 +2298,12 @@ fi echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:2292: checking for working const" >&5 +echo "configure:2302: checking for working const" >&5 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2356: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -2363,21 +2373,21 @@ fi echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:2367: checking for inline" >&5 +echo "configure:2377: checking for inline" >&5 if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2391: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -2403,12 +2413,12 @@ esac echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:2407: checking for off_t" >&5 +echo "configure:2417: checking for off_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -2436,12 +2446,12 @@ fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:2440: checking for size_t" >&5 +echo "configure:2450: checking for size_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -2471,19 +2481,19 @@ # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 -echo "configure:2475: checking for working alloca.h" >&5 +echo "configure:2485: checking for working alloca.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { char *p = alloca(2 * sizeof(int)); ; return 0; } EOF -if { (eval echo configure:2487: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2497: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_header_alloca_h=yes else @@ -2504,12 +2514,12 @@ fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:2508: checking for alloca" >&5 +echo "configure:2518: checking for alloca" >&5 if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2546: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_func_alloca_works=yes else @@ -2564,12 +2574,12 @@ echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:2568: checking whether alloca needs Cray hooks" >&5 +echo "configure:2578: checking whether alloca needs Cray hooks" >&5 if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 -echo "configure:2598: checking for $ac_func" >&5 +echo "configure:2608: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2636: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -2649,7 +2659,7 @@ fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:2653: checking stack direction for C alloca" >&5 +echo "configure:2663: checking stack direction for C alloca" >&5 if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2657,7 +2667,7 @@ ac_cv_c_stack_direction=0 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2690: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_c_stack_direction=1 else @@ -2701,17 +2711,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2705: checking for $ac_hdr" >&5 +echo "configure:2715: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2715: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2725: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -2740,12 +2750,12 @@ for ac_func in getpagesize do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2744: checking for $ac_func" >&5 +echo "configure:2754: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2782: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -2793,7 +2803,7 @@ done echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:2797: checking for working mmap" >&5 +echo "configure:2807: checking for working mmap" >&5 if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2801,7 +2811,7 @@ ac_cv_func_mmap_fixed_mapped=no else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2955: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_func_mmap_fixed_mapped=yes else @@ -2969,17 +2979,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2973: checking for $ac_hdr" >&5 +echo "configure:2983: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2983: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2993: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -3009,12 +3019,12 @@ __argz_count __argz_stringify __argz_next do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3013: checking for $ac_func" >&5 +echo "configure:3023: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3051: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3066,12 +3076,12 @@ for ac_func in stpcpy do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3070: checking for $ac_func" >&5 +echo "configure:3080: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3108: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3128,19 +3138,19 @@ if test $ac_cv_header_locale_h = yes; then echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 -echo "configure:3132: checking for LC_MESSAGES" >&5 +echo "configure:3142: checking for LC_MESSAGES" >&5 if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { return LC_MESSAGES ; return 0; } EOF -if { (eval echo configure:3144: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3154: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* am_cv_val_LC_MESSAGES=yes else @@ -3161,7 +3171,7 @@ fi fi echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6 -echo "configure:3165: checking whether NLS is requested" >&5 +echo "configure:3175: checking whether NLS is requested" >&5 # Check whether --enable-nls or --disable-nls was given. if test "${enable_nls+set}" = set; then enableval="$enable_nls" @@ -3181,7 +3191,7 @@ EOF echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6 -echo "configure:3185: checking whether included gettext is requested" >&5 +echo "configure:3195: checking whether included gettext is requested" >&5 # Check whether --with-included-gettext or --without-included-gettext was given. if test "${with_included_gettext+set}" = set; then withval="$with_included_gettext" @@ -3200,17 +3210,17 @@ ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for libintl.h""... $ac_c" 1>&6 -echo "configure:3204: checking for libintl.h" >&5 +echo "configure:3214: checking for libintl.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3214: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3224: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -3227,19 +3237,19 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 echo $ac_n "checking for gettext in libc""... $ac_c" 1>&6 -echo "configure:3231: checking for gettext in libc" >&5 +echo "configure:3241: checking for gettext in libc" >&5 if eval "test \"`echo '$''{'gt_cv_func_gettext_libc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { return (int) gettext ("") ; return 0; } EOF -if { (eval echo configure:3243: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3253: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* gt_cv_func_gettext_libc=yes else @@ -3255,7 +3265,7 @@ if test "$gt_cv_func_gettext_libc" != "yes"; then echo $ac_n "checking for bindtextdomain in -lintl""... $ac_c" 1>&6 -echo "configure:3259: checking for bindtextdomain in -lintl" >&5 +echo "configure:3269: checking for bindtextdomain in -lintl" >&5 ac_lib_var=`echo intl'_'bindtextdomain | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3263,7 +3273,7 @@ ac_save_LIBS="$LIBS" LIBS="-lintl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3288: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3290,19 +3300,19 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 echo $ac_n "checking for gettext in libintl""... $ac_c" 1>&6 -echo "configure:3294: checking for gettext in libintl" >&5 +echo "configure:3304: checking for gettext in libintl" >&5 if eval "test \"`echo '$''{'gt_cv_func_gettext_libintl'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3316: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* gt_cv_func_gettext_libintl=yes else @@ -3330,7 +3340,7 @@ # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3334: checking for $ac_word" >&5 +echo "configure:3344: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3364,12 +3374,12 @@ for ac_func in dcgettext do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3368: checking for $ac_func" >&5 +echo "configure:3378: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3406: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3419,7 +3429,7 @@ # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3423: checking for $ac_word" >&5 +echo "configure:3433: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3451,7 +3461,7 @@ # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3455: checking for $ac_word" >&5 +echo "configure:3465: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3483,7 +3493,7 @@ fi cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3505: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* CATOBJEXT=.gmo DATADIRNAME=share @@ -3514,7 +3524,7 @@ if test "$CATOBJEXT" = "NONE"; then echo $ac_n "checking whether catgets can be used""... $ac_c" 1>&6 -echo "configure:3518: checking whether catgets can be used" >&5 +echo "configure:3528: checking whether catgets can be used" >&5 # Check whether --with-catgets or --without-catgets was given. if test "${with_catgets+set}" = set; then withval="$with_catgets" @@ -3527,7 +3537,7 @@ if test "$nls_cv_use_catgets" = "yes"; then echo $ac_n "checking for main in -li""... $ac_c" 1>&6 -echo "configure:3531: checking for main in -li" >&5 +echo "configure:3541: checking for main in -li" >&5 ac_lib_var=`echo i'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3535,14 +3545,14 @@ ac_save_LIBS="$LIBS" LIBS="-li $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3556: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3570,12 +3580,12 @@ fi echo $ac_n "checking for catgets""... $ac_c" 1>&6 -echo "configure:3574: checking for catgets" >&5 +echo "configure:3584: checking for catgets" >&5 if eval "test \"`echo '$''{'ac_cv_func_catgets'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3612: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_catgets=yes" else @@ -3620,7 +3630,7 @@ # Extract the first word of "gencat", so it can be a program name with args. set dummy gencat; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3624: checking for $ac_word" >&5 +echo "configure:3634: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GENCAT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3652,7 +3662,7 @@ # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3656: checking for $ac_word" >&5 +echo "configure:3666: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3685,7 +3695,7 @@ # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3689: checking for $ac_word" >&5 +echo "configure:3699: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3720,7 +3730,7 @@ # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3724: checking for $ac_word" >&5 +echo "configure:3734: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3778,7 +3788,7 @@ # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3782: checking for $ac_word" >&5 +echo "configure:3792: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3812,7 +3822,7 @@ # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3816: checking for $ac_word" >&5 +echo "configure:3826: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3844,7 +3854,7 @@ # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3848: checking for $ac_word" >&5 +echo "configure:3858: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3934,7 +3944,7 @@ LINGUAS= else echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6 -echo "configure:3938: checking for catalogs to be installed" >&5 +echo "configure:3948: checking for catalogs to be installed" >&5 NEW_LINGUAS= for lang in ${LINGUAS=$ALL_LINGUAS}; do case "$ALL_LINGUAS" in @@ -3962,17 +3972,17 @@ if test "$CATOBJEXT" = ".cat"; then ac_safe=`echo "linux/version.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for linux/version.h""... $ac_c" 1>&6 -echo "configure:3966: checking for linux/version.h" >&5 +echo "configure:3976: checking for linux/version.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3976: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3986: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -4042,7 +4052,7 @@ # Uses ac_ vars as temps to allow command line to override cache and checks. # --without-x overrides everything else, but does not touch the cache. echo $ac_n "checking for X""... $ac_c" 1>&6 -echo "configure:4046: checking for X" >&5 +echo "configure:4056: checking for X" >&5 # Check whether --with-x or --without-x was given. if test "${with_x+set}" = set; then @@ -4104,12 +4114,12 @@ # First, try using that file with no special directory specified. cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4113: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4123: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -4178,14 +4188,14 @@ ac_save_LIBS="$LIBS" LIBS="-l$x_direct_test_library $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4199: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* LIBS="$ac_save_LIBS" # We can link X programs with no special library path. @@ -4291,17 +4301,17 @@ case "`(uname -sr) 2>/dev/null`" in "SunOS 5"*) echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6 -echo "configure:4295: checking whether -R must be followed by a space" >&5 +echo "configure:4305: checking whether -R must be followed by a space" >&5 ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4315: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_R_nospace=yes else @@ -4317,14 +4327,14 @@ else LIBS="$ac_xsave_LIBS -R $x_libraries" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4338: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_R_space=yes else @@ -4356,7 +4366,7 @@ # libraries were built with DECnet support. And karl@cs.umb.edu says # the Alpha needs dnet_stub (dnet does not exist). echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6 -echo "configure:4360: checking for dnet_ntoa in -ldnet" >&5 +echo "configure:4370: checking for dnet_ntoa in -ldnet" >&5 ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4364,7 +4374,7 @@ ac_save_LIBS="$LIBS" LIBS="-ldnet $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4389: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4397,7 +4407,7 @@ if test $ac_cv_lib_dnet_dnet_ntoa = no; then echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6 -echo "configure:4401: checking for dnet_ntoa in -ldnet_stub" >&5 +echo "configure:4411: checking for dnet_ntoa in -ldnet_stub" >&5 ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4405,7 +4415,7 @@ ac_save_LIBS="$LIBS" LIBS="-ldnet_stub $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4430: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4445,12 +4455,12 @@ # The nsl library prevents programs from opening the X display # on Irix 5.2, according to dickey@clark.net. echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6 -echo "configure:4449: checking for gethostbyname" >&5 +echo "configure:4459: checking for gethostbyname" >&5 if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4487: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_gethostbyname=yes" else @@ -4494,7 +4504,7 @@ if test $ac_cv_func_gethostbyname = no; then echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 -echo "configure:4498: checking for gethostbyname in -lnsl" >&5 +echo "configure:4508: checking for gethostbyname in -lnsl" >&5 ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4502,7 +4512,7 @@ ac_save_LIBS="$LIBS" LIBS="-lnsl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4527: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4543,12 +4553,12 @@ # -lsocket must be given before -lnsl if both are needed. # We assume that if connect needs -lnsl, so does gethostbyname. echo $ac_n "checking for connect""... $ac_c" 1>&6 -echo "configure:4547: checking for connect" >&5 +echo "configure:4557: checking for connect" >&5 if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4585: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_connect=yes" else @@ -4592,7 +4602,7 @@ if test $ac_cv_func_connect = no; then echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6 -echo "configure:4596: checking for connect in -lsocket" >&5 +echo "configure:4606: checking for connect in -lsocket" >&5 ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4600,7 +4610,7 @@ ac_save_LIBS="$LIBS" LIBS="-lsocket $X_EXTRA_LIBS $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4625: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4635,12 +4645,12 @@ # gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX. echo $ac_n "checking for remove""... $ac_c" 1>&6 -echo "configure:4639: checking for remove" >&5 +echo "configure:4649: checking for remove" >&5 if eval "test \"`echo '$''{'ac_cv_func_remove'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4677: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_remove=yes" else @@ -4684,7 +4694,7 @@ if test $ac_cv_func_remove = no; then echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6 -echo "configure:4688: checking for remove in -lposix" >&5 +echo "configure:4698: checking for remove in -lposix" >&5 ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4692,7 +4702,7 @@ ac_save_LIBS="$LIBS" LIBS="-lposix $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4717: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4727,12 +4737,12 @@ # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. echo $ac_n "checking for shmat""... $ac_c" 1>&6 -echo "configure:4731: checking for shmat" >&5 +echo "configure:4741: checking for shmat" >&5 if eval "test \"`echo '$''{'ac_cv_func_shmat'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4769: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_shmat=yes" else @@ -4776,7 +4786,7 @@ if test $ac_cv_func_shmat = no; then echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6 -echo "configure:4780: checking for shmat in -lipc" >&5 +echo "configure:4790: checking for shmat in -lipc" >&5 ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4784,7 +4794,7 @@ ac_save_LIBS="$LIBS" LIBS="-lipc $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4809: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4828,7 +4838,7 @@ # libraries we check for below, so use a different variable. # --interran@uluru.Stanford.EDU, kb@cs.umb.edu. echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6 -echo "configure:4832: checking for IceConnectionNumber in -lICE" >&5 +echo "configure:4842: checking for IceConnectionNumber in -lICE" >&5 ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4836,7 +4846,7 @@ ac_save_LIBS="$LIBS" LIBS="-lICE $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4861: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4876,16 +4886,16 @@ # look for mysql libs and headers echo $ac_n "checking for mysql""... $ac_c" 1>&6 -echo "configure:4880: checking for mysql" >&5 +echo "configure:4890: checking for mysql" >&5 cat > conftest.$ac_ext < int main() { MYSQL_FIELD field; ; return 0; } EOF -if { (eval echo configure:4889: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4899: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* mysql_found=yes else @@ -4912,16 +4922,16 @@ # Check for the sys/select.h fd_set madness echo $ac_n "checking fd_set and sys/select""... $ac_c" 1>&6 -echo "configure:4916: checking fd_set and sys/select" >&5 +echo "configure:4926: checking fd_set and sys/select" >&5 cat > conftest.$ac_ext < int main() { fd_set readMask, writeMask; ; return 0; } EOF -if { (eval echo configure:4925: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4935: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* fd_ok=yes else @@ -4933,7 +4943,7 @@ rm -f conftest* if test $fd_ok = no; then cat > conftest.$ac_ext < EOF @@ -4969,16 +4979,16 @@ echo $ac_n "checking int hash table functions""... $ac_c" 1>&6 -echo "configure:4973: checking int hash table functions" >&5 +echo "configure:4983: checking int hash table functions" >&5 cat > conftest.$ac_ext < int main() { g_hash_table_new (g_int_hash, g_int_equal); ; return 0; } EOF -if { (eval echo configure:4982: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4992: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* hash_ok=yes else @@ -4999,12 +5009,12 @@ SNMP_LIBS="" echo $ac_n "checking for socket""... $ac_c" 1>&6 -echo "configure:5003: checking for socket" >&5 +echo "configure:5013: checking for socket" >&5 if eval "test \"`echo '$''{'ac_cv_func_socket'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5041: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_socket=yes" else @@ -5046,7 +5056,7 @@ echo "$ac_t""no" 1>&6 echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6 -echo "configure:5050: checking for socket in -lsocket" >&5 +echo "configure:5060: checking for socket in -lsocket" >&5 ac_lib_var=`echo socket'_'socket | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5054,7 +5064,7 @@ ac_save_LIBS="$LIBS" LIBS="-lsocket $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5079: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5088,12 +5098,12 @@ fi echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6 -echo "configure:5092: checking for gethostbyname" >&5 +echo "configure:5102: checking for gethostbyname" >&5 if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5130: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_gethostbyname=yes" else @@ -5135,7 +5145,7 @@ echo "$ac_t""no" 1>&6 echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 -echo "configure:5139: checking for gethostbyname in -lnsl" >&5 +echo "configure:5149: checking for gethostbyname in -lnsl" >&5 ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5143,7 +5153,7 @@ ac_save_LIBS="$LIBS" LIBS="-lnsl $SNMP_LIBS $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5168: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5179,13 +5189,13 @@ if test $ac_cv_prog_gcc = yes; then echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6 -echo "configure:5183: checking whether ${CC-cc} needs -traditional" >&5 +echo "configure:5193: checking whether ${CC-cc} needs -traditional" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc_traditional'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_pattern="Autoconf.*'x'" cat > conftest.$ac_ext < Autoconf TIOCGETP @@ -5203,7 +5213,7 @@ if test $ac_cv_prog_gcc_traditional = no; then cat > conftest.$ac_ext < Autoconf TCGETA @@ -5225,12 +5235,12 @@ fi echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:5229: checking for ANSI C header files" >&5 +echo "configure:5239: checking for ANSI C header files" >&5 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -5238,7 +5248,7 @@ #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5242: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5252: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -5255,7 +5265,7 @@ if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -5273,7 +5283,7 @@ if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -5294,7 +5304,7 @@ : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -5305,7 +5315,7 @@ exit (0); } EOF -if { (eval echo configure:5309: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:5319: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then : else @@ -5328,21 +5338,21 @@ fi -for ac_hdr in netinet/ip_icmp.h sys/file.h sys/ioctl.h +for ac_hdr in netinet/ip_icmp.h sys/file.h sys/ioctl.h sys/filio.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5336: checking for $ac_hdr" >&5 +echo "configure:5346: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5346: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5356: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -5372,16 +5382,21 @@ # Check for struct icmp echo $ac_n "checking for struct icmp in netinet/ip_icmp.h""... $ac_c" 1>&6 -echo "configure:5376: checking for struct icmp in netinet/ip_icmp.h" >&5 +echo "configure:5386: checking for struct icmp in netinet/ip_icmp.h" >&5 cat > conftest.$ac_ext < +#include +#include +#include +#include #include int main() { struct icmp *icp; ; return 0; } EOF -if { (eval echo configure:5385: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5400: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* struct_icmp_ok=yes else @@ -5400,12 +5415,12 @@ fi echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:5404: checking for working const" >&5 +echo "configure:5419: checking for working const" >&5 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5473: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -5475,21 +5490,21 @@ fi echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:5479: checking for inline" >&5 +echo "configure:5494: checking for inline" >&5 if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5508: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -5515,14 +5530,14 @@ esac echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6 -echo "configure:5519: checking whether byte ordering is bigendian" >&5 +echo "configure:5534: checking whether byte ordering is bigendian" >&5 if eval "test \"`echo '$''{'ac_cv_c_bigendian'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_cv_c_bigendian=unknown # See if sys/param.h defines the BYTE_ORDER macro. cat > conftest.$ac_ext < #include @@ -5533,11 +5548,11 @@ #endif ; return 0; } EOF -if { (eval echo configure:5537: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5552: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* # It does; now see whether it defined to BIG_ENDIAN or not. cat > conftest.$ac_ext < #include @@ -5548,7 +5563,7 @@ #endif ; return 0; } EOF -if { (eval echo configure:5552: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5567: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_bigendian=yes else @@ -5568,7 +5583,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:5600: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_c_bigendian=no else @@ -5605,12 +5620,12 @@ fi echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6 -echo "configure:5609: checking whether time.h and sys/time.h may both be included" >&5 +echo "configure:5624: checking whether time.h and sys/time.h may both be included" >&5 if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -5619,7 +5634,7 @@ struct tm *tp; ; return 0; } EOF -if { (eval echo configure:5623: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5638: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_time=yes else @@ -5641,7 +5656,7 @@ echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6 -echo "configure:5645: checking for 8-bit clean memcmp" >&5 +echo "configure:5660: checking for 8-bit clean memcmp" >&5 if eval "test \"`echo '$''{'ac_cv_func_memcmp_clean'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5649,7 +5664,7 @@ ac_cv_func_memcmp_clean=no else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:5678: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_func_memcmp_clean=yes else @@ -5677,7 +5692,7 @@ test $ac_cv_func_memcmp_clean = no && LIBOBJS="$LIBOBJS memcmp.o" echo $ac_n "checking for wait3 that fills in rusage""... $ac_c" 1>&6 -echo "configure:5681: checking for wait3 that fills in rusage" >&5 +echo "configure:5696: checking for wait3 that fills in rusage" >&5 if eval "test \"`echo '$''{'ac_cv_func_wait3_rusage'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5685,7 +5700,7 @@ ac_cv_func_wait3_rusage=no else cat > conftest.$ac_ext < #include @@ -5716,7 +5731,7 @@ } } EOF -if { (eval echo configure:5720: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:5735: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_func_wait3_rusage=yes else @@ -5741,12 +5756,12 @@ for ac_func in socket do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5745: checking for $ac_func" >&5 +echo "configure:5760: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5788: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5801,7 +5816,7 @@ echo $ac_n "checking for IPv6 support""... $ac_c" 1>&6 -echo "configure:5805: checking for IPv6 support" >&5 +echo "configure:5820: checking for IPv6 support" >&5 if test x`ls /proc/net/ipv6_route 2>/dev/null` = x"/proc/net/ipv6_route" then cat >> confdefs.h <<\EOF @@ -5812,6 +5827,21 @@ else echo "$ac_t""no" 1>&6 fi + + +echo $ac_n "checking for IPX support""... $ac_c" 1>&6 +echo "configure:5834: checking for IPX support" >&5 +if test x`ls /proc/net/ipx 2>/dev/null` = x"/proc/net/ipx" +then + cat >> confdefs.h <<\EOF +#define HAVE_IPX 1 +EOF + + echo "$ac_t""Linux 2.x IPX" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + trap '' 1 2 15 cat > confcache <<\EOF # This file is a shell script that caches the results of configure diff -uNr gnome-admin-0.25/gxsnmp/configure.in gnome-admin-0.26/gxsnmp/configure.in --- gnome-admin-0.25/gxsnmp/configure.in Tue Aug 4 11:36:18 1998 +++ gnome-admin-0.26/gxsnmp/configure.in Tue Aug 11 11:04:35 1998 @@ -94,12 +94,17 @@ dnl Checks for header files. AC_PROG_GCC_TRADITIONAL AC_HEADER_STDC -AC_CHECK_HEADERS(netinet/ip_icmp.h sys/file.h sys/ioctl.h) +AC_CHECK_HEADERS(netinet/ip_icmp.h sys/file.h sys/ioctl.h sys/filio.h) # Check for struct icmp AC_MSG_CHECKING([for struct icmp in netinet/ip_icmp.h]) -AC_TRY_COMPILE([#include ], +AC_TRY_COMPILE([#include +#include +#include +#include +#include +#include ], [struct icmp *icp;], struct_icmp_ok=yes, struct_icmp_ok=no) AC_MSG_RESULT($struct_icmp_ok) if test $struct_icmp_ok = yes ; then @@ -123,7 +128,7 @@ dnl Check for IPv6 using GLIBC-2.1 with included IPv6 functions. dnl Simply check for presence of /proc/net/ipv6_route. -dnl glibc 2.0 of libc5 users might have to add a special library for IPv6 +dnl glibc 2.0 or libc5 users might have to add a special library for IPv6 dnl support. Please add additional tests for this kind of setup. AC_MSG_CHECKING([for IPv6 support]) @@ -134,6 +139,18 @@ else AC_MSG_RESULT(no) fi + +dnl Check for IPX support of Linux 2.x. + +AC_MSG_CHECKING([for IPX support]) +if [ test x`ls /proc/net/ipx 2>/dev/null` = x"/proc/net/ipx" ] +then + AC_DEFINE(HAVE_IPX) + AC_MSG_RESULT(Linux 2.x IPX) +else + AC_MSG_RESULT(no) +fi + AC_OUTPUT([ Makefile app/Makefile diff -uNr gnome-admin-0.25/gxsnmp/lib/Makefile.in gnome-admin-0.26/gxsnmp/lib/Makefile.in --- gnome-admin-0.25/gxsnmp/lib/Makefile.in Wed Aug 5 18:51:02 1998 +++ gnome-admin-0.26/gxsnmp/lib/Makefile.in Thu Aug 13 19:20:50 1998 @@ -305,6 +305,39 @@ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ || cp -p $$d/$$file $(distdir)/$$file; \ done +g_asn1.lo g_asn1.o: g_asn1.c g_snmp.h g_asn1.h g_auth.h g_sha.h g_md5.h \ + g_access.h g_message.h g_security.h g_session.h g_transport.h \ + g_dispatch.h +g_auth.lo g_auth.o: g_auth.c g_snmp.h g_asn1.h g_auth.h g_sha.h g_md5.h \ + g_access.h g_message.h g_security.h g_session.h g_transport.h \ + g_dispatch.h +g_date.lo g_date.o: g_date.c ../config.h g_date.h +g_dispatch.lo g_dispatch.o: g_dispatch.c ../config.h g_snmp.h g_asn1.h \ + g_auth.h g_sha.h g_md5.h g_access.h g_message.h g_security.h \ + g_session.h g_transport.h g_dispatch.h +g_md5.lo g_md5.o: g_md5.c ../config.h g_md5.h +g_message.lo g_message.o: g_message.c g_snmp.h g_asn1.h g_auth.h g_sha.h \ + g_md5.h g_access.h g_message.h g_security.h g_session.h \ + g_transport.h g_dispatch.h +g_security.lo g_security.o: g_security.c g_snmp.h g_asn1.h g_auth.h \ + g_sha.h g_md5.h g_access.h g_message.h g_security.h g_session.h \ + g_transport.h g_dispatch.h +g_session.lo g_session.o: g_session.c g_snmp.h g_asn1.h g_auth.h g_sha.h \ + g_md5.h g_access.h g_message.h g_security.h g_session.h \ + g_transport.h g_dispatch.h +g_sha.lo g_sha.o: g_sha.c g_sha.h +g_snmp.lo g_snmp.o: g_snmp.c g_snmp.h g_asn1.h g_auth.h g_sha.h g_md5.h \ + g_access.h g_message.h g_security.h g_session.h g_transport.h \ + g_dispatch.h +g_transport.lo g_transport.o: g_transport.c g_snmp.h g_asn1.h g_auth.h \ + g_sha.h g_md5.h g_access.h g_message.h g_security.h g_session.h \ + g_transport.h g_dispatch.h ../config.h +mib.lo mib.o: mib.c parse.h mib.h g_snmp.h g_asn1.h g_auth.h g_sha.h \ + g_md5.h g_access.h g_message.h g_security.h g_session.h \ + g_transport.h g_dispatch.h +parse.lo parse.o: parse.c parse.h +test.o: test.c g_snmp.h g_asn1.h g_auth.h g_sha.h g_md5.h g_access.h \ + g_message.h g_security.h g_session.h g_transport.h g_dispatch.h info: dvi: diff -uNr gnome-admin-0.25/gxsnmp/lib/g_dispatch.c gnome-admin-0.26/gxsnmp/lib/g_dispatch.c --- gnome-admin-0.25/gxsnmp/lib/g_dispatch.c Tue Aug 4 11:36:33 1998 +++ gnome-admin-0.26/gxsnmp/lib/g_dispatch.c Tue Aug 11 11:04:48 1998 @@ -1,5 +1,5 @@ /* - * $Id: g_dispatch.c,v 1.15 1998/07/30 21:04:47 jochen Exp $ + * $Id: g_dispatch.c,v 1.16 1998/08/06 19:14:54 jochen Exp $ * GXSNMP -- An snmp management application * Copyright (C) 1998 Gregory McLean & Jochen Friedrich * @@ -437,7 +437,7 @@ } gboolean -g_snmp_init(GXINITCB initcb) +g_snmp_init(gboolean dobind, GXINITCB initcb) { message_models = g_hash_table_new (g_int_hash, g_int_equal); security_models = g_hash_table_new (g_int_hash, g_int_equal); @@ -451,7 +451,7 @@ if (!g_message_init()) return FALSE; - if (!g_transport_init()) + if (!g_transport_init(dobind)) return FALSE; if (initcb) diff -uNr gnome-admin-0.25/gxsnmp/lib/g_dispatch.h gnome-admin-0.26/gxsnmp/lib/g_dispatch.h --- gnome-admin-0.25/gxsnmp/lib/g_dispatch.h Tue Aug 4 11:36:33 1998 +++ gnome-admin-0.26/gxsnmp/lib/g_dispatch.h Tue Aug 11 11:04:48 1998 @@ -1,5 +1,5 @@ /* - * $Id: g_dispatch.h,v 1.7 1998/07/28 19:47:29 jochen Exp $ + * $Id: g_dispatch.h,v 1.8 1998/08/06 19:14:55 jochen Exp $ * GXSNMP -- An snmp management application * Copyright (C) 1998 Gregory McLean & Jochen Friedrich * @@ -49,7 +49,7 @@ gboolean g_lookup_address (guint model_nr, guchar *hostname, struct sockaddr **address); -gboolean g_snmp_init(GXINITCB initcb); +gboolean g_snmp_init(gboolean dobind, GXINITCB initcb); gboolean g_register_message(guint model_nr, struct g_message *msg); gboolean g_register_security(guint model_nr, struct g_security *sec); diff -uNr gnome-admin-0.25/gxsnmp/lib/g_transport.c gnome-admin-0.26/gxsnmp/lib/g_transport.c --- gnome-admin-0.25/gxsnmp/lib/g_transport.c Tue Aug 4 11:36:34 1998 +++ gnome-admin-0.26/gxsnmp/lib/g_transport.c Tue Aug 11 11:04:49 1998 @@ -1,5 +1,5 @@ /* - * $Id: g_transport.c,v 1.2 1998/07/28 19:47:34 jochen Exp $ + * $Id: g_transport.c,v 1.3 1998/08/06 19:14:56 jochen Exp $ * GXSNMP -- An snmp management application * Copyright (C) 1998 Gregory McLean & Jochen Friedrich * @@ -24,7 +24,7 @@ "@(#) Copyright (c) 1998 Gregory McLean & Jochen Friedrich"; #endif static char const rcsid[] = -"$Id: g_transport.c,v 1.2 1998/07/28 19:47:34 jochen Exp $"; +"$Id: g_transport.c,v 1.3 1998/08/06 19:14:56 jochen Exp $"; #include #include @@ -40,10 +40,26 @@ static gint ipv4_socket = 0; /* file handle for SNMP traffic */ static gboolean -ipv4_init() +ipv4_init(gboolean dobind) { - if (ipv4_socket = socket(AF_INET, SOCK_DGRAM, 0)) - return TRUE; + struct sockaddr_in adr; + + if ((ipv4_socket = socket(AF_INET, SOCK_DGRAM, 0)) != -1) + { + if (dobind) + { + adr.sin_family = AF_INET; + adr.sin_port = htons(161); + adr.sin_addr.s_addr = INADDR_ANY; + if (bind(ipv4_socket, &adr, sizeof(struct sockaddr_in)) == -1) + { + close(ipv4_socket); + g_warning("Can't bind IPv4 socket: %s", g_strerror(errno)); + } + } + return TRUE; + } + g_warning("Open socket for transport AF_INET failed: %s", g_strerror(errno)); return FALSE; } @@ -110,6 +126,8 @@ #ifdef HAVE_IPX +/* Transport mapping as defined in RFC1906 Chapter 6 */ + #include static gint ipx_socket = 0; /* file handle for SNMP traffic */ @@ -118,18 +136,33 @@ ipx_resolve_address (guchar *hostname, struct sockaddr **address) { struct sockaddr_ipx *adr; + char *net, *hwaddr; + int a1, a2, a3, a4, a5, a6; adr = (struct sockaddr_ipx *) g_malloc(sizeof(struct sockaddr_ipx)); adr->sipx_family = AF_IPX; - adr->sipx_port = 10; - adr->sipx_network = 0; - adr->sipx_node[0] = 1; - adr->sipx_node[1] = 2; - adr->sipx_node[2] = 3; - adr->sipx_node[3] = 4; - adr->sipx_node[4] = 5; - adr->sipx_node[5] = 6; - adr->sipx_type = IPX_TYPE; + adr->sipx_port = htons(0x900f); + adr->sipx_type = 4; /* Packet Exchange Protocol */ + + net = strtok(hostname, "."); + hwaddr = strtok(NULL, "."); + + if (!hwaddr) + { + hwaddr = net; + adr->sipx_network = 0; + } + else + { + adr->sipx_network = htonl(atoi(net)); + } + sscanf(hwaddr, "%x:%x:%x:%x:%x:%x", &a1, &a2, &a3, &a4, &a5, &a6); + adr->sipx_node[0] = a1; + adr->sipx_node[1] = a2; + adr->sipx_node[2] = a3; + adr->sipx_node[3] = a4; + adr->sipx_node[4] = a5; + adr->sipx_node[5] = a6; *address = (struct sockaddr *) adr; @@ -137,10 +170,33 @@ } static gboolean -ipx_init() +ipx_init(gboolean dobind) { - if (ipx_socket = socket(AF_IPX, SOCK_DGRAM, 0)) - return TRUE; + struct sockaddr_ipx adr; + + if ((ipx_socket = socket(AF_IPX, SOCK_DGRAM, 0)) != -1) + { + adr.sipx_family = AF_IPX; + adr.sipx_network = 0; + adr.sipx_node[0] = 0; + adr.sipx_node[1] = 0; + adr.sipx_node[2] = 0; + adr.sipx_node[3] = 0; + adr.sipx_node[4] = 0; + adr.sipx_node[5] = 0; + adr.sipx_type = 4; /* Packet Exchange Protocol */ + if (dobind) + adr.sipx_port = htons(36879); /* SNMP IPX port as of RFC1903 */ + else + adr.sipx_port = 0; + if (bind(ipx_socket, &adr, sizeof(struct sockaddr_ipx)) == -1) + { + close(ipx_socket); + g_warning("Can't bind IPX socket: %s", g_strerror(errno)); + } + return TRUE; + } + g_warning("Open socket for transport AF_IPX failed: %s", g_strerror(errno)); return FALSE; } @@ -205,10 +261,11 @@ } static gboolean -ipv6_init() +ipv6_init(gboolean dobind) { - if (ipv6_socket = socket(AF_INET6, SOCK_DGRAM, 0)) + if ((ipv6_socket = socket(AF_INET6, SOCK_DGRAM, 0)) != -1) return TRUE; + g_warning("Open socket for transport AF_INET6 failed: %s", g_strerror(errno)); return FALSE; } @@ -246,12 +303,13 @@ #endif gboolean -g_transport_init() +g_transport_init(gboolean dobind) { struct g_transport *my_transport; + int success = 0; #ifdef HAVE_INET - if (ipv4_init()) + if (ipv4_init(dobind)) { my_transport = g_malloc(sizeof(struct g_transport)); @@ -261,11 +319,12 @@ my_transport->getSocket = ipv4_get_socket; g_register_transport(AF_INET, my_transport); + success = 1; } #endif #ifdef HAVE_IPX - if (ipx_init()) + if (ipx_init(dobind)) { my_transport = g_malloc(sizeof(struct g_transport)); @@ -275,11 +334,12 @@ my_transport->getSocket = ipx_get_socket; g_register_transport(AF_IPX, my_transport); + success = 1; } #endif #ifdef HAVE_INET6 - if (ipv6_init()) + if (ipv6_init(dobind)) { my_transport = g_malloc(sizeof(struct g_transport)); @@ -289,9 +349,12 @@ my_transport->getSocket = ipv6_get_socket; g_register_transport(AF_INET6, my_transport); + success = 1; } #endif - return TRUE; + if (success) + return TRUE; + return FALSE; } /* EOF */ diff -uNr gnome-admin-0.25/gxsnmp/lib/test.c gnome-admin-0.26/gxsnmp/lib/test.c --- gnome-admin-0.25/gxsnmp/lib/test.c Tue Aug 4 11:36:34 1998 +++ gnome-admin-0.26/gxsnmp/lib/test.c Tue Aug 11 11:04:49 1998 @@ -144,7 +144,7 @@ variable = argv[optind+1]; init_mib(); - g_snmp_init(NULL); + g_snmp_init(FALSE, NULL); printf("sending SNMPGET to %s for %s\n", name, variable); snmp_get(); } diff -uNr gnome-admin-0.25/gxsnmp/pixmaps/logo_v.xpm gnome-admin-0.26/gxsnmp/pixmaps/logo_v.xpm --- gnome-admin-0.25/gxsnmp/pixmaps/logo_v.xpm Tue Aug 4 11:36:40 1998 +++ gnome-admin-0.26/gxsnmp/pixmaps/logo_v.xpm Tue Aug 11 11:04:53 1998 @@ -1,363 +1,610 @@ /* XPM */ -static char * v_logo_xpm[] = { -"109 289 71 1", -" c None", -". c #FFFFFF", -"+ c #FFDEDE", -"@ c #FFBDBD", -"# c #FF7B7B", -"$ c #FF0000", -"% c #EFEFEF", -"& c #BDBDBD", -"* c #C6C6C6", -"= c #DEDEDE", -"- c #5B5B5B", -"; c #FF9C9C", -"> c #FF4242", -", c #9C9C9C", -"' c #ADADAD", -") c #E7E7E7", -"! c #B5B5B5", -"~ c #E72121", -"{ c #DE7B7B", -"] c #DEDEE7", -"^ c #BD7B7B", -"/ c #BD9C9C", -"( c #F7F7F7", -"_ c #949494", -": c #A5A5A5", -"< c #D6D6D6", -"[ c #CECECE", -"} c #686868", -"| c #FFEFEF", -"1 c #FFADAD", -"2 c #FF6363", -"3 c #DE9C9C", -"4 c #CE8C8C", -"5 c #A56363", -"6 c #EF7B7B", -"7 c #BD0000", -"8 c #524242", -"9 c #420000", -"0 c #100000", -"a c #080000", -"b c #CE7B7B", -"c c #000000", -"d c #424242", -"e c #636363", -"f c #080808", -"g c #840000", -"h c #101010", -"i c #8C8C8C", -"j c #313131", -"k c #7B7B7B", -"l c #BD4242", -"m c #525252", -"n c #BDBDC6", -"o c #5A5A5A", -"p c #212121", -"q c #848484", -"r c #737373", -"s c #181818", -"t c #EF3131", -"u c #8C1010", -"v c #6B6B6B", -"w c #FF8C8C", -"x c #313139", -"y c #CE1010", -"z c #A52121", -"A c #DE6363", -"B c #FF7373", -"C c #847373", -"D c #211010", -"E c #845252", -"F c #DECECE", -" ", -" .. .. ", -" .+@. .@+. ", -" .#$. .$#. ", -" .+@. .@+. ", -" .#$. .$#. ", -" .+@. .@+. ", -" .#$. .$#. ", -" .+@. .@+. ", -" .#$. .$#. ", -" .+@. .@+. ", -" .#$. .$#. ", -" .+@. .@+. ", -" .#$. .$#. ", -" .+@. ......................................... .@+. ", -" .#$. %&*&&&*&&&*&&&&&*&&&&&*&&&*&&&&&*&&&&&*&&=. .$#. ", -" .+@. .=----------------------------------------&. .@+. ", -" .#$. .=----------------------------------------&. .$#. ", -" .+@. .=----------------------------------------&. .@+. ", -" .#$. .=----------------------------------------*. .$#. ", -" .@#. .=----------------------------------------&. .#@. ", -" .;>. .=----------------------------------------&. .>;. ", -" .@#. .=----------------------------------------*. .#@. ", -" .;>. .=----------------------------------------&. .>;. ", -" .@#. .=----------------------------------------*. .#@. ", -" .;>. .=---------,&*&&&*&&&&&*&&&&&*&&,---------&. .>;. ", -" .@#. .=---------&....................&---------&. .#@. ", -" .;>. .=---------&. .&---------*. .>;. ", -" .@#. .=---------&. .&---------&. .#@. ", -" .;>. .=---------&. .&---------&. .>;. ", -" .@#. .=---------&. .&---------*. .#@. ", -" .;>. .=---------&. .&---------&. .>;. ", -" .@#. .=---------&. .&---------&. .#@. ", -" .;>. .=---------&. .&---------*. .>;. ", -" .@#. .=---------&. .&---------&. .#@. ", -" .;>. .=---------&. .&---------&. .>;. ", -" .@#. .=---------&. .&---------*. .#@. ", -" .;>. .=---------&. .&---------&. .>;. ", -" .@#. .=---------&....................&---------&....#@............ ", -" .;>. .=---------'==)===)=======)===)='---------!====~{]===========. ", -" .@#. .=-----------------------------------------------------------. ", -" .;>. .=-----------------------------------------------------------. ", -" .@#. .=-----------------------------------------------------------. ", -" .;>. .=-----------------------------------------------------------. ", -" .@#. .=-----------------------------------------------------------. ", -" .;>. .=-----------------------------------------------------------. ", -" .@#. .=-----------------------------------------------------------. ", -" .;>. .=-----------------------------------------------------------. ", -" .@#. .=-----------------------------------------------------------. ", -" .;>. %&&&*&&&*&&&&&*&&&&&*&&&*&&&&&*&&&&&*&&&&&*&&&^/*&&&&&*&&&&&. ", -" .@#. .............................................#@............ ", -" .;>. .>;. ", -" .@#. .#@. ", -" .;>. .>;. ", -" .@#. ........................................ .#@. ", -" .;>. (================)===)===)===)===)===)===( .>;. ", -" .@#. .=----------------------------------------&. .#@. ", -" .;>. .=----------------------------------------&. .>;. ", -" .@#. .=----------------------------------------*. .#@. ", -" .;>. .=----------------------------------------&. .>;. ", -" .@#. .=----------------------------------------&. .#@. ", -" .;>. .=----------------------------------------&. .>;. ", -" .@#. .=----------------------------------------*. .#@. ", -" .;>. .=----------------------------------------&. .>;. ", -" .@#. .=----------------------------------------&. .#@. ", -" .;>. .=---------&............................... .>;. ", -" .@#. .=---------&. .#@. ", -" .;>. .=---------&. .>;. ", -" .@#. .=---------&. .#@. ", -" .;>. .=---------&. .>;. ", -" .@#. .=---------&. .#@. ", -" .;>. .=---------&. .>;. ", -" .@#. .=---------&. .#@. ", -" .;>. .=---------&. .>;. ", -" .@#. .=---------&............................... .#@. ", -" .;>. .=----------------------------------------&. .>;. ", -" .@#. .=----------------------------------------&. .#@. ", -" .;>. .=----------------------------------------*. .>;. ", -" .@#. .=----------------------------------------&. .#@. ", -" .;>. .=----------------------------------------&. .>;. ", -" .@#. .=----------------------------------------&. .#@. ", -" .;>. .=----------------------------------------&. .>;. ", -" .@#. .=----------------------------------------&. .#@. ", -" .;>. .=----------------------------------------&. .>;. ", -" .@#. (======)==_--------,===)===)=======)===)=% .#@. ", -" .;>. .........,--------,..................... .>;. ", -" .@#. .,--------:. .#@. ", -" .;>. .,--------,. .>;. ", -" .@#. .,--------,. .#@. ", -" .;>. .,--------_. .>;. ", -" .@#. .,---------. .#@. ", -" .;>. .!---------<. .>;. ", -" .@#. .&---------,. .#@. ", -" .;>. .=----------[. .>;. ", -" .@#. %-----------:%.................. .#@. ", -" .;>. .}------------_&&&&*&&&*&&&&&&*=. .>;. ", -" .@#. .!-----------------------------&. .#@. ", -" .;>. (-----------------------------&. .>;. ", -" .@#. .'----------------------------&. .#@. ", -" .;>. %----------------------------&. .>;. ", -" .@#. .&---------------------------&. .#@. ", -" .;>. .'--------------------------&. .>;. ", -" .@#. .'-------------------------&. .#@. ", -" .;>. .*------------------------&. .>;. ", -" .@#. .%'----------------------*. .#@. ", -" .;>. ..[:-------------------&. .>;. ", -" .@#. ...(==*&&&*&&&&&*&&&&=. .#@. ", -" .;>. .................. .>;. ", -" .@#. .#@. ", -" .;>. .>;. ", -" .@#. .#@. ", -" .;>. .......................................... .>;. ", -" .@#. .),:,,:,,:,:,,:,,,,,,,:,,:,:,,:,,,,:,,,:,,[. .#@. ", -" .;>. .=----------------------------------------*. .>;. ", -" .@#. .=----------------------------------------&. .#@. ", -" .;>. .=----------------------------------------&. .>;. ", -" .@#. .=----------------------------------------*. .#@. ", -" .;>. .=----------------------------------------&. .>;. ", -" .@#. .=----------------------------------------&. .#@. ", -" .;>. .=----------------------------------------*. .>;. ", -" .@#. .=----------------------------------------&. .#@. ", -" .;>. .=----------------------------------------&. .>;. ", -" .@#. .=---------'============)=======)===)===)=% .#@. ", -" .;>. .=---------&.............................. .>;. ", -" .@#. .=---------&. .#@. ", -" .;>. .=---------&. .>;. ", -" .@#. .=---------&. .#@. ", -" .;>. .=---------&. .>;. ", -" .@#. .=---------&. .#@. ", -" .;>. .=---------&. .>;. ", -" .@#. .=---------&. .#@. ", -" .;>. .=---------&. .>;. ", -" .@#. .=---------&. .#@. ", -" .;>. .=---------&. .>;. ", -" .@#. .=---------&. .#@. ", -" .;>. .=---------&............................... .>;. ", -" .@#. .=---------},:,:,,:,,:,:,,:,,,,,,,:,,:,:,,[. .#@. ", -" .;>. .=----------------------------------------*. .>;. ", -" .@#. .=----------------------------------------&. .#@. ", -" .;>. .=----------------------------------------&. .>;. ", -" .@#. .=----------------------------------------*. .#@. ", -" .;>. .=----------------------------------------&. .>;. ", -" .@#. .=----------------------------------------&. .#@. ", -" .;>. .=----------------------------------------*. .>;. ", -" .@#. .=----------------------------------------&. .#@. ", -" .;>. .=----------------------------------------&. .>;. ", -" .@#. .=---------'============================)=% .#@. ", -" .;>. .=---------&.............................. .>;. ", -" .@#. .=---------*. .#@. ", -" .;>. (======)==% .>;. ", -" .@#. ......... .#@. ", -" .;>. .>;. ", -" .@#. .#@. ", -" .;>. .>;. ", -" .@#. .............. ............... .#@. ", -" .;>. .=------------&..----------,,![).. .>;. ", -" .@#. .=------------*..---------------}&(. .#@. ", -" .;>. .=------------&..------------------&. .>;. ", -" .@#. .=------------&..-------------------,. .#@. ", -" .;>. .=------------&..--------------------_. .>;. ", -" .@#. .=------------&..---------------------_( .#@. ", -" .;>. .=------------&..----------------------&. .>;. ", -" .@#. .=------------&..-----------------------). .#@. ", -" .;>. .=------------*..-----------------------'. .>;. ", -" .@#. .=------------&..------------------------% .#@. ", -" .;>. .=---------*==% .------------------------*. .>;. ", -" .@#. .=---------=.. .---------,.[,-----------,. .#@. ", -" .;>. .=---------=. .---------,...<-----------. .>;. ", -" .@#. .=---------=. .---------,. .<----------). .#@. ", -" .;>. .=---------=. .---------,. .,---------=. .>;. ", -" .@#. .=---------=. .---------,. .[---------[. .#@. ", -" .;>. .=---------=. .---------,. .=---------&. .>;. ", -" .@#. .=---------=. .---------,. .---------&. .#@. ", -" .;>. .=---------=. .---------,. .---------&. .>;. ", -" .@#. .=---------=. .---------,. .---------&. .#@. ", -" .;>. .=---------=. .---------,. .---------&. .>;. ", -" .@#. .=---------=. .---------,. .---------&. .#@. ", -" .;>. .=---------=.....---------,. .---------&. .>;. ", -" .@#. .=------------------------,. .---------&. .#@. ", -" .;>. .=------------------------,. .---------&. .>;. ", -" .@#. .=------------------------,. .---------&. .#@. ", -" .;>. .=------------------------,. .---------&. .>;. ", -" .@#. .=------------------------,. .---------&. .#@. ", -" .;>. .=------------------------,. .---------&. .>;. ", -" .@#. .=------------------------,. .---------&. .#@. ", -" .;>. .=------------------------,. .---------&. .>;. ", -" .@#. .=------------------------:. .---------&. .#@. ", -" .;>. .=------------------------,. .---------&. .>;. ", -" .@#. .......................... .......... .#@. ", -" .;>. .>;. ", -" .@#. .#@. ", -" .;>. .>;. ", -" .@#. .#@. ", -" . . . . . . . . . .;>.. . . . . . . . . . . . . . . . . . . . . . . . . ..>;. . . . . . . . . . . . . ", -" .@(@|@(@|@(@|@(@|@(@1#(@|@(@|@(@|@(@|@(@|@(@|@(@|@(@|@(@|@(@|@|@(@|@(@|@(@|#@@(@|@(@|@(@|@(@|@(@|@(@|@( ", -" .$@$@$@$@$@$@$@$@$@$2$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$3$4$5$5$5$5$5$5$5$5$6$@$@$@$@$@$@$@$@$@$@$@$@$@. ", -" .@(@(@|@(@|@(@|@(@|@178^(@|@(@|@(@|@(@|@(@|@(@|@(@|@)5890909a909a909a909a907b@(@(@|@(@|@(@|@(@|@(@|@(@| ", -" . . . . . . . . . .;7ccd&.. . . . . . . . . . . .%efcccccccccccccccccccccc7{. . . . . . . . . . . . . ", -" .@gccccd&.. .,hccccccccccccccccccccccccg^. ", -" .;7ccccccd&.. .ecccccccccccccccccccccccccc7{. ", -" .@gccccccccd&.. .ecccccccccccccccccccccccccccg^. ", -" .;7ccccccccccd&.. .,cccccccccccccccccccccccccccc7{. ", -" .@gccccccccccccd&.. %hccccccccccccccccccccccccccccg^. ", -" .;7ccccccccccccccd&.. .eccccccccccccccccccccccccccccc7{. ", -" .@gccccccccccccccccd&.. %ccccccccccccccccccccccccccccccg^. ", -" .;7ccccccccccccccccccd&..icccccccccccccccccccccccccccccc7{. ", -" .@gccccccccccccccccccccd&dccccccccccccjk_&&*&&*&&*&&*&&*l3. ", -" .;7cccccccccccccccccccccccccccccccccm=..................>;. ", -" .@gcccccccccccccccccccccccccccccccce.. .#@. ", -" .;>necccccccccccccccccccccccccccccd. .>;. ", -" .@#..=khcccccccccccccccccccccccccc,. .#@. ", -" .;>. ...,jcccccccccccccccccccccccc(. .>;. ", -" .@#. ..&ecccccccccccccccccccccco).. .#@. ", -" .;>. ..=khccccccccccccccccccccco). .>;. ", -" .@#. ...,pccccccccccccccccccccfq%. .#@. ", -" .;>. ..&mcccccccccccccccccccchk(. .>;. ", -" .@#. ..=rhcccccccccccccccccccs:.. .#@. ", -" .;>. ..%,pcccccccccccccccccccp,.. .>;. ", -" .@#. ..dccccccccccccccccccccd&.. .#@. ", -" .;>. .dccccccccccccccccccccccd&.. .>;. ", -" .@#......... .dcccccccccccccccccccccccce=.. .#@. ", -" .;7n*&&*&&*[. .jcccccccccccccccccccccccccce=. .>;. ", -" .@gccccccccd. .)cccccccccccccccccccccccccccchk(.#@. ", -" .;7ccccccccd. .kccccccccccccccccccccccccccccccfqt;. ", -" .@gccccccccd. .[ccccccccccrecccccccccccccccccccccu@. ", -" .;7ccccccccd.........ihcccccccccc&.[dccccccccccccccccccc7{. ", -" .@gccccccccj&*&&*&kehcccccccccccc. ..&pcccccccccccccccccg^. ", -" .;7cccccccccccccccccccccccccccccm. ..,hccccccccccccccc7{. ", -" .@gccccccccccccccccccccccccccccc'. .%kccccccccccccccg^. ", -" .;7ccccccccccccccccccccccccccccp. .=ecccccccccccc7{. ", -" .@gcccccccccccccccccccccccccccc'. ..&dccccccccccg^. ", -" .;7ccccccccccccccccccccccccccce. ..,pcccccccc7{. ", -" .@gccccccccccccccccccccccccccj% ..khccccccg^. ", -" .;7cccccccccccccccccccccccccj% .(vccccc7{. ", -" .@gccccccccccccccccccccccccr% .=dcccg^. ", -" .;7ccccccccccccccccccccccd&. ..&jc7{. ", -" ...................@gcccccccccccccccccccjq=..............................:g^.......................... ", -" .$@$@$@$@$@$@$@$@$@$2$5$5$5$5$5$5$5$5$4$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$w$@$@$@$@$@$@$@$@$@$@$@$@$@. ", -" .#+#+#+#+#+#+#+#+#+#;$+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+$;#+#+#+#+#+#+#+#+#+#+#+#+#+. ", -" ...................;>.....................................................>;.......................... ", -" .@#. .#@. ", -" .;>. .>;. ", -" .@#. .#@. ", -" .;>. .>;. ", -" .@#......... ................................#@. ", -" .;7dddddxddr. .ddddxdddxdddxdddxdddxdddxdddxddd7{. ", -" .@gccccccccd. .ccccccccccccccccccccccccccccccccg^. ", -" .;7ccccccccd. .cccccccccccccccccccccccccccccccc7{. ", -" .@gccccccccd. .ccccccccccccccccccccccccccccccccg^. ", -" .;7ccccccccd. .cccccccccccccccccccccccccccccccc7{. ", -" .@gccccccccd. .ccccccccccccccccccccccccccccccccg^. ", -" .;7ccccccccd. .cccccccccccccccccccccccccccccccc7{. ", -" .@gccccccccd. .ccccccccccccccccccccccccccccccccg^. ", -" .;7ccccccccd. .cccccccccccccccccccccccccccccccc7{. ", -" .@gccccccccd. .ccccccccccccccccccccccccccccccccg^. ", -" .;7ccccccccd. .cccccccccccccccccccccccccccccccc7{. ", -" .@gccccccccd. .cccccccccd..............ccccccccg^. ", -" .;7ccccccccd. .cccccccccd. .cccccccc7{. ", -" .@gccccccccd. .cccccccccd. .ccccccccg^. ", -" .;7ccccccccd. .cccccccccd. .cccccccc7{. ", -" .@gccccccccd. .&*&&*&&*&[. .ccccccccg^. ", -" .;7ccccccccd. .......... .cccccccc7{. ", -" .@gcccccccch. .hcccccccccccccdddxdddxdddxdddxdddxdddxdjccccccccccccc~;. ", -" .@#eccccccccccccccccccccccccccccccccccccccccccccccccccccl@. ", -" .;>nccccccccccccccccccccccccccccccccccccccccccccccccccch>;. ", -" .@#.dcccccccccccccccccccccccccccccccccccccccccccccccccck#@. ", -" .#$.[cccccccccccccccccccccccccccccccccccccccccccccccccp.$#. ", -" .+@..kcccccccccccccccccccccccccccccccccccccccccccccccc[.@+. ", -" .#$. .ecccccccccccccccccccccccccccccccccccccccccccccc,..$#. ", -" .+@. .eccccccccccccccccccccccccccccccccccccccccccch,. .@+. ", -" .#$. .'hccccccccccccccccccccccccccccccccccccccccd=. .$#. ", -" . . . . . . . . . .+@.. . .%kpccccccccccccccccccccccccccccccccccccd&... ..@+. . . . . . . . . . . . . ", -" .@(@|@(@|@(@|@(@|@(@B$(@|@(@|@(4C9D909090909090909090909090909098EF@(@(@|@($#@(@|@(@|@(@|@(@|@(@|@(@|@( ", -" .$@$@$@$@$@$@$@$@$@$;$@$@$@$@$@$@$@$@$4$4$4$4$4$4$4$4$4$4$4$3$@$@$@$@$@$@$@$1$@$@$@$@$@$@$@$@$@$@$@$@$@. ", -" .@(@(@|@(@|@(@|@(@|@B$|@(@|@(@|@(@|@(@|@(@|@(@|@(@|@(@|@(@|@(@|@(@|@(@|@(@|$#@(@(@|@(@|@(@|@(@|@(@|@(@| ", -" . . . . . . . . . .+@.. . . . . . . . . . . . . . . . . . . . . . . . . ..@+. . . . . . . . . . . . . ", -" .#$. .$#. ", -" .+@. .@+. ", -" .#$. .$#. ", -" .+@. .@+. ", -" .#$. .$#. ", -" .. .. ", -" ", -" "}; +static char * logo_v_xpm[] = { +"109 200 407 2", +" c None", +". c #9D9D9D", +"+ c #FFEAEA", +"@ c #FFD6D6", +"# c #FFFFFF", +"$ c #FF9999", +"% c #FF3A3A", +"& c #FFA8A8", +"* c #FF5656", +"= c #FEFEFE", +"- c #FEBFBF", +"; c #FE8282", +"> c #FF5757", +", c #FFB7B7", +"' c #FF7373", +") c #FFBFBF", +"! c #FF8282", +"~ c #FFA0A0", +"{ c #FF4747", +"] c #949494", +"^ c #D6D6D6", +"/ c #DBDBDB", +"( c #EAEAEA", +"_ c #ECECEC", +": c #DFDFDF", +"< c #626262", +"[ c #BFBFBF", +"} c #FFB0B0", +"| c #FF6666", +"1 c #DEDEDE", +"2 c #5A5A5A", +"3 c #BDBDBD", +"4 c #FE9494", +"5 c #FE2F2F", +"6 c #C3C3C3", +"7 c #FFADAD", +"8 c #FF6060", +"9 c #FFB2B2", +"0 c #FF6969", +"a c #FF5858", +"b c #C0C0C0", +"c c #FFA6A6", +"d c #FF5353", +"e c #888888", +"f c #9F9F9F", +"g c #A6A6A6", +"h c #AEAEAE", +"i c #FF6565", +"j c #FEA6A6", +"k c #FE5353", +"l c #FFAAAA", +"m c #FF5B5B", +"n c #C1C1C1", +"o c #BEBEBE", +"p c #FFABAB", +"q c #FF5C5C", +"r c #FFAFAF", +"s c #FF6464", +"t c #C2C2C2", +"u c #BCBCBC", +"v c #B2B2B2", +"w c #FE6969", +"x c #FEB2B2", +"y c #FF5454", +"z c #929292", +"A c #B4B4B4", +"B c #BABABA", +"C c #989898", +"D c #BA3333", +"E c #B47070", +"F c #B4B4BA", +"G c #FFAEAE", +"H c #FF6161", +"I c #FF5F5F", +"J c #E8E8E8", +"K c #636363", +"L c #646464", +"M c #635D5D", +"N c #636060", +"O c #FFA9A9", +"P c #8F8F8F", +"Q c #D7D7D7", +"R c #DCDCDC", +"S c #D77B7B", +"T c #D7A9A9", +"U c #999999", +"V c #FF6868", +"W c #A0A0A0", +"X c #E1E1E1", +"Y c #C6C6C6", +"Z c #D9D9D9", +"` c #FF5D5D", +" . c #5C5C5C", +".. c #5D5D5D", +"+. c #FAFAFA", +"@. c #ACACAC", +"#. c #B3B3B3", +"$. c #EFEFEF", +"%. c #B9B9B9", +"&. c #FF5959", +"*. c #FFB1B1", +"=. c #C8C8C8", +"-. c #D2D2D2", +";. c #D8D8D8", +">. c #8D8D8D", +",. c #939393", +"'. c #838383", +"). c #9C9C9C", +"!. c #FF6363", +"~. c #6B6B6B", +"{. c #B7B7B7", +"]. c #FFA7A7", +"^. c #727272", +"/. c #A3A3A3", +"(. c #F2F2F2", +"_. c #5E5E5E", +":. c #606060", +"<. c #969696", +"[. c #E0E0E0", +"}. c #E3E3E3", +"|. c #E9E9E9", +"1. c #FF6262", +"2. c #737373", +"3. c #858585", +"4. c #898989", +"5. c #CBCBCB", +"6. c #696969", +"7. c #FFACAC", +"8. c #828282", +"9. c #CDCDCD", +"0. c #AFAFAF", +"a. c #CECECE", +"b. c #7C7C7C", +"c. c #A9A9A9", +"d. c #5F5F5F", +"e. c #FF6767", +"f. c #9E9E9E", +"g. c #818181", +"h. c #EDEDED", +"i. c #C4C4C4", +"j. c #9A9A9A", +"k. c #BBBBBB", +"l. c #FF5A5A", +"m. c #FF5E5E", +"n. c #F3F3F3", +"o. c #E6E6E6", +"p. c #686868", +"q. c #FF5555", +"r. c #A5A5A5", +"s. c #AAAAAA", +"t. c #FBFBFB", +"u. c #CCCCCC", +"v. c #6F6F6F", +"w. c #9B9B9B", +"x. c #A1A1A1", +"y. c #D5D5D5", +"z. c #7F7F7F", +"A. c #868686", +"B. c #E7E7E7", +"C. c #B8B8B8", +"D. c #A7A7A7", +"E. c #656565", +"F. c #E2E2E2", +"G. c #F6F6F6", +"H. c #C9C9C9", +"I. c #6E6E6E", +"J. c #CFCFCF", +"K. c #919191", +"L. c #808080", +"M. c #ADADAD", +"N. c #FDFDFD", +"O. c #797979", +"P. c #C7C7C7", +"Q. c #FFC4C4", +"R. c #B8B4B4", +"S. c #BDAFAF", +"T. c #FFA4A4", +"U. c #F9F6F6", +"V. c #BBADAD", +"W. c #B5B2B2", +"X. c #B9AAAA", +"Y. c #B3B0B0", +"Z. c #FAEBEB", +"`. c #FEB1B1", +" + c #FF4444", +".+ c #FCD1D1", +"++ c #FFCECE", +"@+ c #FF7D7D", +"#+ c #E70000", +"$+ c #C09090", +"%+ c #E72C2C", +"&+ c #F6CCCC", +"*+ c #DE2323", +"=+ c #BA0000", +"-+ c #936363", +";+ c #895959", +">+ c #6C3F3F", +",+ c #6F3F3F", +"'+ c #E37B7B", +")+ c #FFE9E9", +"!+ c #FFA1A1", +"~+ c #BD0000", +"{+ c #1B1515", +"]+ c #3E2828", +"^+ c #7E7E7E", +"/+ c #D2BDBD", +"(+ c #FFF9F9", +"_+ c #F4EFEF", +":+ c #968080", +"<+ c #525252", +"[+ c #362020", +"}+ c #150000", +"|+ c #050000", +"1+ c #020000", +"2+ c #D87B7B", +"3+ c #950000", +"4+ c #000000", +"5+ c #010101", +"6+ c #040404", +"7+ c #333333", +"8+ c #101010", +"9+ c #020202", +"0+ c #C77B7B", +"a+ c #9B0000", +"b+ c #1A1A1A", +"c+ c #4D4D4D", +"d+ c #A2A2A2", +"e+ c #282828", +"f+ c #CA7B7B", +"g+ c #AB0000", +"h+ c #060606", +"i+ c #121212", +"j+ c #474747", +"k+ c #090909", +"l+ c #D37B7B", +"m+ c #A10000", +"n+ c #1F1F1F", +"o+ c #5B5B5B", +"p+ c #070707", +"q+ c #CE7B7B", +"r+ c #0B0B0B", +"s+ c #212121", +"t+ c #E4E4E4", +"u+ c #111111", +"v+ c #A30000", +"w+ c #242424", +"x+ c #ABABAB", +"y+ c #151515", +"z+ c #363636", +"A+ c #414141", +"B+ c #535353", +"C+ c #575757", +"D+ c #BD1D1D", +"E+ c #DE8989", +"F+ c #2F2F2F", +"G+ c #050505", +"H+ c #464646", +"I+ c #F0F0F0", +"J+ c #EE4545", +"K+ c #F69D9D", +"L+ c #B01717", +"M+ c #444447", +"N+ c #232323", +"O+ c #171717", +"P+ c #E9E9EC", +"Q+ c #959595", +"R+ c #0A0A0A", +"S+ c #B5B5B5", +"T+ c #B0B0B0", +"U+ c #1C1C1C", +"V+ c #F8F8F8", +"W+ c #848484", +"X+ c #494949", +"Y+ c #979797", +"Z+ c #C5C5C5", +"`+ c #4C4C4C", +" @ c #272727", +".@ c #080808", +"+@ c #1B1B1B", +"@@ c #747474", +"#@ c #A8A8A8", +"$@ c #CACACA", +"%@ c #3B3B3B", +"&@ c #D0D0D0", +"*@ c #8E8E8E", +"=@ c #393939", +"-@ c #424242", +";@ c #FB6565", +">@ c #B6B6B6", +",@ c #A80000", +"'@ c #77777D", +")@ c #7D7D7D", +"!@ c #777777", +"~@ c #3E3E3E", +"{@ c #AA0000", +"]@ c #555555", +"^@ c #F44949", +"/@ c #131313", +"(@ c #9B0B0B", +"_@ c #F5A9A9", +":@ c #9A0000", +"<@ c #373737", +"[@ c #383838", +"}@ c #EBEBEB", +"|@ c #717171", +"1@ c #0D0D0D", +"2@ c #505050", +"3@ c #CF7B7B", +"4@ c #303030", +"5@ c #B1B1B1", +"6@ c #595959", +"7@ c #990000", +"8@ c #181818", +"9@ c #454545", +"0@ c #878787", +"a@ c #C97B7B", +"b@ c #960000", +"c@ c #FF2727", +"d@ c #FFC7C7", +"e@ c #FF7575", +"f@ c #FD0000", +"g@ c #BD8585", +"h@ c #FB2424", +"i@ c #D9A2A2", +"j@ c #FBC4C4", +"k@ c #FC2424", +"l@ c #FDC5C5", +"m@ c #FE2727", +"n@ c #FDC6C6", +"o@ c #FE9090", +"p@ c #FFCACA", +"q@ c #FFF1F1", +"r@ c #FF9C9C", +"s@ c #E14343", +"t@ c #A2A2A5", +"u@ c #F09F9F", +"v@ c #0F0F0F", +"w@ c #0B0B0D", +"x@ c #A70000", +"y@ c #D17B7B", +"z@ c #A20000", +"A@ c #4B4B4B", +"B@ c #C11515", +"C@ c #D88080", +"D@ c #CD2121", +"E@ c #191919", +"F@ c #7B7B7B", +"G@ c #A60000", +"H@ c #EB9595", +"I@ c #E65656", +"J@ c #030303", +"K@ c #8C8C8C", +"L@ c #BBBBBD", +"M@ c #1E1E1E", +"N@ c #9E0707", +"O@ c #3C3C3C", +"P@ c #16161A", +"Q@ c #161616", +"R@ c #D03232", +"S@ c #B8B8BE", +"T@ c #1D1D1D", +"U@ c #F44A4A", +"V@ c #FF9E9E", +"W@ c #FF4242", +"X@ c #676767", +"Y@ c #252525", +"Z@ c #2D2D2D", +"`@ c #FEEAEA", +" # c #FFBDBD", +".# c #FCFCFC", +"+# c #F3EEEE", +"@# c #A28E8E", +"## c #3E2A2A", +"$# c #282323", +"%# c #140000", +"&# c #0A0404", +"*# c #040000", +"=# c #181414", +"-# c #281818", +";# c #433E3E", +"># c #7B6767", +",# c #FF4949", +"'# c #FBD3D3", +")# c #FFD0D0", +"!# c #FF8C8C", +"~# c #FF0000", +"{# c #EC3636", +"]# c #CFA0A0", +"^# c #B50000", +"/# c #A87979", +"(# c #A27373", +"_# c #845555", +":# c #8E5F5F", +"<# c #BB8D8D", +"[# c #CF1F1F", +"}# c #F2C3C3", +"|# c #BFB9B9", +"1# c #C4B4B4", +"2# c #FF8E8E", +"3# c #FF2B2B", +"4# c #FFEEEE", +"5# c #C0B0B0", +"6# c #BBB6B6", +"7# c #BCB7B7", +"8# c #FF9595", +"9# c #FF9B9B", +"0# c #FF3F3F", +" ", +" . + @ . . @ + . ", +" # $ % # # % $ # ", +" # & * # # * & # ", +" = - ; = = ; - = ", +" # & > # # > & # ", +" # $ % # # % $ # ", +" # , ' # # ' , # ", +" # ) ! # # ! ) # ", +" # $ % # # % $ # ", +" # ~ { # ] ^ / ^ ^ ^ / ^ ^ ^ / ^ ^ ^ ^ ^ / ^ ^ ^ ^ ^ / ^ ^ ^ / ^ ^ ^ ^ ^ / ^ ^ ^ ^ ^ / ^ ^ ( . # { ~ # ", +" # ) ! # _ : < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < [ # # ! ) # ", +" # } | # # 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 # # | } # ", +" = 4 5 = = 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 6 = = 5 4 = ", +" # 7 8 # # 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 # # 8 7 # ", +" # 9 0 # # 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 6 # # 0 9 # ", +" # & a # # 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 b # # a & # ", +" # c d # # 1 2 2 2 2 2 2 2 2 2 e f g f f f g f f f f f g f f f f f g f f e 2 2 2 2 2 2 2 2 2 [ # # d c # ", +" # 9 0 # # 1 2 2 2 2 2 2 2 2 2 3 # h h h h h h h h h h h h h h h h h h # 3 2 2 2 2 2 2 2 2 2 [ # # 0 9 # ", +" # } i # # 1 2 2 2 2 2 2 2 2 2 3 # # 3 2 2 2 2 2 2 2 2 2 b # # i } # ", +" = j k = = 1 2 2 2 2 2 2 2 2 2 3 = = 3 2 2 2 2 2 2 2 2 2 [ = = k j = ", +" # l m # # 1 2 2 2 2 2 2 2 2 2 3 # # 3 2 2 2 2 2 2 2 2 2 n # # m l # ", +" # 9 0 # # 1 2 2 2 2 2 2 2 2 2 3 # # 3 2 2 2 2 2 2 2 2 2 o # # 0 9 # ", +" # p q # # 1 2 2 2 2 2 2 2 2 2 3 # # 3 2 2 2 2 2 2 2 2 2 n # # q p # ", +" # c d # # 1 2 2 2 2 2 2 2 2 2 3 # # 3 2 2 2 2 2 2 2 2 2 3 # # d c # ", +" # r s # # 1 2 2 2 2 2 2 2 2 2 3 # # 3 2 2 2 2 2 2 2 2 2 t # # s r # ", +" # 9 0 # # 1 2 2 2 2 2 2 2 2 2 u = v v v v v v v v v v v v v v v v v v = u 2 2 2 2 2 2 2 2 2 u = v v = w x = v v v v v v v v v v v ", +" # c y # # 1 2 2 2 2 2 2 2 2 2 z A A B A A A B A A A A A A A B A A A B A z 2 2 2 2 2 2 2 2 2 C A A A A D E F A A A A A A A A A A A # ", +" # & > # # 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 # ", +" = x w = = 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 = ", +" # G H # # 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 # ", +" # c d # # 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 # ", +" # 7 I # # 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 # ", +" # 9 0 # J : K K K L K K K L K K K K K L K K K K K L K K K L K K K K K L K K K K K L K K K K K L K K K M N L K K K K K L K K K K K # ", +" # O a # P Q Q Q R Q Q Q R Q Q Q Q Q R Q Q Q Q Q R Q Q Q R Q Q Q Q Q R Q Q Q Q Q R Q Q Q Q Q R Q Q Q S T R Q Q Q Q Q R Q Q Q Q Q U ", +" # c d # # d c # ", +" # 9 V # # V 9 # ", +" # } i # W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W # i } # ", +" # c d # X [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ Y [ [ [ Y [ [ [ Y [ [ [ Y [ [ [ Y [ [ [ Y [ [ [ Z # d c # ", +" # l m # # 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 # # m l # ", +" # 9 0 # # 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 6 # # 0 9 # ", +" # p ` # # 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 # # ` p # ", +" # c d # # 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 # # d c # ", +" # r s # # 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 t # # s r # ", +" # 9 0 # # 1 2 2 2 2 2 2 2 2 2 .............................................................o +. # 0 9 # ", +" # c y # # 1 2 2 2 2 2 2 2 2 2 3 # @.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@. # y c # ", +" # & * # # 1 2 2 2 2 2 2 2 2 2 3 # # * & # ", +" = x w = = 1 2 2 2 2 2 2 2 2 2 3 = = w x = ", +" # G H # # 1 2 2 2 2 2 2 2 2 2 3 # # H G # ", +" = j k = = 1 2 2 2 2 2 2 2 2 2 3 = = k j = ", +" # 7 I # # 1 2 2 2 2 2 2 2 2 2 3 # # I 7 # ", +" = x w = = 1 2 2 2 2 2 2 2 2 2 #.$.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.t = w x = ", +" # O &.# # 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 # # &.O # ", +" = j k = = 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 6 = = k j = ", +" # 9 V # # 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 # # V 9 # ", +" # *.| # # 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 # # | *.# ", +" # c d # # 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 # # d c # ", +" # l m # # 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 # # m l # ", +" # 9 0 # =.-.-.-.-.-.-.;.-.-.>.2 2 2 2 2 2 2 2 ,.-.-.-.;.-.-.-.;.-.-.-.-.-.-.-.;.-.-.-.;.-.o # 0 9 # ", +" # p ` # '.'.'.'.'.'.'.'.# ).2 2 2 2 2 2 2 2 W # '.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'. # ` p # ", +" # c d # # ).2 2 2 2 2 2 2 2 . # # d c # ", +" # r !.# # ).2 2 2 2 2 2 2 2 C # # !.r # ", +" # 9 0 # # ).2 2 2 2 2 2 2 2 ~.= # 0 9 # ", +" # c y # # {.2 2 2 2 2 2 2 2 2 t # # y c # ", +" # ].* # # -.2 2 2 2 2 2 2 2 2 ^.: /. # * ].# ", +" = x w = (._.2 2 2 2 2 2 2 2 2 :.<.u ^ [.[.[.[.}.[.[.[.}.[.[.[.[.[.[.}.|. = w x = ", +" # G 1.# # ,.2 2 2 2 2 2 2 2 2 2 2 2 2.3.3.3.3.4.3.3.3.4.3.3.3.3.3.3.4.5.# # 1.G # ", +" = j k = $.6.2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 = = k j = ", +" # 7.I # 8.9.2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 # # I 7.# ", +" = x w = X 0.K 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 = = w x = ", +" # O &.# <.a.b.2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 # # &.O # ", +" = j k = [.c.d...2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 = = k j = ", +" # *.e.# c.f.=.z g.2.2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 t # # e.*.# ", +" # *.| # h.1 i.[ 0.0.f j.j.j.f j.j.j.j.j.f j.j.j.j.-.# # | *.# ", +" # c d # k.k.B %.%.%.B %.%.%.%.%.B %.%.%.%.k. # d c # ", +" # l l.# # l.l # ", +" # 9 0 # # 0 9 # ", +" # 7.m.# n.a.-.a.a.-.a.a.-.a.-.a.a.-.a.a.a.a.a.a.a.-.a.a.-.a.-.a.a.-.a.a.a.a.-.a.a.a.-.a.a.o. # m.7.# ", +" # c d # # : p.6.p.p.6.p.p.6.p.6.p.p.6.p.p.p.p.p.p.p.6.p.p.6.p.6.p.p.6.p.p.p.p.6.p.p.p.6.p.p.Y # # d c # ", +" # r !.# # 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 # # !.r # ", +" # 9 0 # # 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 6 # # 0 9 # ", +" # ].q.# # 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 # # q.].# ", +" # ].* # # 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 t # # * ].# ", +" = x w = = 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 = = w x = ", +" # G 1.# # 1 2 2 2 2 2 2 2 2 2 4.r.r.r.r.r.r.r.r.r.r.r.r.s.r.r.r.r.r.r.r.s.r.r.r.s.r.r.r.s.r.Z # 1.G # ", +" = j k = = 1 2 2 2 2 2 2 2 2 2 k.t.5.5.5.5.5.5.5.5.5.5.5.u.5.5.5.5.5.5.5.u.5.5.5.u.5.5.5.u.5. = k j = ", +" # 7.m.# # 1 2 2 2 2 2 2 2 2 2 3 # # m.7.# ", +" = x w = = 1 2 2 2 2 2 2 2 2 2 3 = = w x = ", +" # O &.# # 1 2 2 2 2 2 2 2 2 2 3 # # &.O # ", +" = j k = = 1 2 2 2 2 2 2 2 2 2 3 = = k j = ", +" # *.e.# # 1 2 2 2 2 2 2 2 2 2 3 # # e.*.# ", +" # *.e.# # 1 2 2 2 2 2 2 2 2 2 3 # # e.*.# ", +" # c d # # 1 2 2 2 2 2 2 2 2 2 3 # # d c # ", +" # l l.# # 1 2 2 2 2 2 2 2 2 2 3 # z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z # l.l # ", +" # 9 0 # # 1 2 2 2 2 2 2 2 2 2 v.w.x.w.x.w.w.x.w.w.x.w.x.w.w.x.w.w.w.w.w.w.w.x.w.w.x.w.x.w.w.-.[. # 0 9 # ", +" # 7.m.# # 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 n # # m.7.# ", +" # c d # # 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 o # # d c # ", +" # r 1.# # 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 t # # 1.r # ", +" # 9 0 # # 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 # # 0 9 # ", +" # ].q.# # 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 t # # q.].# ", +" # ].q.# # 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 # # q.].# ", +" = x w = = 1 2 2 2 2 2 2 2 2 2 h X X X X X X X X X X X X X X X X X X X X X X X X X X X X J X @. = w x = ", +" # r 1.# # 1 2 2 2 2 2 2 2 2 2 t # # 1.r # ", +" = j k = i.y.y.y.y.y.y./ y.y.u = k j = ", +" # 7.m.# z.z.z.z.z.z.z.z.z. # m.7.# ", +" = x w = = w x = ", +" # l l.# # l.l # ", +" = j k = k.o.A.A.A.A.A.A.A.A.A.A.A.A.a.k.k.A.A.A.A.A.A.A.A.A.A.#.#.i.^ B.A C. = k j = ", +" # *.e.# # 1 2 2 2 2 2 2 2 2 2 2 2 2 t # # 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 K j.b B. # e.*.# ", +" # *.e.# # 1 2 2 2 2 2 2 2 2 2 2 2 2 3 # # 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 b.3 D. # e.*.# ", +" # c d # # 1 2 2 2 2 2 2 2 2 2 2 2 2 3 # # 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 ..e ;. # d c # ", +" # O &.# # 1 2 2 2 2 2 2 2 2 2 2 2 2 3 # # 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 ^.y.] # &.O # ", +" # 9 0 # # 1 2 2 2 2 2 2 2 2 2 2 2 2 o # # 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 E.1 F. # 0 9 # ", +" # 7.m.# # 1 2 2 2 2 2 2 2 2 2 2 2 2 n # # 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 '.G. # m.7.# ", +" # c d # # 1 2 2 2 2 2 2 2 2 2 A H.H.=. # 2 2 2 2 2 2 2 2 2 < I.p.< 2 2 2 2 2 2 2 2 2 2 2 =.J. # d c # ", +" # G 1.# # 1 2 2 2 2 2 2 2 2 2 1 # K. # 2 2 2 2 2 2 2 2 2 ).# }.Y P 2 2 2 2 2 2 2 2 2 2 L.# # 1.G # ", +" # 9 0 # # 1 2 2 2 2 2 2 2 2 2 1 # # 2 2 2 2 2 2 2 2 2 ).# J {...2 2 2 2 2 2 2 2 2 _ k. # 0 9 # ", +" # ].* # # 1 2 2 2 2 2 2 2 2 2 1 # # 2 2 2 2 2 2 2 2 2 ).# # M.2 2 2 2 2 2 2 2 2 ;.# # * ].# ", +" # ].q.# # 1 2 2 2 2 2 2 2 2 2 1 # # 2 2 2 2 2 2 2 2 2 ).# # ;.2 2 2 2 2 2 2 2 2 t # # q.].# ", +" = x w = = 1 2 2 2 2 2 2 2 2 2 1 = = 2 2 2 2 2 2 2 2 2 ).= N.2 2 2 2 2 2 2 2 2 3 = = w x = ", +" # r !.# # 1 2 2 2 2 2 2 2 2 2 1 # # 2 2 2 2 2 2 2 2 2 ).# # 2 2 2 2 2 2 2 2 2 3 # # !.r # ", +" = j k = = 1 2 2 2 2 2 2 2 2 2 1 = = 2 2 2 2 2 2 2 2 2 ).= = 2 2 2 2 2 2 2 2 2 3 = = k j = ", +" # 7.m.# # 1 2 2 2 2 2 2 2 2 2 1 # g.g.g.# 2 2 2 2 2 2 2 2 2 ).# # 2 2 2 2 2 2 2 2 2 3 # # m.7.# ", +" = x w = = 1 2 2 2 2 2 2 2 2 2 2.O.O.O.O.O.2 2 2 2 2 2 2 2 2 ).= = 2 2 2 2 2 2 2 2 2 3 = = w x = ", +" # l l.# # 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 ).# # 2 2 2 2 2 2 2 2 2 3 # # l.l # ", +" = j k = = 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 ).= = 2 2 2 2 2 2 2 2 2 3 = = k j = ", +" # *.| # # 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 ).# # 2 2 2 2 2 2 2 2 2 3 # # | *.# ", +" # *.e.# # 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 ).# # 2 2 2 2 2 2 2 2 2 3 # # e.*.# ", +" # c d # # 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 f.# # 2 2 2 2 2 2 2 2 2 3 # # d c # ", +" # O &.# # 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 f # # 2 2 2 2 2 2 2 2 2 3 # # &.O # ", +" # 9 0 # P.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.b %.%.%.%.%.%.%.%.%.i. # 0 9 # ", +" # 7.I # # I 7.# ", +" # c d # # d c # ", +" # G 1.# # 1.G # ", +" 3 Q.R.Q.S.Q.R.Q.S.Q.R.Q.S.Q.R.Q.S.Q.R.Q.T.| U.Q.S.Q.R.Q.S.Q.R.Q.S.Q.R.Q.S.Q.R.Q.S.Q.R.Q.S.Q.R.Q.S.Q.R.Q.S.Q.R.Q.V.Q.W.Q.X.Q.X.Q.Y.Q.X.Q.Y.Q.X.Q.Y.Q.Z.| `.Q.R.Q.S.Q.R.Q.S.Q.R.Q.S.Q.R.Q.S.Q.R.Q.S.Q.R.Q.S.Q.R. ", +" # +.+ +.+ +++ +.+ +++ +.+ +++ +.+ +++ +@+#+$+%+.+ +++ +.+ +++ +.+ +++ +.+ +++ +.+ +++ +.+ +++ +.+ +++ +&+*+$+=+-+=+;+=+>+=+,+=+>+=+,+=+>+=+,+=+>+=+,+#+'+ +.+ +.+ +++ +.+ +++ +.+ +++ +.+ +++ +.+ +++ +.+ +++/. ", +" )+ )+ )+ )+ )+ )+ )+ )+ )+ )+!+~+{+]+^+/+(+)+ )+ )+ )+ )+ )+ )+ )+ )+ )+ )+ )+_+:+<+[+{+}+|+}+|+}+1+}+|+}+1+}+|+}+1+}+|+}+1+}+|+~+2+)+ )+ )+ )+ )+ )+ )+ )+ )+ )+ )+ )+ )+ ", +" = x 3+4+4+5+6+7+e 6 _ u.^.8+9+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+3+0+= ", +" # r a+4+4+4+4+4+4+b+c+P Q <.<. <.d+e+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+a+f+# ", +" = j g+4+4+4+4+4+4+4+4+h+i+j+).o Q F.e k+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+g+l+= ", +" # p m+4+4+4+4+4+4+4+4+4+4+4+4+n+o+. R '.'. '.g p+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+m+q+# ", +" = x 3+4+4+4+4+4+4+4+4+4+4+4+4+4+4+r+s+2 0.%.H. t+u+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+3+0+= ", +" # l v+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+w+6.x+X ~.4+4+4+4+4+4+4+4+4+4+4+4+y+z+A+B+B+C+B+B+C+B+B+C+B+B+C+B+B+C+D+E+# ", +" = j g+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+8+F+8+4+4+4+4+4+4+4+4+4+G+H+D.u J.y.[.[.F.[.[.F.[.[.F.[.[.F.[.[.I+J+K+= ", +" # *.L+M+N+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+O+w.d+d+ # | *.# ", +" # 9 V P+5.Q+<+R+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+^+# # V 9 # ", +" # c d # S+#.T+S+~.z+U+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+=.V+ # d c # ", +" # O &.# t+[ W+X+k+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+w+..).I+Y+ # &.O # ", +" # 9 0 # Z+u v x.`+ @u+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+.@+@@@#@$@ # 0 9 # ", +" # 7 I # : x+2.%@.@4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+p+%@'.&@W+W+ # I 7 # ", +" # c d # ^ i.#@*@=@.@4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+6+U+-@C %.H. # d c # ", +" # G H # *@# -@4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+w+6.x+X # H G # ", +" # 9 ;@t.u k.k.u k.k.u u # A+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+8+F+W+Z >@3 # 0 9 # ", +" # & ,@'@)@!@!@)@!@!@)@j.# G.n+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+~@z a. # * & # ", +" # c {@4+4+4+4+4+4+4+4+-@# # f.4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+G+e+]@@.^@c # ", +" = x 3+4+4+4+4+4+4+4+4+-@= Z Y+9+4+4+4+4+4+4+4+4+4+A.*@%@/@4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+9+(@_@= ", +" # r :@4+4+4+4+4+4+4+4+<@Q R Q Q R Q 0.x.v.[@h+4+4+4+4+4+4+4+4+4+4+t+ }@#.|@/@4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+:@f+# ", +" = j g+4+4+4+4+4+4+4+4+6+u+i+u+u+i+u+r+k+5+4+4+4+4+4+4+4+4+4+4+4+..= t #.d+~@b+4+4+4+4+4+4+4+4+4+4+4+4+4+4+g+l+= ", +" # p m+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+u+Q [ 2.7+4+4+4+4+4+4+4+4+4+4+4+4+m+q+# ", +" = x 3+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+1@W / ^ n g 2@y+6+4+4+4+4+4+4+4+4+3+0+= ", +" # l v+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+y+x.>. >.>.=.W+z+p+4+4+4+4+4+4+v+3@# ", +" = j g+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+p+4@5@ a.h 6@1@6+4+4+4+g+l+= ", +" # } 7@4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+8@9@g <. W ( 0@9@i+4+7@a@# ", +" @.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.# 9 b@4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+s+6@<.t |.# @.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.# # |.u v.b@0+# @.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@. ", +" t.c@d@c@d@c@d@c@d@c@d@c@d@c@d@c@d@c@d@c@e@f@g@h@g@h@g@h@g@h@g@h@g@h@g@h@g@h@i@h@j@k@l@m@d@c@d@c@d@c@d@c@d@c@d@c@d@c@d@c@d@c@d@c@d@c@d@c@d@c@d@c@d@c@n@f@o@c@d@c@d@c@d@c@d@c@d@c@d@c@d@c@d@c@d@c@d@c@d@c@d@c@d@t. ", +" p@q@p@q@p@q@p@q@p@q@p@q@p@q@p@q@p@q@p@r@c@q@p@q@p@q@p@q@p@q@p@q@p@q@p@q@p@q@p@q@p@q@p@q@p@q@p@q@p@q@p@q@p@q@p@q@p@q@p@q@p@q@p@q@p@q@p@q@p@q@p@q@p@q@c@r@p@q@p@q@p@q@p@q@p@q@p@q@p@q@p@q@p@q@p@q@p@q@p@q@p@q@ ", +" # 9 0 # # 0 9 # ", +" # 7 I # # I 7 # ", +" # c d # # d c # ", +" # G s@c.c.c.c.c.t@c.c.b c.c.c.c.t@c.c.c.t@c.c.c.t@c.c.c.t@c.c.c.t@c.c.c.t@c.c.c.t@c.c.c.s@u@# ", +" # 9 3+v@v@v@v@v@w@v@v@c+# # v@v@v@v@w@v@v@v@w@v@v@v@w@v@v@v@w@v@v@v@w@v@v@v@w@v@v@v@w@v@v@v@3+0+# ", +" # & x@4+4+4+4+4+4+4+4+-@# # 4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+x@y@# ", +" # c {@4+4+4+4+4+4+4+4+-@# # 4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+{@l+# ", +" = x 3+4+4+4+4+4+4+4+4+-@= = 4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+3+0+= ", +" # r :@4+4+4+4+4+4+4+4+-@# # 4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+:@f+# ", +" = j g+4+4+4+4+4+4+4+4+-@= = 4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+g+l+= ", +" # p z@4+4+4+4+4+4+4+4+-@# # 4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+z@q+# ", +" = x 3+4+4+4+4+4+4+4+4+-@= = 4+4+4+4+4+4+4+4+4+<@y.T+T+T+T+T+T+T+T+T+T+T+T+y.4+4+4+4+4+4+4+4+3+0+= ", +" # l v+4+4+4+4+4+4+4+4+-@# # 4+4+4+4+4+4+4+4+4+-@# # 4+4+4+4+4+4+4+4+v+3@# ", +" # c g+4+4+4+4+4+4+4+4+-@# # 1@1@1@1@1@1@1@1@1@A@# # 4+4+4+4+4+4+4+4+g+l+# ", +" # } 7@4+4+4+4+4+4+4+4+-@# f.y./ y.y./ y.y./ y.[.f. # 4+4+4+4+4+4+4+4+7@a@# ", +" # 9 3+4+4+4+4+4+4+4+4+n+# h F.4+4+4+4+4+4+4+4+3+0+# ", +" # c B@4+4+4+4+4+4+4+4+4+C N. +.o+4+4+4+4+4+4+4+4+g+C@# ", +" # & D@4+4+4+4+4+4+4+4+4+E@f w.w. w.K.F@h+4+4+4+4+4+4+4+4+G@H@# ", +" # 9 I@J@4+4+4+4+4+4+4+4+4+.@-@K@T+[ [ [ L@[ [ [ L@[ [ [ L@[ [ [ L@[ [ [ L@[ [ [ L@[ k.r.g.M@6+4+4+4+4+4+4+4+4+4+N@9 # ", +" # 7 8 O@4+4+4+4+4+4+4+4+4+4+4+4+4+M@M@M@P@M@M@M@P@M@M@M@P@M@M@M@P@M@M@M@P@M@M@M@P@M@Q@4+4+4+4+4+4+4+4+4+4+4+4+4+R@7 # ", +" # c d S@k+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+T@U@c # ", +" # V@W@# g.4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+v@{.W@V@# ", +" # ) ! # [.X@p+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+r+#@# ! ) # ", +" # ~ { # . f.Y@4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+h+%@n . # { ~ # ", +" # $ % # a.!@r+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+4+Z@. [. # % $ # ", +" `@ `@ `@ `@ `@ `@ `@ `@ `@ + #! .#`@ `@ `@+#@#< ##$#%#&#%#*#%#*#%#*#%#*#%#*#%#*#%#*#%#*#%#*#%#*#%#*#%#*#%#*#%#*#%#=#-#;#>#a.`@.#+ `@.#! ) + `@ `@ `@ `@ `@ `@ `@ `@ `@ `@ `@ `@ ", +" # ,#'#,#)#,#'#,#)#,#'#,#)#,#'#,#)#,#'#,#!#~#'#,#)#,#'#,#)#,#'#{#]#^#/#^#(#^#_#^#_#^#_#^#_#^#_#^#_#^#_#^#_#^#_#^#_#^#_#^#:#^#(#^#<#[#}#,#'#,#'#,#)#,#'#~#$ ,#'#,#)#,#'#,#)#,#'#,#)#,#'#,#)#,#'#,#)#,#'#,#)#,#'#). ", +" i. #|# #|# #1# #|# #1# #|# #1# #|# #1# #2#3#4# #|# #1# #|# #1# #|# #1# #|# #5# #6# #5# #6# #5# #6# #5# #6# #5# #6# #5# #7# #1# #|# #1# #|# #1# #|# #4#3#8# #|# #|# #1# #|# #1# #|# #1# #|# #1# #|# #1# #|# #1# ", +" # & > # # > & # ", +" # ) ! # # ! ) # ", +" # & * # # * & # ", +" }@9#0#}@ }@0#9#}@ ", +" . . . . ", +" "}; diff -uNr gnome-admin-0.25/gxsnmp/po/cat-id-tbl.c gnome-admin-0.26/gxsnmp/po/cat-id-tbl.c --- gnome-admin-0.25/gxsnmp/po/cat-id-tbl.c Tue Aug 4 11:58:14 1998 +++ gnome-admin-0.26/gxsnmp/po/cat-id-tbl.c Thu Aug 13 18:36:11 1998 @@ -152,81 +152,74 @@ {"Interface Detail", 141}, {"Add Host...", 142}, {"Delete Host...", 143}, - {"Add host", 144}, - {"Add a new host to the database", 145}, - {"Delete host", 146}, - {"Remove a host from the database", 147}, - {"Host List", 148}, - {"Open the list of known hosts", 149}, - {"Network List", 150}, - {"Open the list of known networks", 151}, - {"Mib Browser", 152}, - {"Open the mib browser", 153}, - {"Event Browser", 154}, - {"Open the event browser", 155}, - {"Config", 156}, - {"Change the configuration settings", 157}, - {"Quit this application", 158}, - {"GSXNMP", 159}, - {"Tools", 160}, - {"No host selected to delete.", 161}, - {"Known Hosts", 162}, - {"Known Networks", 163}, - {"Outstanding Alarms", 164}, - {"Pending events", 165}, - {"Pending Tasks", 166}, - {"Add host...", 167}, - {"Add Network...", 168}, - {"Delete Network...", 169}, - {"Host List...", 170}, - {"Network List...", 171}, - {"Mib Browser...", 172}, - {"RMON...", 173}, - {"Events List...", 174}, - {"Mib Editor...", 175}, - {"SNMP Set...", 176}, - {"SNMP Get...", 177}, - {"Monitor Mib...", 178}, - {"About...", 179}, - {"Windows", 180}, - {"Utilities", 181}, - {"SNMP Functions", 182}, - {"Help", 183}, - {"GXSNMP", 184}, - {"Hostname", 185}, - {"Display Name", 186}, - {"SNMP Port", 187}, - {"Read Community", 188}, - {"Write Community", 189}, - {"Version", 190}, - {"Retries", 191}, - {"Timeout", 192}, - {"Poll Rate", 193}, - {"Server", 194}, - {"Edit Host", 195}, - {"Edit a host", 196}, - {"Add a new host", 197}, - {"Host Information", 198}, - {"Host Services", 199}, - {"The host '%s' was not found in the host lookup.", 200}, - {"Set A Mib", 201}, - {"Query", 202}, - {"Get A Mib", 203}, - {"Mib ", 204}, - {"Route table", 205}, - {"Node Interfaces", 206}, - {"Edit host", 207}, - {"Type", 208}, - {"Trap Community", 209}, - {"Last Sent", 210}, - {"Owner", 211}, - {"RMON", 212}, - {"Alarms", 213}, - {"Capture", 214}, - {"Statistics", 215}, - {"Filter", 216}, - {"Reloading event table from host '%s'...", 217}, - {"Event table reload from host '%s' complete.", 218}, + {"Mib Browser", 144}, + {"Open the mib browser", 145}, + {"Event Browser", 146}, + {"Open the event browser", 147}, + {"Config", 148}, + {"Change the configuration settings", 149}, + {"Quit this application", 150}, + {"GSXNMP", 151}, + {"Tools", 152}, + {"No host selected to delete.", 153}, + {"Known Hosts", 154}, + {"Known Networks", 155}, + {"Outstanding Alarms", 156}, + {"Pending events", 157}, + {"Pending Tasks", 158}, + {"Add host...", 159}, + {"Add Network...", 160}, + {"Delete Network...", 161}, + {"Host List...", 162}, + {"Network List...", 163}, + {"Mib Browser...", 164}, + {"RMON...", 165}, + {"Events List...", 166}, + {"Mib Editor...", 167}, + {"SNMP Set...", 168}, + {"SNMP Get...", 169}, + {"Monitor Mib...", 170}, + {"About...", 171}, + {"Windows", 172}, + {"Utilities", 173}, + {"SNMP Functions", 174}, + {"Help", 175}, + {"GXSNMP", 176}, + {"Hostname", 177}, + {"Display Name", 178}, + {"SNMP Port", 179}, + {"Read Community", 180}, + {"Write Community", 181}, + {"Version", 182}, + {"Retries", 183}, + {"Timeout", 184}, + {"Poll Rate", 185}, + {"Server", 186}, + {"Edit Host", 187}, + {"Edit a host", 188}, + {"Add a new host", 189}, + {"Host Information", 190}, + {"Host Services", 191}, + {"The host '%s' was not found in the host lookup.", 192}, + {"Set A Mib", 193}, + {"Query", 194}, + {"Get A Mib", 195}, + {"Mib ", 196}, + {"Route table", 197}, + {"Node Interfaces", 198}, + {"Edit host", 199}, + {"Delete host", 200}, + {"Type", 201}, + {"Trap Community", 202}, + {"Last Sent", 203}, + {"Owner", 204}, + {"RMON", 205}, + {"Alarms", 206}, + {"Capture", 207}, + {"Statistics", 208}, + {"Filter", 209}, + {"Reloading event table from host '%s'...", 210}, + {"Event table reload from host '%s' complete.", 211}, }; -int _msg_tbl_length = 218; +int _msg_tbl_length = 211; Binary files gnome-admin-0.25/gxsnmp/po/fr.gmo and gnome-admin-0.26/gxsnmp/po/fr.gmo differ diff -uNr gnome-admin-0.25/gxsnmp/po/fr.po gnome-admin-0.26/gxsnmp/po/fr.po --- gnome-admin-0.25/gxsnmp/po/fr.po Wed Aug 5 18:50:57 1998 +++ gnome-admin-0.26/gxsnmp/po/fr.po Thu Aug 13 19:20:47 1998 @@ -18,7 +18,7 @@ msgid "GXSNMP is a basic SNMP management application that allows you to better manage your network." msgstr "GXSNMP est une application de gestion SNMP simple qui vous permet de mieux administrer votre r\351seau." -#: app/browser.c:131 +#: app/browser.c:129 msgid "" "\n" "Available values\n" @@ -26,124 +26,127 @@ "\n" "Valeurs disponibles\n" -#: app/browser.c:172 +#: app/browser.c:170 msgid "Object ID" msgstr "ID de l'objet" -#: app/browser.c:175 +#: app/browser.c:173 msgid "String" msgstr "Chaine" -#: app/browser.c:178 +#: app/browser.c:176 msgid "Integer" msgstr "Entier" -#: app/browser.c:181 +#: app/browser.c:179 msgid "Network Address" msgstr "Adresse R\351seau" -#: app/browser.c:184 app/host_list.c:79 +#: app/browser.c:182 app/host_list.c:79 msgid "IP Address" msgstr "Adresse IP" -#: app/browser.c:187 +#: app/browser.c:185 msgid "Counter" msgstr "Compteur" -#: app/browser.c:190 +#: app/browser.c:188 msgid "Gauge" msgstr "Gauge" -#: app/browser.c:193 +#: app/browser.c:191 msgid "TimeTicks" msgstr "" -#: app/browser.c:196 +#: app/browser.c:194 msgid "Opaque" msgstr "Opaque" -#: app/browser.c:199 +#: app/browser.c:197 msgid "NULL" msgstr "NUL" -#: app/browser.c:202 +#: app/browser.c:200 msgid "Counter64" msgstr "Compteur64" -#: app/browser.c:205 +#: app/browser.c:203 msgid "Bitstring" msgstr "Chaine de bits" -#: app/browser.c:208 +#: app/browser.c:206 msgid "NSAP Address" msgstr "Adresse NSAP" -#: app/browser.c:211 +#: app/browser.c:209 msgid "Unsigned Integer" msgstr "Entier non sign\351" -#: app/browser.c:214 +#: app/browser.c:212 msgid "Unknown" msgstr "Inconnu" -#: app/browser.c:277 +#: app/browser.c:275 msgid "Constructing the mib tree." msgstr "Construction de l'arbre mib." -#: app/browser.c:289 +#: app/browser.c:287 msgid "Mib tree built." msgstr "Arbre Mib construit." -#: app/browser.c:312 +#: app/browser.c:310 msgid "GXSNMP: Mib Browser" msgstr "GXSNMP: Navigateur Mib" -#: app/browser.c:346 +#: app/browser.c:344 msgid "Object Type" msgstr "Type de l'Objet" -#: app/browser.c:357 +#: app/browser.c:355 msgid "OID" msgstr "IDO" -#: app/browser.c:368 +#: app/browser.c:366 msgid "Label" msgstr "Label" -#: app/browser.c:379 app/snmp_host.c:976 +#: app/browser.c:377 app/snmp_host.c:976 msgid "Value" msgstr "Valeur" -#: app/browser.c:389 app/snmp_host.c:973 +#: app/browser.c:387 app/snmp_host.c:973 msgid "Host" msgstr "Hote" -#: app/browser.c:433 app/rmon_panel.c:57 +#: app/browser.c:431 app/rmon_panel.c:57 msgid "Description" msgstr "Description" -#: app/browser.c:478 +#. +#. Get and put current mib buttons +#. +#: app/browser.c:476 msgid "First" msgstr "Premier" -#: app/browser.c:485 +#: app/browser.c:483 msgid "Next" msgstr "Suivant" -#: app/browser.c:493 +#: app/browser.c:491 msgid "Get" msgstr "" -#: app/browser.c:501 +#: app/browser.c:499 msgid "Put" msgstr "" -#: app/browser.c:534 app/host_list.c:499 +#: app/browser.c:532 app/host_list.c:499 msgid "Refresh" msgstr "Rafraichir" # , c-format -#: app/browser.c:744 +#: app/browser.c:742 msgid "SNMP query to node \"%s\" finished." msgstr "Requ\350te SNMP au noeud \"%s\" termin\351e." @@ -291,7 +294,7 @@ msgid "Print" msgstr "Imprimer" -#: app/events.c:83 app/main.c:266 app/main_panel.c:93 app/main_panel.c:251 +#: app/events.c:83 app/main.c:236 app/main_panel.c:93 app/main_panel.c:251 msgid "Exit" msgstr "Quitter" @@ -590,83 +593,51 @@ msgid "Interface Detail" msgstr "D\351tails de l'interface" -#: app/main.c:90 +#: app/main.c:88 msgid "Add Host..." msgstr "Ajouter un Hote..." -#: app/main.c:91 app/main_panel.c:110 +#: app/main.c:89 app/main_panel.c:110 msgid "Delete Host..." msgstr "Effacer un Hote..." -#: app/main.c:221 -msgid "Add host" -msgstr "Ajouter un hote" - -#: app/main.c:221 -msgid "Add a new host to the database" -msgstr "Ajouter un nouvel hote" - -#: app/main.c:228 app/menus.c:95 -msgid "Delete host" -msgstr "Effacer l'hote" - -#: app/main.c:229 -msgid "Remove a host from the database" -msgstr "Enlever un hote de la base de donn\351es" - -#: app/main.c:235 -msgid "Host List" -msgstr "Liste des hotes" - -#: app/main.c:235 -msgid "Open the list of known hosts" -msgstr "Ouvrir la liste des hotes connus" - -#: app/main.c:241 -msgid "Network List" -msgstr "Liste des R\351seaux" - -#: app/main.c:242 -msgid "Open the list of known networks" -msgstr "Ouvrir la liste des r\351seaux connus" - -#: app/main.c:248 +#: app/main.c:218 msgid "Mib Browser" msgstr "Navigateur Mib" -#: app/main.c:248 +#: app/main.c:218 msgid "Open the mib browser" msgstr "Ouvrir le navigateur mib" -#: app/main.c:254 +#: app/main.c:224 msgid "Event Browser" msgstr "" -#: app/main.c:254 +#: app/main.c:224 msgid "Open the event browser" msgstr "" -#: app/main.c:260 +#: app/main.c:230 msgid "Config" msgstr "Config" -#: app/main.c:260 +#: app/main.c:230 msgid "Change the configuration settings" msgstr "Changer les param\350tres de configuration" -#: app/main.c:266 +#: app/main.c:236 msgid "Quit this application" msgstr "Quitter cette application" -#: app/main.c:290 +#: app/main.c:260 msgid "GSXNMP" msgstr "GSXNMP" -#: app/main.c:328 app/main_panel.c:171 +#: app/main.c:298 app/main_panel.c:171 msgid "Tools" msgstr "Outils" -#: app/main.c:494 app/main.c:495 +#: app/main.c:405 app/main.c:406 msgid "No host selected to delete." msgstr "Pas d'hote s\351lectionn\351 pour effacement." @@ -857,6 +828,10 @@ #: app/menus.c:89 msgid "Edit host" msgstr "Editer un hote" + +#: app/menus.c:95 +msgid "Delete host" +msgstr "Effacer l'hote" #: app/rmon_panel.c:58 msgid "Type" diff -uNr gnome-admin-0.25/gxsnmp/po/gxsnmp.pot gnome-admin-0.26/gxsnmp/po/gxsnmp.pot --- gnome-admin-0.25/gxsnmp/po/gxsnmp.pot Tue Aug 4 11:58:13 1998 +++ gnome-admin-0.26/gxsnmp/po/gxsnmp.pot Thu Aug 13 18:36:09 1998 @@ -1,7 +1,7 @@ msgid "" msgstr "" -"Date: 1998-08-04 11:58:12-0400\n" -"From: Gregory McLean \n" +"Date: 1998-08-13 18:36:09-0400\n" +"From: \n" "Content-Type: text/plain; charset=\n" "Xgettext-Options: --default-domain=gxsnmp --directory=.. --add-comments --keyword=_ --keyword=N_ --files-from=./POTFILES.in\n" "Files: app/about.c app/browser.c app/config_panel.c app/events.c app/host_list.c app/main.c app/main_panel.c app/snmp_host.c app/menus.c app/rmon_panel.c\n" @@ -10,129 +10,132 @@ msgid "GXSNMP is a basic SNMP management application that allows you to better manage your network." msgstr "" -#: app/browser.c:131 +#: app/browser.c:129 msgid "" "\n" "Available values\n" msgstr "" -#: app/browser.c:172 +#: app/browser.c:170 msgid "Object ID" msgstr "" -#: app/browser.c:175 +#: app/browser.c:173 msgid "String" msgstr "" -#: app/browser.c:178 +#: app/browser.c:176 msgid "Integer" msgstr "" -#: app/browser.c:181 +#: app/browser.c:179 msgid "Network Address" msgstr "" -#: app/browser.c:184 app/host_list.c:79 +#: app/browser.c:182 app/host_list.c:79 msgid "IP Address" msgstr "" -#: app/browser.c:187 +#: app/browser.c:185 msgid "Counter" msgstr "" -#: app/browser.c:190 +#: app/browser.c:188 msgid "Gauge" msgstr "" -#: app/browser.c:193 +#: app/browser.c:191 msgid "TimeTicks" msgstr "" -#: app/browser.c:196 +#: app/browser.c:194 msgid "Opaque" msgstr "" -#: app/browser.c:199 +#: app/browser.c:197 msgid "NULL" msgstr "" -#: app/browser.c:202 +#: app/browser.c:200 msgid "Counter64" msgstr "" -#: app/browser.c:205 +#: app/browser.c:203 msgid "Bitstring" msgstr "" -#: app/browser.c:208 +#: app/browser.c:206 msgid "NSAP Address" msgstr "" -#: app/browser.c:211 +#: app/browser.c:209 msgid "Unsigned Integer" msgstr "" -#: app/browser.c:214 +#: app/browser.c:212 msgid "Unknown" msgstr "" -#: app/browser.c:277 +#: app/browser.c:275 msgid "Constructing the mib tree." msgstr "" -#: app/browser.c:289 +#: app/browser.c:287 msgid "Mib tree built." msgstr "" -#: app/browser.c:312 +#: app/browser.c:310 msgid "GXSNMP: Mib Browser" msgstr "" -#: app/browser.c:346 +#: app/browser.c:344 msgid "Object Type" msgstr "" -#: app/browser.c:357 +#: app/browser.c:355 msgid "OID" msgstr "" -#: app/browser.c:368 +#: app/browser.c:366 msgid "Label" msgstr "" -#: app/browser.c:379 app/snmp_host.c:976 +#: app/browser.c:377 app/snmp_host.c:976 msgid "Value" msgstr "" -#: app/browser.c:389 app/snmp_host.c:973 +#: app/browser.c:387 app/snmp_host.c:973 msgid "Host" msgstr "" -#: app/browser.c:433 app/rmon_panel.c:57 +#: app/browser.c:431 app/rmon_panel.c:57 msgid "Description" msgstr "" -#: app/browser.c:478 +#. +#. Get and put current mib buttons +#. +#: app/browser.c:476 msgid "First" msgstr "" -#: app/browser.c:485 +#: app/browser.c:483 msgid "Next" msgstr "" -#: app/browser.c:493 +#: app/browser.c:491 msgid "Get" msgstr "" -#: app/browser.c:501 +#: app/browser.c:499 msgid "Put" msgstr "" -#: app/browser.c:534 app/host_list.c:499 +#: app/browser.c:532 app/host_list.c:499 msgid "Refresh" msgstr "" -#: app/browser.c:744 +#: app/browser.c:742 msgid "SNMP query to node \"%s\" finished." msgstr "" @@ -280,7 +283,7 @@ msgid "Print" msgstr "" -#: app/events.c:83 app/main.c:266 app/main_panel.c:93 app/main_panel.c:251 +#: app/events.c:83 app/main.c:236 app/main_panel.c:93 app/main_panel.c:251 msgid "Exit" msgstr "" @@ -575,83 +578,51 @@ msgid "Interface Detail" msgstr "" -#: app/main.c:90 +#: app/main.c:88 msgid "Add Host..." msgstr "" -#: app/main.c:91 app/main_panel.c:110 +#: app/main.c:89 app/main_panel.c:110 msgid "Delete Host..." msgstr "" -#: app/main.c:221 -msgid "Add host" -msgstr "" - -#: app/main.c:221 -msgid "Add a new host to the database" -msgstr "" - -#: app/main.c:228 app/menus.c:95 -msgid "Delete host" -msgstr "" - -#: app/main.c:229 -msgid "Remove a host from the database" -msgstr "" - -#: app/main.c:235 -msgid "Host List" -msgstr "" - -#: app/main.c:235 -msgid "Open the list of known hosts" -msgstr "" - -#: app/main.c:241 -msgid "Network List" -msgstr "" - -#: app/main.c:242 -msgid "Open the list of known networks" -msgstr "" - -#: app/main.c:248 +#: app/main.c:218 msgid "Mib Browser" msgstr "" -#: app/main.c:248 +#: app/main.c:218 msgid "Open the mib browser" msgstr "" -#: app/main.c:254 +#: app/main.c:224 msgid "Event Browser" msgstr "" -#: app/main.c:254 +#: app/main.c:224 msgid "Open the event browser" msgstr "" -#: app/main.c:260 +#: app/main.c:230 msgid "Config" msgstr "" -#: app/main.c:260 +#: app/main.c:230 msgid "Change the configuration settings" msgstr "" -#: app/main.c:266 +#: app/main.c:236 msgid "Quit this application" msgstr "" -#: app/main.c:290 +#: app/main.c:260 msgid "GSXNMP" msgstr "" -#: app/main.c:328 app/main_panel.c:171 +#: app/main.c:298 app/main_panel.c:171 msgid "Tools" msgstr "" -#: app/main.c:494 app/main.c:495 +#: app/main.c:405 app/main.c:406 msgid "No host selected to delete." msgstr "" @@ -840,6 +811,10 @@ #: app/menus.c:89 msgid "Edit host" +msgstr "" + +#: app/menus.c:95 +msgid "Delete host" msgstr "" #: app/rmon_panel.c:58 diff -uNr gnome-admin-0.25/gxsnmp/widgets/Makefile.in gnome-admin-0.26/gxsnmp/widgets/Makefile.in --- gnome-admin-0.25/gxsnmp/widgets/Makefile.in Wed Aug 5 18:51:08 1998 +++ gnome-admin-0.26/gxsnmp/widgets/Makefile.in Thu Aug 13 19:20:51 1998 @@ -284,6 +284,10 @@ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ || cp -p $$d/$$file $(distdir)/$$file; \ done +gtkhost.lo gtkhost.o: gtkhost.c gtkhost.h +gtkledbar.lo gtkledbar.o: gtkledbar.c gtkledbar.h +gtkvbox.lo gtkvbox.o: gtkvbox.c gtksbox.h +test.o: test.c gtkhost.h gtkledbar.h info: dvi: diff -uNr gnome-admin-0.25/gxsnmp/widgets/gtkhost.c gnome-admin-0.26/gxsnmp/widgets/gtkhost.c --- gnome-admin-0.25/gxsnmp/widgets/gtkhost.c Tue Aug 4 11:36:40 1998 +++ gnome-admin-0.26/gxsnmp/widgets/gtkhost.c Tue Aug 11 11:04:53 1998 @@ -1,5 +1,5 @@ /* - * $Id: gtkhost.c,v 1.11 1998/06/14 21:18:37 gregm Exp $ + * $Id: gtkhost.c,v 1.12 1998/08/09 16:24:24 gregm Exp $ * GTKEXT - Extensions to The GIMP Toolkit * Copyright (C) 1998 Gregory McLean * @@ -231,7 +231,7 @@ gtk_host_leave_notify (GtkWidget *widget, GdkEventCrossing *event) { - g_print ("Host Leave Notify.\n"); +/* g_print ("Host Leave Notify.\n"); */ return FALSE; } @@ -256,13 +256,13 @@ static void gtk_host_real_enter (GtkHost *host) { - g_print ("Real Enter\n"); +/* g_print ("Real Enter\n"); */ } static void gtk_host_real_leave (GtkHost *host) { - g_print ("Real Leave\n"); + /* g_print ("Real Leave\n"); */ } static void diff -uNr gnome-admin-0.25/logview/ChangeLog gnome-admin-0.26/logview/ChangeLog --- gnome-admin-0.25/logview/ChangeLog Tue Aug 4 11:36:42 1998 +++ gnome-admin-0.26/logview/ChangeLog Thu Aug 13 19:20:31 1998 @@ -1,3 +1,20 @@ +1998-08-13 Federico Mena Quintero + + * Makefile.am (EXTRA_DIST): Added db files to EXTRA_DIST. + +1998-09-09 Cesar Miquel (miquel@df.uba.ar) + + * Finally got time to commit some stuff I've corrected. Here's + whats new: + + a) Change the code to install the databases and look for + them in the correct place ($(prefix)/share/logview if + i'm not mistaken). + b) Changed the about pixmap a bit. Now its installed in + the $(prefix)/share/pixmaps/logview. + c) Added the new code for the actions DB stuff. This isn't + working so don't think about using it!! :o) + 1998-07-24 Nuno Ferreira * logview.desktop: Add Portuguese translation. diff -uNr gnome-admin-0.25/logview/Makefile.am gnome-admin-0.26/logview/Makefile.am --- gnome-admin-0.25/logview/Makefile.am Tue Aug 4 11:36:42 1998 +++ gnome-admin-0.26/logview/Makefile.am Thu Aug 13 19:20:22 1998 @@ -1,11 +1,15 @@ Utilitiesdir = $(datadir)/apps/Utilities +pixmapsdir = $(datadir)/pixmaps/logview +additionaldir = $(datadir)/logview -INCLUDES = -I$(includedir) $(GNOME_INCLUDEDIR) +INCLUDES = -I$(includedir) $(GNOME_INCLUDEDIR) \ + -DLOGVIEWINSTALLPREFIX=\""$(prefix)/\"" bin_PROGRAMS = logview logview_SOURCES = \ about.c \ + actions.c \ calendar.c \ config.c \ desc_db.c \ @@ -27,17 +31,25 @@ Utilities_DATA = logview.desktop -EXTRA_DIST = \ - add.xpm \ - bomb.xpm \ - cancel.xpm \ - close.xpm \ - left.xpm \ - log.xpm \ - logo.xpm \ - logview.xpm \ - ok.xpm \ - remove.xpm \ - right.xpm \ - logview.desktop +additional_DATA = logview-descript.db \ + logview-regexp.db \ + logview-actions.db +pixmaps_DATA = logview.xpm +EXTRA_DIST = \ + actions.xpm \ + add.xpm \ + bomb.xpm \ + cancel.xpm \ + close.xpm \ + left.xpm \ + log.xpm \ + logo.xpm \ + logview.xpm \ + ok.xpm \ + remove.xpm \ + right.xpm \ + logview.desktop \ + logview-descript.db \ + logview-regexp.db \ + logview-actions.db diff -uNr gnome-admin-0.25/logview/Makefile.in gnome-admin-0.26/logview/Makefile.in --- gnome-admin-0.25/logview/Makefile.in Wed Aug 5 18:50:48 1998 +++ gnome-admin-0.26/logview/Makefile.in Thu Aug 13 19:20:46 1998 @@ -90,6 +90,7 @@ LDFLAGS = @LDFLAGS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ +MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ @@ -112,13 +113,17 @@ l = @l@ Utilitiesdir = $(datadir)/apps/Utilities +pixmapsdir = $(datadir)/pixmaps/logview +additionaldir = $(datadir)/logview -INCLUDES = -I$(includedir) $(GNOME_INCLUDEDIR) +INCLUDES = -I$(includedir) $(GNOME_INCLUDEDIR) \ + -DLOGVIEWINSTALLPREFIX=\""$(prefix)/\"" bin_PROGRAMS = logview logview_SOURCES = \ about.c \ + actions.c \ calendar.c \ config.c \ desc_db.c \ @@ -140,19 +145,28 @@ Utilities_DATA = logview.desktop +additional_DATA = logview-descript.db \ + logview-regexp.db \ + logview-actions.db +pixmaps_DATA = logview.xpm + EXTRA_DIST = \ - add.xpm \ - bomb.xpm \ - cancel.xpm \ - close.xpm \ - left.xpm \ - log.xpm \ - logo.xpm \ - logview.xpm \ - ok.xpm \ - remove.xpm \ - right.xpm \ - logview.desktop + actions.xpm \ + add.xpm \ + bomb.xpm \ + cancel.xpm \ + close.xpm \ + left.xpm \ + log.xpm \ + logo.xpm \ + logview.xpm \ + ok.xpm \ + remove.xpm \ + right.xpm \ + logview.desktop \ + logview-descript.db \ + logview-regexp.db \ + logview-actions.db mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = ../config.h CONFIG_CLEAN_FILES = @@ -161,14 +175,15 @@ DEFS = @DEFS@ -I. -I$(srcdir) -I.. LIBS = @LIBS@ -logview_OBJECTS = about.o calendar.o config.o desc_db.o info.o \ -log_repaint.o logrtns.o logview.o menus.o misc.o monitor.o zoom.o +logview_OBJECTS = about.o actions.o calendar.o config.o desc_db.o \ +info.o log_repaint.o logrtns.o logview.o menus.o misc.o monitor.o \ +zoom.o logview_DEPENDENCIES = logview_LDFLAGS = COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@ -DATA = $(Utilities_DATA) +DATA = $(Utilities_DATA) $(additional_DATA) $(pixmaps_DATA) DIST_COMMON = README AUTHORS COPYING ChangeLog Makefile.am Makefile.in \ TODO @@ -185,7 +200,7 @@ .SUFFIXES: .SUFFIXES: .S .c .lo .o .s -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps logview/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @@ -279,6 +294,44 @@ rm -f $(DESTDIR)$(Utilitiesdir)/$$p; \ done +install-additionalDATA: $(additional_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(additionaldir) + @list='$(additional_DATA)'; for p in $$list; do \ + if test -f $(srcdir)/$$p; then \ + echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(additionaldir)/$$p"; \ + $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(additionaldir)/$$p; \ + else if test -f $$p; then \ + echo " $(INSTALL_DATA) $$p $(DESTDIR)$(additionaldir)/$$p"; \ + $(INSTALL_DATA) $$p $(DESTDIR)$(additionaldir)/$$p; \ + fi; fi; \ + done + +uninstall-additionalDATA: + @$(NORMAL_UNINSTALL) + list='$(additional_DATA)'; for p in $$list; do \ + rm -f $(DESTDIR)$(additionaldir)/$$p; \ + done + +install-pixmapsDATA: $(pixmaps_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(pixmapsdir) + @list='$(pixmaps_DATA)'; for p in $$list; do \ + if test -f $(srcdir)/$$p; then \ + echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pixmapsdir)/$$p"; \ + $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pixmapsdir)/$$p; \ + else if test -f $$p; then \ + echo " $(INSTALL_DATA) $$p $(DESTDIR)$(pixmapsdir)/$$p"; \ + $(INSTALL_DATA) $$p $(DESTDIR)$(pixmapsdir)/$$p; \ + fi; fi; \ + done + +uninstall-pixmapsDATA: + @$(NORMAL_UNINSTALL) + list='$(pixmaps_DATA)'; for p in $$list; do \ + rm -f $(DESTDIR)$(pixmapsdir)/$$p; \ + done + tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) @@ -315,6 +368,20 @@ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ || cp -p $$d/$$file $(distdir)/$$file; \ done +about.o: about.c logview.h log.xpm logview.xpm +actions.o: actions.c logview.h +calendar.o: calendar.c logview.h close.xpm right.xpm left.xpm +config.o: config.c logview.h +desc_db.o: desc_db.c logview.h +info.o: info.c logview.h close.xpm +log_repaint.o: log_repaint.c ../config.h logview.h logrtns.h +logrtns.o: logrtns.c logview.h logrtns.h +logview.o: logview.c ../config.h logview.h close.xpm +menus.o: menus.c logview.h +misc.o: misc.c ../config.h logview.h +monitor.o: monitor.c logview.h logrtns.h ok.xpm cancel.xpm remove.xpm \ + add.xpm actions.xpm +zoom.o: zoom.c logview.h close.xpm info: dvi: @@ -324,18 +391,19 @@ install-exec: install-binPROGRAMS @$(NORMAL_INSTALL) -install-data: install-UtilitiesDATA +install-data: install-UtilitiesDATA install-additionalDATA install-pixmapsDATA @$(NORMAL_INSTALL) install: install-exec install-data all @: -uninstall: uninstall-binPROGRAMS uninstall-UtilitiesDATA +uninstall: uninstall-binPROGRAMS uninstall-UtilitiesDATA uninstall-additionalDATA uninstall-pixmapsDATA install-strip: $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install installdirs: - $(mkinstalldirs) $(DATADIR)$(bindir) $(DATADIR)$(Utilitiesdir) + $(mkinstalldirs) $(DATADIR)$(bindir) $(DATADIR)$(Utilitiesdir) \ + $(DATADIR)$(additionaldir) $(DATADIR)$(pixmapsdir) mostlyclean-generic: @@ -375,11 +443,12 @@ mostlyclean-compile distclean-compile clean-compile \ maintainer-clean-compile mostlyclean-libtool distclean-libtool \ clean-libtool maintainer-clean-libtool uninstall-UtilitiesDATA \ -install-UtilitiesDATA tags mostlyclean-tags distclean-tags clean-tags \ -maintainer-clean-tags distdir info dvi installcheck install-exec \ -install-data install uninstall all installdirs mostlyclean-generic \ -distclean-generic clean-generic maintainer-clean-generic clean \ -mostlyclean distclean maintainer-clean +install-UtilitiesDATA uninstall-additionalDATA install-additionalDATA \ +uninstall-pixmapsDATA install-pixmapsDATA tags mostlyclean-tags \ +distclean-tags clean-tags maintainer-clean-tags distdir info dvi \ +installcheck install-exec install-data install uninstall all \ +installdirs mostlyclean-generic distclean-generic clean-generic \ +maintainer-clean-generic clean mostlyclean distclean maintainer-clean # Tell versions [3.59,3.63) of GNU make to not export all variables. diff -uNr gnome-admin-0.25/logview/about.c gnome-admin-0.26/logview/about.c --- gnome-admin-0.25/logview/about.c Tue Aug 4 11:36:42 1998 +++ gnome-admin-0.26/logview/about.c Tue Aug 11 11:04:54 1998 @@ -19,6 +19,7 @@ ---------------------------------------------------------------------- */ #include +#include #include #include #include "logview.h" @@ -134,7 +135,7 @@ AboutShowWindow (GtkWidget *widget, gpointer user_data) { GtkWidget *frame, *drawing_area; - int w, h, x, y; + int w, h, x, y, i; #ifdef I_LIKE_GNOME_ABOUT char *author[] = {"Cesar Miquel (miquel@df.uba.ar)", NULL}; @@ -144,11 +145,11 @@ "of the GNU General Public Licence. The log icon is a courtesy of " "Tuomas Kuosmanen (a.k.a tigert)."; + /* go get logview.xpm in $(prefix)/share/pixmaps/logview */ about_window = gnome_about_new ("Logview", LOGVIEW_VERSION, - /*about_window = gnome_about_new (NULL, 0,*/ - "Copyright (C) 1998", + "Copyright (C) 1998", author, comments, - "logview.xpm"); + "logview/logview.xpm"); gtk_widget_show (about_window); return; #endif diff -uNr gnome-admin-0.25/logview/actions.c gnome-admin-0.26/logview/actions.c --- gnome-admin-0.25/logview/actions.c Wed Dec 31 19:00:00 1969 +++ gnome-admin-0.26/logview/actions.c Tue Aug 11 11:04:54 1998 @@ -0,0 +1,780 @@ +#include "logview.h" +#include +#include + +#define MAX_NUM_MATCHES 10 +#define DELIM ":" + +void mon_edit_actions (GtkWidget *widget, gpointer data); + +void free_actions_db (GList **db); +void free_action (Action *action); +void print_actions_db (GList *db); +void close_actions_options (GtkWidget * widget, gpointer client_data); +void make_tree_from_actions_db (GList *db); +void clear_actions_db (GList *db); + +void edit_actions_entry_cb (GtkWidget *widget, gpointer data); +void add_actions_entry_cb (GtkWidget *widget, gpointer data); +void edit_action_entry (Action *action); +void close_action_record (GtkWidget * widget, GtkWidget *record_widget); + +int exec_action_in_db (Log *log, LogLine *line, GList *db); +int read_actions_db (char *filename, GList **db); +int write_actions_db (char *filename, GList *db); + + + +extern ConfigData *cfg; +extern GList *actions_db; + + + +GtkWidget *actions_dialog; +GtkWidget *actions_edit_dialog; +GtkCTree *ctree; +GList *ctree_parent; + + + +/* ---------------------------------------------------------------------- + NAME: mon_edit_actions + DESCRIPTION: Create widow where actions are added and changed. + ---------------------------------------------------------------------- */ + +void +mon_edit_actions (GtkWidget *widget, gpointer data) +{ + GtkWidget *hbox, *hbox2; + GtkWidget *label; + GtkWidget *scrolled_win; + GtkWidget *list_item; + GtkWidget *button; + GtkWidget *padding; + GtkWidget *vbox2; + GtkStyle *style; + GtkBox *vbox; + char buffer[10]; + char *title[] = {"Action database"}; + int i; + + /* Create main window ------------------------------------------------ */ + actions_dialog = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_container_border_width (GTK_CONTAINER (actions_dialog), 5); + gtk_window_set_title (GTK_WINDOW (actions_dialog), "Monitor options"); + gtk_widget_set_style (actions_dialog, cfg->main_style); + gtk_widget_set_usize (actions_dialog, 400, -1); + gtk_signal_connect (GTK_OBJECT (actions_dialog), "destroy", + GTK_SIGNAL_FUNC (close_actions_options), + &actions_dialog); + gtk_signal_connect (GTK_OBJECT (actions_dialog), "delete_event", + GTK_SIGNAL_FUNC (close_actions_options), + NULL); + + vbox = (GtkBox *)gtk_vbox_new (FALSE, 2); + gtk_container_border_width (GTK_CONTAINER (vbox), 4); + gtk_container_add (GTK_CONTAINER (actions_dialog), GTK_WIDGET (vbox)); + gtk_widget_show (GTK_WIDGET (vbox)); + + /* List with actions */ + + ctree = GTK_CTREE (gtk_ctree_new_with_titles (1, 0, title)); + gtk_ctree_set_line_style (ctree, GTK_CTREE_LINES_DOTTED); + gtk_ctree_set_reorderable (ctree, TRUE); + gtk_widget_set_usize (GTK_WIDGET (ctree), -1, 300); + +/* ---------------------------------------------------------------------- + gtk_signal_connect (GTK_OBJECT (ctree), "button_press_event", + GTK_SIGNAL_FUNC (button_press), NULL); + gtk_signal_connect_after (GTK_OBJECT (ctree), "button_press_event", + GTK_SIGNAL_FUNC (after_press), NULL); + gtk_signal_connect (GTK_OBJECT (ctree), "button_release_event", + GTK_SIGNAL_FUNC (button_release), NULL); + gtk_signal_connect_after (GTK_OBJECT (ctree), "button_release_event", + GTK_SIGNAL_FUNC (after_press), NULL); + gtk_signal_connect_after (GTK_OBJECT (ctree), "tree_move", + GTK_SIGNAL_FUNC (after_move), NULL); + -------------------------------------------------------------------- */ + + gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (ctree), TRUE, TRUE, 0); + gtk_clist_column_titles_passive (GTK_CLIST (ctree)); + gtk_clist_set_column_justification (GTK_CLIST (ctree), 1, GTK_JUSTIFY_RIGHT); + gtk_clist_set_selection_mode (GTK_CLIST (ctree), GTK_SELECTION_SINGLE); + gtk_clist_set_policy (GTK_CLIST (ctree), GTK_POLICY_ALWAYS, + GTK_POLICY_AUTOMATIC); + gtk_clist_set_column_width (GTK_CLIST (ctree), 0, 300); + gtk_widget_show (GTK_WIDGET(ctree)); + + + /* Make bottom part ------------------------------------------------ */ + hbox = gtk_hbox_new (FALSE, 2); + gtk_box_pack_start (vbox, hbox, TRUE, TRUE, 0); + gtk_widget_show (hbox); + + button = gtk_button_new_with_label ("Add..."); + gtk_widget_set_usize (button, 80, 25); + gtk_signal_connect (GTK_OBJECT (button), "clicked", + GTK_SIGNAL_FUNC (add_actions_entry_cb), NULL); + gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, TRUE, 0); + gtk_widget_show (button); + + button = gtk_button_new_with_label ("Edit..."); + gtk_widget_set_usize (button, 80, 25); + gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, TRUE, 0); + gtk_signal_connect (GTK_OBJECT (button), "clicked", + GTK_SIGNAL_FUNC (edit_actions_entry_cb), NULL); + gtk_widget_show (button); + + button = gtk_button_new_with_label ("Remove"); + gtk_widget_set_usize (button, 80, 25); + gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, TRUE, 0); + gtk_widget_show (button); + + hbox = gtk_hbox_new (FALSE, 2); + gtk_box_pack_start (vbox, hbox, TRUE, TRUE, 0); + gtk_widget_show (hbox); + + /* Add padding to right justify */ + padding = gtk_label_new (" "); + gtk_widget_show (padding); + gtk_box_pack_start (GTK_BOX (hbox), padding, TRUE, TRUE, 0); + + button = gtk_button_new_with_label ("Cancel"); + gtk_widget_set_usize (button, 80, 25); + gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, TRUE, 0); + gtk_widget_show (button); + + button = gtk_button_new_with_label ("OK"); + gtk_widget_set_usize (button, 80, 25); + gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, TRUE, 0); + gtk_widget_show (button); + + /* Generate tree with action database */ + make_tree_from_actions_db (actions_db); + + gtk_widget_show (actions_dialog); +} + + +/* ---------------------------------------------------------------------- + NAME: make_tree_from_actions_db + DESCRIPTION: Create the tree from the database. + ---------------------------------------------------------------------- */ + +void +make_tree_from_actions_db (GList *db) +{ + char *text[2]; + char buffer[50]; + GList *item, *sibling; + Action *action; + + text[0] = buffer; + text[1] = NULL; + + /* Empty list if its not empty */ + if (ctree_parent) + clear_actions_db (db); + + /* Create first item */ + ctree_parent = NULL; + buffer[0] = '\0'; + + for(item = g_list_first (db); item != NULL; item=item->next) + { + action = (Action *)item->data; + if (strncmp (buffer, action->tag, 49) == 0) + sibling = gtk_ctree_insert (ctree, sibling, NULL, text, 5, NULL, NULL, + NULL, NULL, FALSE, FALSE); + else + { + strncpy (buffer, action->tag, 50); + sibling = gtk_ctree_insert (ctree, ctree_parent, NULL, text, 5, NULL, NULL, + NULL, NULL, FALSE, FALSE); + if (ctree_parent == NULL) + ctree_parent = sibling; + } + /* Store data in tree */ + gtk_ctree_set_row_data (ctree, sibling, (gpointer) action); + } + + /* done. */ + return; + +} + + +/* ---------------------------------------------------------------------- + NAME: close_actions_options + DESCRIPTION: Callback called when the log dialog is closed. + ---------------------------------------------------------------------- */ + +void +close_actions_options (GtkWidget * widget, gpointer client_data) +{ + gtk_widget_hide (actions_dialog); +} + + + +/* ---------------------------------------------------------------------- + NAME: read_regexp_db + DESCRIPTION: Reads the database with regular expressions to match. + ---------------------------------------------------------------------- */ + +int +read_actions_db (char *filename, GList **db) +{ + Action *item; + FILE *fp; + char buffer[1024]; + char *c1, *tok; + int done; + + /* Open regexp DB */ + fp = fopen (filename, "r"); + if (fp == NULL) + { + sprintf (buffer, "Cannot open action data base <%s>! Open failed.", + filename); + ShowErrMessage (buffer); + return(-1); + } + + + /* Start parsing file */ + done = FALSE; + buffer[1023] = '\0'; + while (!done) + { + + /* Read line */ + if (fgets( buffer, 1023, fp) == NULL) + { + done = TRUE; + continue; + } + /* Ignore lines that begin with '#' */ + if (buffer[0] == '#') + continue; + + /* Skip spaces */ + c1 = buffer; + while (*c1 == ' ' || *c1 == '\t') c1++; + if (*c1 == '\0' || *c1 == '\n') + continue; /* Nothing to do here */ + + /* Alloc memory for item */ + item = malloc (sizeof (Action)); + if (item == NULL) + { + ShowErrMessage ("Error parsing action data base. Out of memory."); + exit (-1); + } + memset (item, 0, sizeof (Action)); + + + /* Read TAG */ + tok = strtok (c1, DELIM); + if (tok == NULL) + { + ShowErrMessage ("Error parsing actions data base"); + free_actions_db (db); + return (-1); + } + strncpy (item->tag, tok, 49); + item->tag[49] = '\0'; + + /* Read log regexp . */ + tok = strtok (NULL, DELIM); + if (tok != NULL) + item->log_name = g_strdup (tok); + else + { + ShowErrMessage ("Error parsing actions data base"); + free_actions_db (db); + return (-1); + } + + /* Read process regexp . */ + tok = strtok (NULL, DELIM); + if (tok != NULL) + item->process = g_strdup (tok); + else + { + ShowErrMessage ("Error parsing actions data base"); + free_actions_db (db); + return (-1); + } + + /* Read message regexp . */ + tok = strtok (NULL, DELIM); + if (tok != NULL) + item->message = g_strdup (tok); + else + { + ShowErrMessage ("Error parsing actions data base"); + free_actions_db (db); + return (-1); + } + + /* Read description regexp . */ + tok = strtok (NULL, DELIM); + if (tok != NULL) + item->description = g_strdup (tok); + else + { + ShowErrMessage ("Error parsing actions data base"); + free_actions_db (db); + return (-1); + } + + /* Read action regexp . */ + tok = strtok (NULL, "\0\n"); + if (tok != NULL) + item->action = g_strdup (tok); + else + { + ShowErrMessage ("Error parsing actions data base"); + free_actions_db (db); + return (-1); + } + + + /* Add item to list */ + if (item != NULL) + *db = g_list_append (*db, item); + } + + return TRUE; +} + + +/* ---------------------------------------------------------------------- + NAME: write_regexp_db + DESCRIPTION: This file generates the actions DB file. It assumes that + all the entries in each action are valid. + ---------------------------------------------------------------------- */ + +int +write_actions_db (char *filename, GList *db) +{ + GList *item; + Action *action; + FILE *fp; + + + fp = fopen (filename, "w"); + if (fp == NULL) + { + ShowErrMessage ("Can't write to actions database!"); + return -1; + } + + /* Write a header to the DB file */ + fprintf (fp, "#\n# Actions DB\n#\n# Generated by logview. Don't edit by hand\n"); + fprintf (fp, "# unless you know what you are doing!\n#\n\n"); + + /* Search for daemon in our list */ + item = g_list_first (db); + for (item = g_list_first (db); item != NULL; item=item->next) + { + action = (Action *)item->data; + /* Check that there is a valid entry */ + if (*action->tag = '\0' || action->log_name == NULL || + action->process == NULL || action->message == NULL || + action->description == NULL || + action->action == NULL) + continue; + + /* write entry */ + fprintf (fp, "%s:%s:%s:%s:%s:%s\n", action->tag, + action->log_name, action->process, + action->message, action->description, + action->action); + } + + return TRUE; +} + +/* ---------------------------------------------------------------------- + NAME: free_actions_db + DESCRIPTION: + ---------------------------------------------------------------------- */ + +void +free_actions_db (GList **db) +{ + clear_actions_db (*db); + g_list_free (*db); + *db = NULL; + + return; +} + +/* ---------------------------------------------------------------------- + NAME: exec_action_in_db + DESCRIPTION: Try to find the error message in line in the database. + ---------------------------------------------------------------------- */ + +int +exec_action_in_db (Log *log, LogLine *line, GList *db) +{ + GList *item; + Action *cur_action; + regex_t preg; + regmatch_t matches[MAX_NUM_MATCHES]; + int doesnt_match; + + /* Search for daemon in our list */ + item = g_list_first (db); + for (item = g_list_first (db); item != NULL; item=item->next) + { + doesnt_match = FALSE; + cur_action = (Action *)item->data; + regcomp (&preg, cur_action->log_name, REG_EXTENDED); + doesnt_match = regexec (&preg, log->name, MAX_NUM_MATCHES, matches, 0); + regfree (&preg); + if (doesnt_match) + continue; + regcomp (&preg, cur_action->process, REG_EXTENDED); + doesnt_match = regexec (&preg, line->process, MAX_NUM_MATCHES, matches, 0); + regfree (&preg); + if (doesnt_match) + continue; + regcomp (&preg, cur_action->message, REG_EXTENDED); + doesnt_match = regexec (&preg, line->message, MAX_NUM_MATCHES, matches, 0); + regfree (&preg); + if (doesnt_match) + continue; + + break; + } + + if (item == NULL) + return FALSE; /* not in our list */ + + /* If there is a non-null action execute it */ + if (cur_action != NULL) + system (cur_action->action); + + return TRUE; +} + +/* ---------------------------------------------------------------------- + NAME: add_actions_entry_cb + DESCRIPTION: Add an entry to the actions DB. + ---------------------------------------------------------------------- */ + +void +add_actions_entry_cb (GtkWidget *widget, gpointer data) +{ + Action *action; + + action = malloc (sizeof (Action)); + + sprintf (action->tag, ""); + action->log_name = g_strdup ("log. name regexp"); + action->process = g_strdup ("process regexp"); + action->message = g_strdup ("message regexp"); + action->action = g_strdup ("action to execute when regexps are TRUE"); + action->description = g_strdup ("description"); + + edit_action_entry (action); + +} + +/* ---------------------------------------------------------------------- + NAME: edit_actions_entry_cb + DESCRIPTION: Function called when the edit button is pressed. + ---------------------------------------------------------------------- */ + +void +edit_actions_entry_cb (GtkWidget *widget, gpointer data) +{ + int row, column; + GList *item; + Action *action; + + item = GTK_CLIST (ctree)->selection; + if (item == NULL) + return; + + action = (Action *) gtk_ctree_get_row_data(ctree, item); + + edit_action_entry (action); + +} + +/* ---------------------------------------------------------------------- + NAME: edit_action_entry + DESCRIPTION: Edit a DB record on a window. + ---------------------------------------------------------------------- */ + +void +edit_action_entry (Action *action) +{ + GtkWidget *hbox, *hbox2; + GtkWidget *label; + GtkWidget *text; + GtkWidget *entry; + GtkWidget *action_record; + GtkWidget *scrolled_win; + GtkWidget *list_item; + GtkWidget *button; + GtkWidget *padding; + GtkWidget *vbox2; + GtkStyle *style; + GtkBox *vbox; + GtkTooltips *tips; + int i; + + if (!action) + return; + + /* Create main window ------------------------------------------------ */ + action_record = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_container_border_width (GTK_CONTAINER (action_record), 5); + gtk_window_set_title (GTK_WINDOW (action_record), "Edit action record"); + gtk_widget_set_style (action_record, cfg->main_style); + gtk_widget_set_usize (action_record, 400, 400); + gtk_signal_connect (GTK_OBJECT (actions_dialog), "destroy", + GTK_SIGNAL_FUNC (close_action_record), + action_record); + gtk_signal_connect (GTK_OBJECT (actions_dialog), "delete_event", + GTK_SIGNAL_FUNC (close_action_record), + action_record); + + vbox = (GtkBox *)gtk_vbox_new (FALSE, 2); + gtk_container_border_width (GTK_CONTAINER (vbox), 4); + gtk_container_add (GTK_CONTAINER (action_record), GTK_WIDGET (vbox)); + gtk_widget_show (GTK_WIDGET (vbox)); + + /* Show fields to edit ----------------------------------------------- */ + tips = gtk_tooltips_new (); + + /* Tag */ + hbox = gtk_hbox_new (FALSE, 2); + gtk_box_pack_start (vbox, hbox, TRUE, TRUE, 0); + gtk_widget_show (hbox); + label = gtk_label_new ("Tag:"); + gtk_widget_set_usize (label, 60, -1); + gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); + gtk_widget_show (label); + entry = gtk_entry_new (); + gtk_widget_set_usize (entry, 200, -1); + gtk_entry_set_editable (GTK_ENTRY (entry), TRUE); + gtk_box_pack_start (GTK_BOX (hbox), entry, TRUE, TRUE, 0); + gtk_entry_set_text (GTK_ENTRY (entry), action->tag); + gtk_tooltips_set_tip (tips, entry, "Tag that identifies the log file.", NULL); + gtk_widget_show (entry); + + /* log name */ + hbox = gtk_hbox_new (FALSE, 2); + gtk_box_pack_start (vbox, hbox, TRUE, TRUE, 0); + gtk_widget_show (hbox); + label = gtk_label_new ("Log name:"); + gtk_widget_set_usize (label, 60, -1); + gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); + gtk_widget_show (label); + entry = gtk_entry_new (); + gtk_widget_set_usize (entry, 200, -1); + gtk_entry_set_editable (GTK_ENTRY (entry), TRUE); + gtk_box_pack_start (GTK_BOX (hbox), entry, TRUE, TRUE, 0); + gtk_entry_set_text (GTK_ENTRY (entry), action->log_name); + gtk_tooltips_set_tip (tips, entry, "Regular expression that will match the log name.", + NULL); + gtk_widget_show (entry); + + /* Process */ + hbox = gtk_hbox_new (FALSE, 2); + gtk_box_pack_start (vbox, hbox, TRUE, TRUE, 0); + gtk_widget_show (hbox); + label = gtk_label_new ("process:"); + gtk_widget_set_usize (label, 60, -1); + gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); + gtk_widget_show (label); + entry = gtk_entry_new (); + gtk_widget_set_usize (entry, 200, -1); + gtk_entry_set_editable (GTK_ENTRY (entry), TRUE); + gtk_box_pack_start (GTK_BOX (hbox), entry, TRUE, TRUE, 0); + gtk_entry_set_text (GTK_ENTRY (entry), action->process); + gtk_tooltips_set_tip (tips, entry, "Regular expression that will match process part of message.", + NULL); + gtk_widget_show (entry); + + /* Message */ + hbox = gtk_hbox_new (FALSE, 2); + gtk_box_pack_start (vbox, hbox, TRUE, TRUE, 0); + gtk_widget_show (hbox); + label = gtk_label_new ("message:"); + gtk_widget_set_usize (label, 60, -1); + gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); + gtk_widget_show (label); + entry = gtk_entry_new (); + gtk_widget_set_usize (entry, 200, -1); + gtk_entry_set_editable (GTK_ENTRY (entry), TRUE); + gtk_box_pack_start (GTK_BOX (hbox), entry, TRUE, TRUE, 0); + gtk_entry_set_text (GTK_ENTRY (entry), action->message); + gtk_tooltips_set_tip (tips, entry, "Regular expression that will match the message.", + NULL); + gtk_widget_show (entry); + + /* Action */ + hbox = gtk_hbox_new (FALSE, 2); + gtk_box_pack_start (vbox, hbox, TRUE, TRUE, 0); + gtk_widget_show (hbox); + label = gtk_label_new ("action:"); + gtk_widget_set_usize (label, 60, -1); + gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); + gtk_widget_show (label); + entry = gtk_entry_new (); + gtk_widget_set_usize (entry, 200, -1); + gtk_entry_set_editable (GTK_ENTRY (entry), TRUE); + gtk_box_pack_start (GTK_BOX (hbox), entry, TRUE, TRUE, 0); + gtk_entry_set_text (GTK_ENTRY (entry), action->action); + gtk_tooltips_set_tip (tips, entry, "Action that will be executed if all previous regexps. are matched. This is executed by a system command: system (action).", + NULL); + gtk_widget_show (entry); + + /* Description */ + hbox = gtk_hbox_new (FALSE, 2); + gtk_box_pack_start (vbox, hbox, TRUE, TRUE, 0); + gtk_widget_show (hbox); + label = gtk_label_new ("description:"); + gtk_widget_set_usize (label, 60, -1); + gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); + gtk_widget_show (label); + text = gtk_text_new (NULL, NULL); + gtk_widget_set_usize (text, 200, -1); + gtk_text_set_editable (GTK_TEXT (text), TRUE); + gtk_box_pack_start (GTK_BOX (hbox), text, TRUE, TRUE, 0); + gtk_entry_set_text (GTK_ENTRY (entry), action->action); + gtk_tooltips_set_tip (tips, text, "Description of this entry.", + NULL); + gtk_widget_show (text); + + + /* Make bottom part ------------------------------------------------ */ + hbox = gtk_hbox_new (FALSE, 2); + gtk_box_pack_start (vbox, hbox, TRUE, TRUE, 0); + gtk_widget_show (hbox); + + /* Add padding to right justify */ + padding = gtk_label_new (" "); + gtk_widget_show (padding); + gtk_box_pack_start (GTK_BOX (hbox), padding, TRUE, TRUE, 0); + + button = gtk_button_new_with_label ("Cancel"); + gtk_widget_set_usize (button, 80, 25); + gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, TRUE, 0); + gtk_widget_show (button); + + button = gtk_button_new_with_label ("OK"); + gtk_widget_set_usize (button, 80, 25); + gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, TRUE, 0); + gtk_widget_show (button); + + + gtk_widget_show (action_record); + + + /* Insert text into text widget */ + gtk_text_insert (GTK_TEXT (text), NULL, NULL, NULL, action->description, + strlen (action->description)); +} + +/* ---------------------------------------------------------------------- + NAME: close_action_record + DESCRIPTION: Callback called when the log dialog is closed. + ---------------------------------------------------------------------- */ + +void +close_action_record (GtkWidget * widget, GtkWidget *record_widget) +{ + gtk_widget_hide (record_widget); +} + + +/* ---------------------------------------------------------------------- + NAME: print_actions_db + DESCRIPTION: Prints the database (for debbuging purposes). + ---------------------------------------------------------------------- */ + +void +print_actions_db (GList *db) +{ + GList *item; + Action *action; + int not_found; + + /* Search for daemon in our list */ + + for (item = g_list_first (db); item != NULL; item = item->next) + { + action = (Action *)item->data; + printf ("tag: [%s]\n log_name: [%s]\n process: [%s] message: [%s]\n \ + description: [%s]\n action: [%s]\n ", + action->tag, + action->log_name, + action->process, + action->message, + action->description, + action->action); + } + + return; + +} + + +/* ---------------------------------------------------------------------- + NAME: clear_actions_db + DESCRIPTION: Free all memory used by actions DB. + ---------------------------------------------------------------------- */ + +void +clear_actions_db (GList *db) +{ + GList *item; + Action *action; + int not_found; + + for (item = g_list_first (db); item != NULL; item = item->next) + { + action = (Action *)item->data; + free_action (action); + } + + return; + +} + +/* ---------------------------------------------------------------------- + NAME: free_action + DESCRIPTION: Given an action struct, clear it. + ---------------------------------------------------------------------- */ + +void +free_action (Action *action) +{ + if (action) + { + if (!action->log_name) + free (action->log_name); + + if (!action->process) + free (action->process); + + if (!action->message) + free (action->message); + + if (!action->action) + free (action->action); + + if (!action->description) + free (action->description); + } + + return; +} diff -uNr gnome-admin-0.25/logview/actions.xpm gnome-admin-0.26/logview/actions.xpm --- gnome-admin-0.25/logview/actions.xpm Wed Dec 31 19:00:00 1969 +++ gnome-admin-0.26/logview/actions.xpm Tue Aug 11 11:04:54 1998 @@ -0,0 +1,16 @@ +/* XPM */ +static char * actionsxpm[] = { +"57 9 4 1", +"# c None", +". c #0B0B0C", +"+ c #A7A7A7", +"@ c #5A5A59", +"####..##############+.+##################################", +"###@..+##########.@##+###################################", +"###@..@####+@+##+..@+.+##+@@###+@#@+####+@+##############", +"##+.@@.###@...@#+..++.+#@....##@....+##..@.@#############", +"##@.++.+##.@#@.##.@#+.++..##..#@.+#.@#+.+#+@#############", +"##..++..#+.######.@#+.++.###@.#@.##@@##...@+#############", +"#+......++.+#+@##.@#+.++.+##..#@.##@@#++++@.#############", +"#+.@++@.+#..+@.##..++.+#..++.@#@.##@@#@.+#@.#+@+#@@#+@+##", +"#..+##+..#+@..+##@.@+.+#+...@##@.##@@##....+#+.@#..#@.+##"}; diff -uNr gnome-admin-0.25/logview/config.c gnome-admin-0.26/logview/config.c --- gnome-admin-0.25/logview/config.c Tue Aug 4 11:36:43 1998 +++ gnome-admin-0.26/logview/config.c Tue Aug 11 11:04:55 1998 @@ -152,5 +152,10 @@ gdk_font_unref (cs->font); cs->font = gdk_font_load (HELVETICA_10_FONT); + /* Set paths */ + newcfg->regexp_db_path = NULL; + newcfg->descript_db_path = NULL; + newcfg->action_db_path = NULL; + return (ConfigData *) newcfg; } diff -uNr gnome-admin-0.25/logview/log_repaint.c gnome-admin-0.26/logview/log_repaint.c --- gnome-admin-0.25/logview/log_repaint.c Tue Aug 4 11:36:44 1998 +++ gnome-admin-0.26/logview/log_repaint.c Tue Aug 11 11:04:55 1998 @@ -24,6 +24,7 @@ #include #include #include +#include #include #include "logview.h" #include "logrtns.h" @@ -78,7 +79,7 @@ int log_line_sep; int cursor_visible; char *deflognames[] = -{"/var/log/messages"}; +{PATH_MESSAGES}; char *month[12] = {"January", "February", "March", "April", "May", diff -uNr gnome-admin-0.25/logview/logrtns.c gnome-admin-0.26/logview/logrtns.c --- gnome-admin-0.25/logview/logrtns.c Tue Aug 4 11:36:44 1998 +++ gnome-admin-0.26/logview/logrtns.c Tue Aug 11 11:04:55 1998 @@ -243,18 +243,13 @@ for (i = 0; i < n; i++) { ReadPageUp (lg, cp); + lg->firstpg = cp; + lg->lastpg = lg->lastpg->prev; if (cp->isfirstpage == TRUE) - { - lg->firstpg = cp; - lg->lastpg = cp->prev; return i+1; - } cp = cp->prev; } - lg->firstpg = cp->next; - lg->lastpg = cp; - return n; } @@ -277,17 +272,12 @@ for (i = 0; i < n; i++) { ReadPageDown (lg, cp); + lg->lastpg = cp; + lg->firstpg = lg->firstpg->next; if (cp->islastpage == TRUE) - { - lg->lastpg = cp; - lg->firstpg = cp->prev; return i+1; - } cp = cp->next; } - - lg->lastpg = cp->prev; - lg->firstpg = cp; return n; } diff -uNr gnome-admin-0.25/logview/logview-actions.db gnome-admin-0.26/logview/logview-actions.db --- gnome-admin-0.25/logview/logview-actions.db Wed Dec 31 19:00:00 1969 +++ gnome-admin-0.26/logview/logview-actions.db Tue Aug 11 11:04:55 1998 @@ -0,0 +1,7 @@ +# +# +# + +:log name regexp:process regexp:message regexp:description:action +:log name regexp:process regexp:message regexp:description:action + diff -uNr gnome-admin-0.25/logview/logview-descript.db gnome-admin-0.26/logview/logview-descript.db --- gnome-admin-0.25/logview/logview-descript.db Wed Dec 31 19:00:00 1969 +++ gnome-admin-0.26/logview/logview-descript.db Tue Aug 11 11:04:55 1998 @@ -0,0 +1,45 @@ +# +# Database with description of text messages in english. The idea +# of separating tags from descriptions is useful for translations +# (good idea miguel!) +# +# Format is very simple: +# +# [tag]:[description] +# +# No need to explain. Caveat: for now the ':' can't be used as part of +# the tag (but it can be used in the message). Another thing: the +# description cannot have '\n'. I'll remove this restriction later. +# + +# Kernel messages +# +mesg1:This is message description number 1. +mesg2:This is message description number 2. +mesg3:This is message description number 3. +default kernel:This messages are generated by the linux kernel. They are usually related to detection of hardware or other low level related stuff. + +# pppd messages +# + +local ip:This indicates the local IP that the PPP server asigned to the machine when it connected. +remote ip:This indicates the remote IP of the PPP server. +default pppd:The Point-to-Point Protocol (PPP) provides a method for transmitting datagrams over serial point-to-point links. PPP is composed of three parts: a method for encapsulating datagrams over serial links, an extensible Link Control Protocol (LCP), and a family of Network Control Protocols (NCP) for establishing and configuring different network-layer protocols. + +# syslogd +# + +syslogd restart:The syslogd daemon (the program that writes on the log file) was restarted. Be careful: this could mean that someone messed up with it. Most probably it was restarted when rotating logs or when the machine rebooted. + +# PAM_pwdb +# + +su opened:A user has invoked the setuid program to change its user id. This will let you know if a user has gained root provileges. Make sure you know who generated this messages. +su closed:A user closed a su session that he had previously opened. + +# chat +# + +default chat:This messages are generated by the chat program. This program defines a conversational exchange between the computer and the modem. Its primary purpose is to establish the connection between the Point-to-Point Protocol Daemon (pppd) and the remote's pppd process. + + diff -uNr gnome-admin-0.25/logview/logview-regexp.db gnome-admin-0.26/logview/logview-regexp.db --- gnome-admin-0.25/logview/logview-regexp.db Wed Dec 31 19:00:00 1969 +++ gnome-admin-0.26/logview/logview-regexp.db Tue Aug 11 11:04:55 1998 @@ -0,0 +1,59 @@ +# +# Regexp database for logview. This database has the different +# error messages. It has a tag which is used to link the +# description of the message with the error. The format is +# +# [tag]:[process regex]:[message regex]:[level] +# +# where +# +# [tag] is a name that links the error message with a +# description. +# [process regex] can be wither a regular expression or '-'. '-' +# means that its the same regular expression as the +# previous message. The regular expression is used +# to match who wrote the message. +# [message regex] The regular expression used to match the error +# message +# [level] The importance of the message. Unused for now. Just +# set to 0. +# +# For now the separator is the ':' charcater. Don't use it in your +# anywhere else for now! Later the delimiter might change to a +# ctrl char. +# + +# Kernel messages +# +mesg1:kernel:tty.*:7 +mesg2:-:^ide.*:6 +mesg3:-:^hd.*:5 +default kernel:-:.*:7 + +# pppd messages +# + +local ip:pppd\[\d*:local.* \d*.\d*.\d*.\d*:7 +remote ip:-:remote.* \d*.\d*.\d*.\d*:7 +default pppd:-:.*:7 + +# syslogd messages +# + +syslogd restart:syslogd:restart:0 + +# PAM_pwd +# + +su opened:PAM_pwdb\[\d*:^\(su\) session opened for user root*:3 +su closed:-:^\(su\) session closed for user root:3 + + +# Messages generated by chat +# + +default chat:chat\[\d*:.*:7 + + +# +# etc ... diff -uNr gnome-admin-0.25/logview/logview.c gnome-admin-0.26/logview/logview.c --- gnome-admin-0.25/logview/logview.c Tue Aug 4 11:36:44 1998 +++ gnome-admin-0.26/logview/logview.c Tue Aug 11 11:04:55 1998 @@ -64,6 +64,7 @@ int InitPages (); int RepaintLogInfo (GtkWidget * widget, GdkEventExpose * event); int read_regexp_db (char *filename, GList **db); +int read_actions_db (char *filename, GList **db); void print_db (GList *gb); Log *OpenLogFile (char *); GtkWidget *new_pixmap_from_data (char **, GdkWindow *, GdkColor *); @@ -101,13 +102,13 @@ GnomeUIInfo view_menu[] = { {GNOME_APP_UI_ITEM, "Calendar ", "Show calendar log", CalendarMenu, NULL, NULL, - GNOME_APP_PIXMAP_NONE, NULL, 0, 0, NULL}, + GNOME_APP_PIXMAP_NONE, NULL, 'C', GDK_CONTROL_MASK, NULL}, {GNOME_APP_UI_ITEM, "Log stats ", "Show log stats", LogInfo, NULL, NULL, - GNOME_APP_PIXMAP_NONE, NULL, 0, 0, NULL}, + GNOME_APP_PIXMAP_NONE, NULL, 'I', GDK_CONTROL_MASK, NULL}, {GNOME_APP_UI_ITEM, "Zoom ", "Show line info", create_zoom_view, NULL, NULL, - GNOME_APP_PIXMAP_NONE, NULL, 0, 0, NULL}, + GNOME_APP_PIXMAP_NONE, NULL, 'Z', GDK_CONTROL_MASK, NULL}, {GNOME_APP_UI_ENDOFINFO, NULL, NULL, NULL} }; @@ -153,7 +154,7 @@ GtkWidget *main_win_scrollbar; GtkLabel *filename_label, *date_label; -GList *regexp_db, *descript_db; +GList *regexp_db, *descript_db, *actions_db; ConfigData *cfg; int open_log_visible; @@ -676,37 +677,74 @@ open_databases () { struct stat file_stat; - char *paths[] = {"../lib/logview", "/usr/local/lib/logview","."}; char full_name[255]; - int found, i, num_paths; + int found, i; + + /* Find regexp DB ----------------------------------------------------- */ + found = FALSE; + if (cfg->regexp_db_path != NULL) + { + sprintf (full_name, "%s/logview-regexp.db", cfg->regexp_db_path); + fprintf (stderr, "Looking for database in [%s]\n", cfg->regexp_db_path); + if (access (full_name, R_OK) == 0) + found = TRUE; + } - num_paths = 3; + strncpy (full_name, LOGVIEWINSTALLPREFIX, 200); + strncat (full_name, "share/logview/logview-regexp.db", 40); + if (access (full_name, R_OK) == 0) + { + found = TRUE; + cfg->regexp_db_path = g_strdup (full_name); + read_regexp_db (full_name, ®exp_db); + } + else + regexp_db = NULL; + /* Find description DB ------------------------------------------------ */ found = FALSE; - for (i=0;idescript_db_path != NULL) { - sprintf (full_name, "%s/logview-regexp.db", paths[i]); - fprintf (stderr, "Looking for database in [%s]\n", paths[i]); - if (access (full_name, R_OK) == 0) - { - found = TRUE; - break; - } + sprintf (full_name, "%s/logview-descript.db", cfg->descript_db_path); + fprintf (stderr, "Looking for database in [%s]\n", cfg->descript_db_path); + if (access (full_name, R_OK) == 0) + found = TRUE; } - if (!found) + strncpy (full_name, LOGVIEWINSTALLPREFIX, 200); + strncat (full_name, "share/logview/logview-descript.db", 40); + if (access (full_name, R_OK) == 0) + { + found = TRUE; + cfg->descript_db_path = g_strdup (full_name); + read_descript_db (full_name, &descript_db); + } + else + descript_db = NULL; + + + /* Find action DB ------------------------------------------------ */ + found = FALSE; + if (cfg->action_db_path != NULL) { - ShowErrMessage ("Couldn't find description data-base."); - return; + sprintf (full_name, "%s/logview-actions.db", cfg->action_db_path); + fprintf (stderr, "Looking for database in [%s]\n", cfg->action_db_path); + if (access (full_name, R_OK) == 0) + found = TRUE; } - fprintf (stderr, "Found databse in [%s]\n", paths[i]); - /* open database then */ - sprintf (full_name, "%s/logview-regexp.db", paths[i]); - read_regexp_db (full_name, ®exp_db); - sprintf (full_name, "%s/logview-descript.db", paths[i]); - read_descript_db (full_name, &descript_db); + strncpy (full_name, LOGVIEWINSTALLPREFIX, 200); + strncat (full_name, "share/logview/logview-actions.db", 40); + if (access (full_name, R_OK) == 0) + { + found = TRUE; + cfg->action_db_path = g_strdup (full_name); + read_actions_db (full_name, &actions_db); + } + else + actions_db = NULL; + /* If debugging then print DB */ print_db (regexp_db); diff -uNr gnome-admin-0.25/logview/logview.h gnome-admin-0.26/logview/logview.h --- gnome-admin-0.25/logview/logview.h Tue Aug 4 11:36:44 1998 +++ gnome-admin-0.26/logview/logview.h Tue Aug 11 11:04:55 1998 @@ -60,18 +60,21 @@ typedef struct { - // Fonts ----------------------------------------------------- + /* Fonts ----------------------------------------------------- */ GdkFont *heading, *headingb, *fixed, *fixedb, *small; - // Colors ---------------------------------------------------- + /* Colors ---------------------------------------------------- */ GdkColor black, green, blue, blue1, blue3, gray25, gray50; GdkColor gray75, white; GdkVisual *vis; GdkColormap *cmap; - // Styles --------------------------------------------------- + /* Styles ---------------------------------------------------- */ GtkStyle *main_style, *white_bg_style, *black_bg_style; + /* Paths ----------------------------------------------------- */ + char *regexp_db_path, *descript_db_path, *action_db_path; + } ConfigData; struct __menu_item @@ -124,7 +127,15 @@ char tag[50]; } DescriptionEntry; - +typedef struct +{ + char tag[50]; + char *log_name; + char *process; + char *message; + char *description; + char *action; +} Action; typedef struct { diff -uNr gnome-admin-0.25/logview/logview.xpm gnome-admin-0.26/logview/logview.xpm --- gnome-admin-0.25/logview/logview.xpm Tue Aug 4 11:36:44 1998 +++ gnome-admin-0.26/logview/logview.xpm Tue Aug 11 11:04:58 1998 @@ -1,194 +1,155 @@ /* XPM */ static char * logviewxpm[] = { -"274 160 31 1", +"274 132 20 1", " c None", -". c #232028", -"+ c #869994", -"@ c #96D1B4", -"# c #C7CFCD", -"$ c #C9E7D8", -"% c #E8E8E7", -"& c #B2D3CC", -"* c #B2DEC5", -"= c #FEFEFC", -"- c #92AEA4", -"; c #CDDEDC", -"> c #5D5E60", -", c #D4EBDE", -"' c #E7F2ED", -") c #BBE2CD", -"! c #752153", -"~ c #664A6C", -"{ c #433E48", -"] c #637E78", -"^ c #C79999", -"/ c #D2B2AC", -"( c #52205E", -"_ c #A52031", -": c #A9A9A9", -"< c #90C2BC", -"[ c #C2BEB9", -"} c #7B7A7A", -"| c #9EDEB4", -"1 c #E2CEBD", -"2 c #CBA3A0", -"==================================================================================================================================================================================================================================================================================", -"==================================================================================================================================================================================================================================================================================", -"==================================================================================================================================================================================================================================================================================", -"==================================================================================================================================================================================================================================================================================", -"==================================================================================================================================================================================================================================================================================", -"==================================================================================================================================================================================================================================================================================", -"==================================================================================================================================================================================================================================================================================", -"==================================================================================================================================================================================================================================================================================", -"==================================================================================================================================================================================================================================================================================", -"==================================================================================================================================================================================================================================================================================", -"==================================================================================================================================================================================================================================================================================", -"==================================================================================================================================================================================================================================================================================", -"==================================================================================================================================================================================================================================================================================", -"==================================================================================================================================================================================================================================================================================", -"====================================================================='='='===='==========='===''==='===='======'='======================='===='='='='============'=='='===================='====='='=='======================================='=============================='====", -"========================================'='===='=''='='===============''''=''==='=========''===''=='''==========='''====='='============'''====''''=='''='===='''='==''===='''=============''''======'''=='================================='''='=============='='============''='", -"======================================'======='==='===================='===='==========''''===='''==='============'''====''''============''''''='='========='''==='='='''=='''======'''=='='''==='=''''======================================''===============''=''============'='", -"=='=='=='=='=='=='=='=='=='=='=='=='===='======='======='=='=='=='====='''=========='===='''====='========'=='=====''=====''=='=='=='====',','''='''======''',='=====''''=='='='=='='''''====',=====''======='=='=='=='=='=='=='=='=='=''''=='''=='=='=='='==='='='''=='=='=======", -"========================================'========'=========='======================'''==='''===='==========='''===='''====='================='''=========='''%'========''==========',='=',==='''======================================='''''==''========='''==''=='===============", -"=================================='='====''=='============='='====================='''''==''====='=========''''''==='''======================='''======''''=='''=======''=========='''=='''==='''=====================================''='''=='%'======='='===''=''''=============", -"===========================================''============'',======================''=','==','============='''=,,'===''======================''''=====''''=====''===='%,''==========='''=='%==='''=================================='=='%'%%%===''=======''=''==''''='=============", -"================================='=='='====='============='''=============''==='='','','===''==========='=='',''='==='======================','====='',''=====',,===='='=============%%'='''=======================================,'''',''''==='=======''%''===''==''============", -"=================================='='='=============''''===''=============,,'='''=',,,'''============'',''=,,,''''============,''================='=',,========','===================,''=''==============================='====='=='''=%;'=''==========='%,''===''='''============", -"=========================='==='=======''==========='=''''==','============'''=''===,$=','============,'',,'',,''''===='''=====,$'=================''=,''','===='%'====================,,%,'===============================',==='%'='%'='%,%%'======,'''='%%'====%'%'''============", -"=========================='=='======''=============''='','==','============,,'',==='',,,'========='='$,==,'=,',,,====',),=====,,==================,,''%;,,'=====''=====================;;,'===============================,'====,,''%'===''%======''''%'==%'======''==============", -"==========================='='='==='=''=====''='''='='',$,'='='=============,,$$,'='''''=========,''',$'='$%=''='====='',$====================',%''%,''$,'=='=============''==========='''================================'',====%,%;''==========''%='''==',%=====================", -"=======================''=='''''='='=========',''====',=',''================'$)',,,''==========',,'==,,'==,$'===========,,'====='',==========='$#,',,%',;==,'%======''===,),=============================================',;;,====''%'========''='='='%%'=='%'========''==========", -"======================'======'==='===========,,,'==='''','''=================,,''=='==========='),'===,$'==''============;$'===='),'=='=='=====,*;;,&,'%,;;,,'=====,$,'==';,'====='===================================='=='';%'===='%%'====='%,'''===',%''='''======='''',========", -"=====================''=====''===============,,,'====$,,,'========='========='$,'=============='),'===',,==========='=='='$,====,;$'===========',$%,#;;',$;,'=====,;,'====''================'==='=='=='===============';'===%;,======'======',%%'%===='''%==''======='%'=%'=='====", -"=='====='====='=======''=====''======='==','===,,=====''''======'='$'========='''=========,$',==,,'====''====='==='$,,'===%;,===='==============';,',&,''''======',%'========''==========================='===='$'===,';%====';%============,%==,'%=====%'======%%'='%'='''=======", -"====='====='===='='====''===============,'''==='$''',===========',,$'=='================''$;,)'='$;==============',$,;$'=='$;============='======;$%=';%======,,'=,;%'$%'==';$'======'======================='=';;'=';;'=====',;============,,'='%,==''%,'=====''%==='%'%'''======", -"================'='''=='''======='=====','''===',,$$,======='==='))'===='========'=='===',,',*,=='$;==='========='$'';)'===,,'======='===========';;==''====';;%'=,&)&&&;%=';&;='========'=='========='=========,;$==;&%======'''======'==''',,==',%='%'%'====='%=''='=''''%'=====", -"==='====='='==='==','=='''=====''======'''',,,=='''''============$*'======='====',,==''='$,,;;,'=',,=========='==';);;;%'===%==========='========='$'=======,*;'===%;;,)),==','================='=='======='===';[)%=';;==================%%'%,%==;%'=='======='$,%'=='%'==''=====", -"===========''===='''''======'==','==',=',$'$'$'========'===,)$,==,$)=============$$'=','=,&*)';'=='======='=');$,';**$','========'===;,'=='========%======%',;;=','=='==;,'========='======='=========='======';);#$==;;%'========='==='==%%=';%''%'===========';,%'==='%='''='===", -"======'===''''==''==,''=========,,'=,'==''''')'==========='$$);)==,),===='=======,$$=%,'=';*%'),======'====';;,;)'';)';)'====,,'===='&&'====='===========%),';*;;;'===';#,======='============================';%=,;%==*;'=======,$%%=%;%'%'==';%,%,======$%,'='%%'===='%'%'======", -"=========='==''='''''='=========',,'''=====,),'===========,;''|;,=';)'======'=====$);$)===,));$,==========';&)''#)';);;;'===,)&*'==='$)'==================,&%'&&&%'==';;;'=============='==='=========='======%$,='#*'='%'==='==',;$;%'%;,;%%'=''%'======,%'%%'==%%'====''''======", -"========='===''==''''===='====''=,,))$''=',$,,====''$'')'=,,')&@)'=,,============='$*&&;,'',,;'==='===='),''**'=,;,'',,==='=';;;;====='=========='==',;'==';;';*&====';,===='======='=========='==============';#==;#;==========;;'=;$'='%,,%%'======='==,%=','=='''============'=", -"=='======''==',,=============',,==))$),,,',,=======,)&)),===;)';*;,=='======'======,&@$$$$;'==========';&,==;&,==&)'===========&*$=====';'==='======='*;===;%='&*%===='========'================'=,'===='=='===,*;';&%'==='=====%;'=';%=='%''%'======'='='===%%===%%'=============", -"======'===''=',''==========',),'==,))='','==========@@&,===';,');,'============'====)&''='''========'=;@,'=='$&'=','==========='&&=====,<&,===========;&%''&*'=%&&======='============='====='=='*&&'===========#;*;,'==========';%==%;'=$,========%$%,%=====''====%'======;'%====", -"=='=======%'''''====='======,),====,),=============';@)'====)*&),======'=='=========')&========'======,&&====,);======'===='====,&)====;*&==='========';&;',&%==$,%==============='=============,#&#)======='==='$%%=='====='==='%;;=';%'%%%==='==='%%%,;==='%====='=='=====''''==", -"========'=='%'%==='=====%===',*====%,,========'=$*,==,*;====',,,=========);'='=======$,'=========$;,'=')&'====)''========,*;)'===&&''==='========'=====',&;,&,==='=='======'=='=========='======='=#&'===========================';%%=;,'=========','==%;===''''%==============''=", -"'''==============''==='$,$$==$,;====''=========***'===*),')'======='==='$*)'===='=====%===='====;&**&'=$&&==============';&)&;'==,*&========='===='======)&@-;======='=============='=============='&&''================'=========,;,';;===========%;%=',;==%%';;==========='==%'=", -"''==='==========='$===$,,$*$='*;''===='==='==='*)''===,)***$===========$@*'========'====='======|;'*@)==)&$====='=='===''&,'@&'===;)'=====================';@;=========='========='===='============$&%=='==='==='===%=='==='======$%$,'=='===='='=%,'==%%%='*''=='==='==%======''", -"'$%============'=',;='$''***=='*'====='$===='=$*'$*)$==$$;$===='======='*<%============',,===$%')*)&&,%==;$=========%'==,)&&&&$'=='''==='=========='=======';==='============='=========='=='=$*',===&*'===========''));*%====='===='%===========$'=';%==;'=%'==========%''=======", -"='''====='=='===='**'='%,,**$'=''=====$*$==$$=,******'===='=======$**;==,&)===========''*&'=,)'=*<@&$),=='=='======'**)$'&<@;'*'===========%)*========'======='======='===='=================;#&&;'=''&;============'#[&;'================='=='==;'==,'='''======''='===,===='==''", -"==''='==========$$$*;'='*''**$,==='==='**''$$=='$''$*'====='==='='****)==**$'==='=======$*$',;=='&@%%*$'==========')&;&&%$@&;;*%====;*'='=='<@$========'======================='======$)===='&$%#@;===;)''===='=====%)&;=========='=====%$''=%'%''%==';'%;'======%'====''=,======'", -"=,'%============$,'$*$=$*$*,''=========$*)'*,====%;*;'===========$;',<&$='*)======='=====**$;)%==;)*&&'==='==='=%'*<)'$&;=*;&&)'===;)<*'===';&%====='============'=='============='===;;'===%;')&<&'==%;'============';;;=='==='====='=';%;;'''';%%'%=%''===='===,'====''''%======", -"'$'=='==========,,==,*''$,*$======='=$'=***@*'%='$**,=='=='$'')'=,$,*@@;'=$$,============'&@<&)$'';;$'========'*$=$&&==)&;',;$=='==,;;&*===='=='==========='============'=========='===;;,===';;;;#;;====='=====,;)$%=';;=='===========';==,;===%''''============''===='===='==='=", -"========'==='===*$'=$**=='%==='=====$*$=%*@&*))$,,''======$*@**$==';*,*&)'===='===========$@@);)*,'==========')&$==&&;='**==========='&&'='==='$''======'====='================'======,&&;====$#%;&;'========='';);;)=='*$%*%==========%$'='$%=='%'=;=========='==''=======,'=='==", -"========='======'*$=,**%==========';*;'==$@*%',$'========='<@&;===,;)'*;$'=========='=='=='*@'=%'%===='=====';<;'=='**%=,$%===========%*&=====;<&'========================='=========',&&&$===;;);)%'==========';''#&;==;;%$'====='====%%%==%%'=,'======'=='======''===='=='======", -"====,'%'======'==$*$*$,========='==*@)'===**'========'====')@*'====**&*$========''=========%&*=========='=='=)@)====;*$========='=='===*&$=='=)&)================='==='============*$='=;&#'=='$;;'========'==='%';;&;'===%==='======'==;$==';'=''============'===%======'=='=====", -"===',$,$'=========,,$'====='=='''==$*)====');===='=====$*$==)&;===='$$''========;$'=========;)===='=====,*,'==&&%====)%========='&;,'===&&'===='%='=='===='==='========='=========%&;%===,*;===='==='=='=========$;'%;;'=================,;==';====='======='%',===',=============", -"==',,='$$=='===========%,'===;**)$==**$====''='======'***'===**'%$'======'=='=')*)======'===='========%;**&&'=$&)='======='===='*&*&)'==$&)============'==================='====';@;'=====;#,======='%===========%;';$'%========='=======%'''%'=='======='=%'='%===='%=,==========", -"===$$==**$==============**'=',*$**$='**''=========='='*$'%===$****;===========;@@%=='========'====='==');'*@$==)&,==='======='=$&'%<&%===&;'=================='===='========'====;@#%=====';%======$;),;=========$%,;;===='=''='==========%';'%======'======'='',======='====='===", -"$'=,$$*$**===='===='====$*$='$',@@*==$*'====='$===='=;*');*$==$,),=='========='*@'============'*%==''='*);&&;'=';$=========%'==$&&&&&$===%,=='============='====='=========='$''=%&&''=='=='==='==';;'))''========%''======'''$;'===='==================''=,'%'==='========='=====", -",$''',,,'*$===='========$@*$'',****;$=''=='==$*$==,$=,******'============$);$==;**=='===='===='*&==$*'%*<@*;$;=='======='=')*;$'&<&;')%========='=,;*=='============'==,==='&&&*'=');=============';'=';$===='=============';;;'='===================='=%'==,'=='======='=========", -"=$,%=====*$============$*@@*==;*%$**$========'**%'$$=='$'=;*'========'==;***&$='**'===========',&$',,=='@&',&'='====='===$;&)&&'$@&,)&'====$,'====$<@'===============';)===*;';&;==)#'======'='$'%');==;;'==========='======;;,================,====='===,===','==============='==", -"=,$$'=%'$*$======'=='=',*=**$=,*,**$'='=======$*,$*'====%)**====='======$;'$@&%='&*=='===='===='**$;)%==;&*&*'==='======'*<;=$&)'&&&&*====)&@&====';&'======='======$&&*%=';;,&&;'=%;$=='====;);)$=;;;==*;'======'======'====,;'=='====='==='==%=='==''=='=====,==='==='==========", -"==,*'=$,*,'==========='*$==**,$,**,========'$''***@;$==';**'=='=='$=$$'=,$,*@@*'=;,=============$&@<*)$%,,$;'========%*$=$@&==*&''',;=='==$;&&$========='===========*&%==='&@[&;;,==,'======';$'%;;';;'=';'=='========='$$'%='%%===='=========='%=====%,''======='======'=========", -"'='$*=='%===='======'==**'=$@$'='%====='===,*$='*@@*|;)$$$=======$&@**$=='**,***''========'======;@<;);),'==========')&$'=&*;=%&)%=========='&&%==='='$'======='===';;'=''=;&@%';$==========';%=';;'';;=';%========='==;%',;==''%'''==========='''='==='=%=========='======'======", -"$'=*$======'===========$**=$@|'==========%)*;===;@*'=$,'========='<<@'===%*,;*;,======'=========='&@'='''===='====''*<$===$*;'=$''========='=$&)=====;<&=='======='=&[&&&&,=;&);;;======='==%);%=';,=;$%;,'===='======%'=%%;'==''%'==='==='====,'''======,=='=================='==", -"*$$*$%=====,;$''========**|*$%===='======'*@$%===**%======'======'*@*====';**&%'='======'==='=====,&*=='============;@*====;&$=========='=====;&;====;@*'===========,&@&&@&;';);$===='====''',;'==#%'';';'='=========='%'$$%%''=='==========,====='===================='==='======", -",,*,===='=*****'===='==='',*'========%'===->>>}>[$),========'=**%==**;='==',$'======'='*$'====='===;$====='====(((!('&&%====)'===='====$&;$'=='&&%=='='======'======='';';;;=='===='======%);=*;'='*%============='====='%''';'='===''===='''=====%,=========='===================", -"=='======'$,=$*;'========='=='','===$***$='.....}=%========='***'=='**''$%===========',*;==========='========%;(!((!=,&)====''======'='*&;&*===$&)============'=========='*;========='=',==;,'';;'%%'========='========'''%'''======='='=='%==='==='==============='======='======", -"======,=='*$'=@|,======='======**=='**,@*'[.....+==='=======$*$''===;**)&$========'==*@*'===='=========='====,*(!((!==&&''============$;''<&'===&)%===='=='=============;;;,===='======$;'=,;==$$%*,%=====%%========'==='';'%========''===',========='==='======'=============='==", -"===''***$=*****@*%=='==========$*$=$$=,@<|].....#==='%='=%==,*';$*'=='$)$====='======%@&''========'==$;'==,'='*(!((('=,;,======'==''==)&&&&&;===''=============='=='==='*)%======$,';;'');,;;'=='%'===='==')'============='====='==='';%==''=============='==========='===='======", -"====$*$**$'$,*,$*$=============;@|'',$*))*{.....====**'==$$=$*+]]]]:======='====$;)$==;*$======='====%*)==$;''*<&;;,%=='=========%***%,&<&$;;,======'====')$============%'=='===~(.{{~=='%;;;'=========:>{..{>;='====='============'''''='=%'==='======'====='======'=============", -"====*,='**'=====*$===='=======$*@@*==&-[--.....}===='**''*'=].......{}========>{{...((.((((((((((=====*(((((((((((!('===!!!________!&&!!(!!);'==(!((((===;((((((===='=========~{((...~====',$%==='===:{........[============'=======%==''===,===='================================", -"==='**==$*$==$'**$======'=='=%|,%,*$',+++].....}=====)*$'*#{..........~=====}(..(.(..((..(.=(((((=====%(((((!:(!((((%==!!!_!_____!_!_&!!!!(&$='=!((!(!==='((!(!(==========='={((..(.(======%%'======+...........'='====='==========''==='====='====='============'====='===='=='==", -"====$*$==**$''**$'===========,*$='**'@+]+{.....[===$%'***<{............]'$=]{.(.......(((((=({!((=====(!((((+}((!!('==!!!!_______!_!!*!!!!!;'===!!((((====!((((======'=='==;;{.({((.{'=====')%=====+....>:$-....}=============='====%''=',==============='==='====================", -"'====**'='*$='''====='======='**'=*@;#--+{.....==,$*'=$@<>...{{-$=}....{;&@...(.(.((..(.{((=((({(=====(((((}++!((!!===!!!!!_________!%!(!!!====!(!(!((%==(((!((==='========$@(({.(.({$%$;==%)'='==={...>$'==}...{==='======='========'==''========'======================'========", -"&*===$**==*$======'===========,*$=$@):::-.....>='**)===$+....{$====}....,@{..{.({>',*(((.((=(((!('===((!((('=(((!(!==!!!!!!_&;==__!_!=!!!!!====!(!(!!()==!!((!)============;+.({..(.~$%$;==='=====>...{:[)'=#....========'======'===='='=='=================='====='==============", -"@|%===$****$======;$,'==='=====****$':::+.....]='*@$===&{....]::;==+....'].....~++]++..((.[;({(((==::(((!(}+:(!(!(!'&!!!!!!++:%=__!!!/!!!!!=::(((!(!((++:((!((;===========#::++((({(>'''========%:....]::+#';....====='===============''============='===='======'===='======'====", -",$====%,$*,'='=='$****,====='=='$$*';:::>.....:==$**=,[]....>::::#=+{...:.....{::-++(.(..(:%(({((=#:((((((++:((!(!!::(!!!!-+++:'___!!:!!!!!#::!(!(!(!(++!(((('========'==::::++.(..(======='===;:>....+:::+'[.{..=========''======='======='=='=============='==========='===='===", -"========%'======%*$=$*$=========='==#:+:{.....@$='**,::>....]:::::;>...{:.....{+:::-(.((((:$(((((=::((((![:+:!(!(~::(((!!!!!______!!!:!!!!![-!(((!(!((+]((!{!===='=='===;:::::+(.(.{==========;::....][+::+#:....==========,='==='====================='==========================", -"==$*$========%=='*,='@*$============#+++.....{**%='*-::....{=%::::[>...{~.....+++:::((.(.(:;(((((#:(((((=:::((!(!(:^!(((!!!!_______!_:!!!!!:+(!(((((!(:((!((============[:#:::-.(.(~==='======:++....['[:+::-...}===='=',=='=========='======='=='================='==============", -"='*@$======%**$$=*****@*='==========::+].....>@@*==&++:....>,=#::::....{{....(*$::::..(.((+%.((((:((((!(%:::(((!((+:((!!!!_________!!:_!!!!:!(((!(!(((:(((((==='========#'=:::((.(.>===='%'$%;+:~....'=;+:::}...}==='===%'=%========================'========='==========='===='==", -"==$*$==='==$*$*)$'$$*$;*,===='=='==':-]>.....+*@*$;[+:}....+*';:++>....{.....>==:::(.((..:+%(.(((:(((((=#:::!((!(!}+(!(!(!(_!_____!_::!!!!(}!(((+!(!(!(((!(====='$'=======%::-({({(=====$),;'::+{...>===::::....[==''%'===''''==='===='=='====================='====='============", -"'====='==='*,=$**=='===*$==========;:++{.....<'$*);:::}....#*;;+++{....+....(>=%:::(.(..(]+:(((.((((((!=/:::(((!(++!!!!!!#&[^+^+=1^:::!!(!!((!(!+!(((((((((=====$@;=='====1:::(.(.{=====;;;'%:::{...>==;:::+..{.,=,==''====='====================='====='=='============'=========", -"=========='**==,*$'=''**$='========#-]+......*;*;,#+::]....=**[:+>....{}.....>=#::-(.((.(+]-((((.(((((==:::!(!(((+}((!(!!+-::::[=;::::!!!(!!(((+:((!((!(!(&$====')$=======[:::(.(({==='==;',[:::{...+==%:::>...}='',===,=================='==='====='============'========='======", -"=='========$*$==**'%$**,'======='==:+++.....>)**$=[:::}....''*-]+{....{+...(.~=:+~(..(.(.+]+((((((.!((=':::((((!(}+(((!(!}:::::%=;_++-!!!((!(!(+:(((!(((!(;;,==========='=:::({.(.~$%$'===$%:::[>...}==;::+....;=''=='''='=='====='==================================='========'==", -"=======,==='**'=$*$='%'====='=====':++>.....+=''==::}:+....&=)+]>.....++...{..........((]++-.((.((((!==%::^((!(((}}(!(!!!!:::::'__!+]+!!(!(!!((:[!(((!((((';)======'%====':::.(({(,;)$%====#+:++>...>==#::{...>''=%'========='======'====='==='====='============='========'======", -"======$**===$*$==*,===============;::+{.............{:[....{:%+]{....{::{(..((.....((((.++-+((((((((===#:::((((((]:(!(!(!!!_______+++:!!!!(!!(}:[!((((!!(==';,==='=)&%===%:::((.(.';;'==={>{{>+[}....[=::{...{%=%=='''%'==='===='======'==============='==='=='===================", -"$$',==$@|%===*****$==='=%$$$%=====#:-+..............>:'{............{:::>...........(.((+]++(.(.((((==':::^(!!!(}+}:!!!!_!!_______]}++!!!!(!(!::/((!(((!(===;*%====$)'===#:::.{(({='$'===....>:#:{...{}>.....:===,===,============================================'===============", -"****'='$'===='$$*,======*****=='==[:::........{.....>-=[...........>::::%}~(..(.(}..((.{:++<(((((((='*;:::(((((!++:#!!!(!!________-++^!(!!!!(^::[((!((!('==='$;=====%====:::(((.(~=='$%=>(...::;=>..........-,==='=''==='============'========='====='==='============='===='=='==", -"$'$*$==========='======'*,=$*$====:::+..............++$'@>.......}:::::}#=')&-+::(..({([:::+(.(((((%)*[:::!(!!((:::;!!!!!!!______;:++}!!!(!!!:::+!((((((;,===,$%=========:[:.({(.~==='''>...{::#==}.......>;==,=='=========='============='========================'==============", -"$'=*$'===|*%======'='==$*,=$@*'==%::::}+[-[&-+++[]>]++@'=$|->>>+:==::::{>:--+:::{.(...(&:::::(((((=*@)#::::(((!(::::;==!!!______&#::]++!!!!![:::2:(!(!('&)====;'='======;:::({{{~>===%''>}}~~::['==[}{{{>+%'='''================='==========='==='=========='============'========", -"*$***$%=%|@$=='==='**$$=**)*@@*==[::::::-:::-++:')+:+]+&==*-+:::;=$::::....{.(.(....(({%::::+::%===$@&[::::===%::::++:::-:-+-%$&;[::++++['==#::::+:[;;$;;$%===='===='===#::::=======&#[/;==%::++$'==#:+::='====',==='========'========'============================'==============", -",**$,*$==$$$======**$**'$,$*'**$=[:[::[::::::+]<'':+++]++++-:::#==*@+:~...........((.(';::::::#;$,==*&+::::====:::::++::-+:++@&,,#:::^::====%::++}:'';&;''''============+-::#=======::::'==,:::::##:::::%==,============'=================='======='=='======='======='======'====", -"'*,'=*,'======'=='*$=,*$'='===*$=::::::::::++++<$';+++++++:::[%===,*[[{............((~=%:::::-**&*'=,<+:::[====1:::++++:++::&&)'$@:::::1====;:++:+:;=$;%';,=='==',==='=%++::;======;:::[==='#::::+:::::;,='========='========'==='====='================'================'===='===", -"=**%$*$==========%*,==**$==$%**'=:::::::[::-+++|*',&-++++::[1='===')*'${...(......({>==%:::::&$')<&==[]+::[=====[:::++++++:['*);&#:::::'====%++}+:;;'');;;'====$,;'====#:+::%='====1:::[=%''=#::::+::['='=%=='==='============================'============'========'=============", -"$'**)*'======='===**$='**%',**,,='%;%%;%;%;&@#''**'$)*@#%;======%'[$**&<,>>>{(.((~====',%##;;',;*<@$'=@#;%;=======%;%@[<-[&'''$,;=;;;%;===%;%%&[#%=)$'='''=====''$$====';%%;=======%%%%'=',==='%#[[;'==============='==='===='==='====='======='=============='=========='========", -"$=''$'=='====='==='**==$*$==''=============;*,==**,''''===='==='$*+:++++--:++++::%====;@@#*'=%'*),&&,'================&@&,$,;''==========',;'='$,==%,'==='===='=='$'=======%=============''%=======''==============================='=============='====='======='============='==", -"$'===========,**===$*$==*$========='========**$'*@)==========='**&:--+++:+++::::[=='==;@<;%===$*%,|;''========'======='**'=%'%==========%;)'===,*''=',============'$,====='$%==='===='====''','=========='==='========================='=='===='===='=============================", -"$======$$'%==*@|====*****'=====,;$,========='****$'=='=='=====%@@#:::+++-:::::::======;&@)====$)&&*'======'=='==='==='=))'======'==='===,;&%====;$====='==='======='%='===%,============='=''========='=============='==='========'===================='======='=========='=='====", -"''=='=,****,='$%====',**$=='==',****='=='===='$;$%========',===**,[::-]+::::::#===';*'='**,===='$$%=='====='*;==========;$=========',%'=='),'===',%========='',%===%'%===='======'=========''================='============='=================='=========='======'=='=============", -"====='$$'$*$=====%===='=======%*,=;*,======'==='===%'====***;'='**==%%;#%;%;=====,**;===$*;=,,'===========%)*'=============='=====%$)$)$==$%'======='======'$','''=='$====='========'=======%,='=='======='======'============='==========='========='======='========='==========", -"====='*$==*$'=='$*%========,==$*$=$<*%=============$**==,*;)**'=$*)==========='==$*$='===)&*&*'========='';@)%===='===============',%');=='$$'=============''=,;'====%''====='======='==='==========================='================='======================================'===", -"=**$$=**,***$'=,*@)======;**$,'****@@;=='===========**'=;,=$<@$=';*'====%%'==='='*)$**$'==$;)$==='=='=====$@;=='======'==',$===%==$)';;*'==',==========='==;$''$'============================'======'==='======'========='==='======='=========='=='======='========='===='=======", -",****',,**,$*$==$$'==='='$)$**=,$,*'**'===='========&@*''$;*)@*$''%='====**'='$%=;****&*'============$;$'==;*'============$,$==$$=';**''%'======'====''$,'=';;''',=============''================================'==='==========='====='========================='================", -"$,='**=$*$='*$'====='==='*,=,*$'='=='*$======='===,**<*$==**';*$$========$*$='*'='',''*,===========';****'=$);=============);=,''==$;$''$====='======''''$'=$$'=''=====''==='=%''===='======='==='===='===='==============================='==========='================'======'==", -"**==$*$'**'$*,=========='*$==**$==''**'========'=='*$'**''$;$*;,====='====**$$)====='**;'====='=====;$=*&*==)*%=='=='======%)$';%===;,$;$'======='=='$$%=''''''%,'=='=''%======%======'=='==========================='==='======='====='===='================'==='========'=======", -"$*$==**',****'===========**$='**''$**$'====='=====$*'=$**'$***'========'$'$**&@;'%=%**$'==='=$'=;$=,$';*@&%=%$'========='===,$;*$'%=,'''=========''==$%%='%'=%'''=====''',======='============================================'================'===='================'============", -"'**%='*$=%',,===='===%==='**==$*$=%'%=='==========,*$'=*@,='',========'$*'=;@@*)*)$,$'=======;@@*;'==$;;,**$='===============)&;;$$,'='==='====='%$=='',=='''============'%=============='===='==='===='==='===='========='============'========'========'======='=========='=====", -"=$)$==*,'======'====$*$===$*$='*$========='========**''*<)======='===%**$=='*<,''$,'=========;@@$'===$)%;;,'==='===='========'),==''==========='$$'==='$===,========='==='======='%========='================='======='==========='=========='========'========================'==", -"==**$**$===='=,,'%='|@$%=='**,**'====='*$,========='****,'==='=======,@@%===,**============,='&&$====$;);)'=============='====$$'==='========'==';=====';====='=='========,''=='=='===================='=================='====================='==========='===='================", -"=='$**,'=====$****=='$'===='$**$=====%****;==='=====$,)$'========'%===*@,====);%===='=='=';$'''**'====',$'======='';'='=======''%========='''==='$'='==='==========='=='==='========'====='========'========'===='=='==================='=='======='======'=========='==='========", -"===='%======'*,'$*$====='===='===='=='*$=|*$====='====%==='$=='=)*|*%='*&====='='======='**,'==$);=''%====='====='$*'=================='==,$'$%=='$======='======'=',''====='========'========='========'=================='=='======================='=========='========='======", -"'======'===='*$='*$'==,**'===========$*'=,<*'============''*$==$*,,**==,*$='============$*$='===;*)*$'========'==$*,======'=========='==='''=)'=''''=============='===''====='==='======'===='==================================='=='============'==========='========='======='==", -"&======'$*$$=**,***$=='*@;==='==$**)''****@@$====='========**'',$'$@@$='*;'===='$%='=%=';$';$%'='$$$'=='=========$;$======='==='=,'======'$'$$''=='%=='====='=====%'%',=='====================='========'===='========================================'=========='========='======", -",='====$****'$$**$**$==*,'=====%**$**',$,*'**''======='==='*@*=$'***@*$'',=====');=='$'=**)*)*$=============$,'%='$;=='=========='$%==$'=%$,%%'%============='='===',=='=============='============'============'===='========='======'======='====='[[%'==========='=============", -"======'*$='**='*$='*$=========='*$=;*,'='==$*'===='======%**@*$==*;'*&$'====='==$*$=')=='%,'';$===='===='==$;$),=='$$=============$'='%===';'=''========'====',=',=='===='==='==========='====='================='====='==='==========='=='=========#%='='=';=====================", -"======%*$==$*$'**',*,====='====$*,==**%==''**'===========$*$%**'%*$;*,$========='**'$;=====%);'==========='$'=;*$==$$'======'====='$''''===''','='==========,'==='=%''%'========='======================='===='==================='=================/'%'===/%%===='========='=='==", -"==='===**$='**',****''====='====**'='**=$$**$============,*'=,*)';***'==='===='$=,****$,==,;)$,=====,'='%='%'$$&;'='''='====='====='$$$,%'=,%''====='====,=='%==='==========='===='============'==='======'======'====='==='=============='======'==1'===='[='========'===========", -"======='**'=,*$=%$'%========'===$**==$*$='%'======='=====$*,'=<*'='%'========%$;'=;@@*,*),'$'=======$**)$===$,$')$'============'====$,,''''=============''===',==''======='==============='==========='============='=========='=============='======'''=='1=,==========='========", -"==$**===$*;==*$======='==='$*$===$*$=,*$====='======'=====**''*@*========='='**$==%*@''%'''====='===;&*$====';='$'%====='==========='$'======'======'='%''===='=============='======='===================='================'========='===='========'==''===='='===================", -"==$@*'===**$**,======,,'===*@$==='**$*,'====='*$$======'==$****$'==='=======$@*'===,*;==============,*;'====$$),;===='==============='%========='======''=====%===='=='============'===='======='==='============='==============='==========================='''======'====='====", -"'='$;====',**$'===='$****'=$$'====,$**;====='****)=========$$;$='====='=''===**,====;,'========='$$'=')$''===''''========%',===='===='',=========='====='=='=========================================================='===='=============='=========;111;='==%[1==='====='===='===", -"'========='''=='==='*$';*'=====%===='===='==$*'=**%=========='==='%==='*;*$'=$;;====,=='=='====%$,$===$,'='%======'=====''$========='===='===='=='%,=,==%,===================='=='===='===='=='============'=='==============='======='======='====;/1;%1%===1;''=================", -",====$$%========='='*$='*,'==,*$%====='='===,*'=;<*='============$*$==,*$$*$==$*,==========='==$;'=====;$$$$============$$'=='==================='==''==='====='======'========================='========================================='===='==%[1%;1;1;%=';%==='==============", -"====%*@$======'),,$'**$***,=='@|$======$**$'$****@@,===='========'**'=$,';@*$=';)='====$======'$'';$'=='''$'='=========='$'====='========'='====,='='='====='====='======'==========================='=='=============='===='==='=='==============;/11%1%11%=============='===='==", -",====$*$=='=='$****',$**$**$==,,'====='**$**=$$*$'**%======'======*@$'''$;**)'=%'====='$$=='$=',$;,$)%========'====,',==''$=========='==,'==='===''%='===================='======='===='========='============='=='===============================%111111111;==='=================", -"'='===,=======*$=$*$=,*,='*$==,=='===='*'=$*$'='==$*'='======='='**@*'=%*$';*$'========$;'=%$==''''=,'============$''$'==%'%=============''==,===%'=='================='====='============'================'========='====================='======1111111;111==[/;=='=='==========", -"'============%)$==**$'**'$*$==========$*$'=**'=''$*$'===========$*,%**'';$$;$'====='==='*$',$====='$$%='======='='%'=$;'==''='==='========%=='====='=,=='====='===='============================='======================'============'========'====1111111111'=/1;========='======", -";========'====**$='**=*$***'===========**'=$*$='$**$====='======$;==$;$'$,*$'==='====%'='$,;$''==%$$'======%==''==''',,'=,='=========='===,'%'='================='========='==='==='===='==='======='=='==========='========'==='=='===='===========;11/111111='%=============='==", -"$========='==='**==,*$'''$======='=%===,*$==**$=','======='=====$*$='**'=''==========,;'=$**;,,$''''===='==$$$'%===%''%$''========='=======',''=,=,======='========'================'======================='=='========'====================='=======////[/1%========='==='======", -"====='===,*$===;*$==*$======'=====**$===&*$=$*'======='======'=='*;'%**$====='=====,;$'=='$*'='''==========,;$'====,'=''%=='==='============'======='=========='=================================='======'===================='======='===='==========2/[/1/['=='=='==============", -"='='*;$==|@*%=='**$**;======,$'=='|@;===')*,*$%===='';,'========='*$*$'''==========,*,%===,$''====='======='),''==='''',=============='======'========'===='========'=='======='===='======='=================='========'======================='=====2//[//[;============='======", -"==$****=='$$====$,**,==='==*****=='$'====$$)*,=='=='****$========='$),====='===%====)$'====$,==='=======$'===$'=====,''======'===%======='==='=============================='============'====='====='============='======='====='====================://///1'================='==", -"=$**,$*'=========%''======'*$=**%==='======'=======$*''**%==='==========%'====$$$$'=',$===='=========''$',==='',==%=============,'=============='=========='============'============'===================='===='======================='========;11;1^2/2////%====='=='===='======", -"=''==$$=====$$'===========;*'=$*$==='*;'========'==$*==)@;======'=======$$'==$,,$$$==$$''============='''=====$'$''======'=====''=='==='==============='========================'============'========='================='========='========='=1:^2^:2^2/22/1===='================", -"=====,$,==='|@$===='=%**$''**$***$==$@*%=='===$*;$'$**$*@*$============='$)==,$=,*;'='$'==='==,======'%'%'%'===='''=='=========='========'========'========='==='=='===='============'==========='================='========='==========='====1:^^2222222/221=====================", -"=====*)=='==**'====='$*$**'$,*),**'='$*'=====%**,*,=$,*,'*;==='====='====**$=''$,*$$'=''====='$'=''%=='$'$'%'==============,=='='%==========='======='======================'============'=========='======'===='====='========='=============1^^^^^2222^221'=========='===='=='==", -"='===,*'====='='===='),=,*,',*,='*$======='==,,'=)),==%==$)'===='======';,);'=','=,,%=========,''=''===='=='''======='===''=''====='====='=================='======'===='======='===='==============================================='==='====#^^^^^^^^^22/;=='===='==============", -"'====,)'============'),==))''),',)'==========,*,==*)'==''),============',,',,=',,,,''==========$'=''=====''''==='=======''==''==='=============='======='=================================='=='==='====='==========='====='==='===============;^^2222222/1%'====='======='========", -")===='),='======='===))'='))=)))),'===========))'='),'',%,$====='==='==,,==,,''',,,===='=='=='=',',$='=='''==============%=='''=========='======='============'========='============'=============='======='========='=========='============'[222222^/1;========='==============", -"),====,,==='=========,))==%),='',======'=='===,,,==%)'=','=============,,'=')%=='=========='''==,,',''''=''=======''''====''==''===='======='======================='======'====='======'======='==============='==========='============='===='/22222[1'===='========'======'====", -"$)%=============,),===$$,='$,======'=====))'===$$'=','================='',=',$'===========',,'===,,===='===='=====''''====='=='=================='=='========================'======================'==='==='========='==========='=='===========1[111%=================='===='===", -"'$,======='$$'==$|$====$)'$$'======,,'=='$*,==='$,,$,======',''=='======','','====='======'''===='''=='========'=='''=====''='==='========'============='=='==='=='======'============'====='============================'=============='=========================================", -"='%======,$$;$==,%'====',$$''='=='$$$$$=='''====,''$'====='',','===='====''''========='====,%=====''===='======'====='======================'======='========================'=========='==================='==='========================='=============='==='====='==============", -"========'$$'$$'=='======'''======'''=$$'=========='=======''''',==============='=====''''=='''====='==========''===='=='============'=='=============================='=========='==================='================='====='========'========================='========='=======", -"==='====''==''===='','==========='$'='''===',%========'==='''=',,=============='''==''''''==''================'======'=''===='================='===='======'================='===='====='===='========='========'============='==='=================================='======='====", -"===='======='''===',*'======','''',''$,''==')$'======','''''''',,'============='''=='=='''=='''==========='=='='='=============='======================='====='===='======================='===='============'====='======'=======================================================", -"===='$====='',===='','======,,',,='',,',,'==''======'''','='''''''==============''''=''''''==========''==='==='='='============================================'============================================================================'====='===============================", -"==='$,'=====',=============','=',''=,'='''=========='''=''==='==''==='===='==='''''=======''========='============'==================================================='=================================='==========================================='==='========================", -"===',','===='''============'''==',='''=',===========''=='''===='''============='==''=''=''============''='============================='==='======='============================================='================================================================================", -"==================================================================================================================================================================================================================================================================================", -"==================================================================================================================================================================================================================================================================================", -"==================================================================================================================================================================================================================================================================================", -"==================================================================================================================================================================================================================================================================================", -"==================================================================================================================================================================================================================================================================================", -"==================================================================================================================================================================================================================================================================================", -"==================================================================================================================================================================================================================================================================================", -"==================================================================================================================================================================================================================================================================================", -"==================================================================================================================================================================================================================================================================================", -"==================================================================================================================================================================================================================================================================================", -"==================================================================================================================================================================================================================================================================================", -"==================================================================================================================================================================================================================================================================================", -"==================================================================================================================================================================================================================================================================================", -"=================================================================================================================================================================================================================================================================================="}; +". c #020204", +"+ c #8D8E8C", +"@ c #8ECEAC", +"# c #E0D2C6", +"$ c #565654", +"% c #AAAAA5", +"& c #DFEFE6", +"* c #C6C6C4", +"= c #3A3A3C", +"- c #E2DEDC", +"; c #B2BABC", +"> c #727274", +", c #1E1E1C", +"' c #95A09A", +") c #FEFEFC", +"! c #8AC2B4", +"~ c #B9DED0", +"{ c #D6C2B4", +"] c #A8D0C4", +"))))))))))))))))))))))))))))))))))))))))))))))&&&&&))&&))))))))))))))~~]~~&&&&~&&)))))))))~&&&]]&)&~~)&&~)))))&~~]~&))))))))))))))))))))&]&&))~]~~~&]]&&&&)))))&)~~&-]~)))))&))))))))))))))~~&)))~~]~-]&)&&)))))))))))))))))))))))))))))))))&&~]&)))))))))))))))))))))))))))&~-&))", +")))))))))))))))))))))))))))))))))))))))&&&&))))&)&&&&))))))))))))))))&~]~&~&&&))))))))))&~~~))&]~))~]&)))))))))))-]&)))))&&~))))))))))))-]&))&-]~]-)&~~))))))&~~-~&))~~&)))&]&))))))))))))-]]]&)))&&&~]-))))))))))))))))))))))))))))))))))))-]]-)))))))))))))))&-&)))))))))))&-~&-", +"))))))))))))))))))))))))))))))))))))))&&&)))))&&)&&&))))))))))))))))))&~&))&&&))))))))))~@]&)))~]&)&&&)))))))))))&~]&))))~];&)))))))))))&!!]]]~~-]~&)&&)))))~]~~)&))~]]~&)&]!~))))))&&&&&)&~]]-))))&-@~&))))))))))))))))))))))))))))))))))))&!]&))))))))))))))&~~~~&)))))))))))--&", +")))))))))))))))))))))))))))))))))))))))&&)))))&&&&&)))))))))))))))))))&~~&))))))))))))))&]]&)))&]~))))))))))))))))-]~))))&]]&))))))))))))~;]!;]]&~]&))))))&]]!-&))))&--]]))-~-)))))&!]~]~-&)&]]&)))-]-&))))))))))))))))))))))))))))))))&~-&))-]-))))))))))&)))~#&-~&))))))))))))))", +"))&)))&)))&)))&)))&)))&)))&)))&)))&)))))&&)))))&)&)))))))&)&~&)))&)))))&&&))))))))&&~~&))~~-))))&~&))))))))&~~~&)))~]&&)))&))))&))&))&)))&&&&&~--)&&)))))&]]];~))))))))]-&)&))))&))~!--&]~&))-]~&))&&))))&)))&)))&)))&)))&)))&)))&))))&]]]{&)&]]&))&)))&)~~-)&~-)&--))&)))))))))))", +"))))))))))))))))))))))))))))))))))&&&)))&&))&&))))))&)))))&&&&))))))))))))))))&)))&]~~~&)&]~&)))))))))&))))~]~]]&))&]]&))))))))))))))))))))))&~~&))))))~#&&-)~]-))))&&-]~))))))))))-]]))~]-)))#]-)))))))))))))))))))))))))))))))))&)))-]-&!]))&]~)))))))-~-&))-~-~~~&))&))))))&)))", +")))))))))))))))))))))))))))))))))&)))))))&&&&&)))))))))))&~]&)))))))&)))&)))))))))~~&~!~))&]~)))))))))))))&~&&~!&)))&~&)))))))))))))))))))))&]]~)))))&]~]&)))-]]&)))&~]~-)))))))))))~]-)&~]&))&~&))))))))))))))))))))))))))))))))))&&&-]-]{~-))--&))))))-~&-&&&-~#--~&)))))))))))&", +")))))))))&)))))))&)))))))&)))))))&)&&&&)))&&&)))))))))))))&~&))))))))))))&&~)))&&&~]~~]~&))~&))))))))))&&)&]~]]]&&)))-))))))))))))))))))))))~--&))))&]]~&)))))-]~)))&--&))))))))))))&]]&)-]&)))&)))))))))&))))))&)))))))&)))))))))&~]&-!]]~--&))&)))))))-]~~-&))~&)&~-)))&))))))))", +")))&))))))))&)))))))&))))))))&)))&&&&)&&))))))))))))&~&&&)&~~)))&)))))))))~]&)&~&)&@]~&~&&))&))))))&)&~~~~)]]]~&~&)))))))))&))~~&))))&))))))&&))))))-]]))))))))]]&))))))))))&))))))))-]-&-~&))))))))))))))))&))))))&))))))&))&))&))-]-)]]#&~~)))))))))))-;]#&))&-~&&-&))))))))))))", +"))))&)))))))))))))))))))))&)))&))))&))&&))))))))))))&~&~~))&~~))))))))))))~~~)&&&))]@~-~~))))))&))))&~~&]~&&]~&~]&))))&~&))))&]!~))))))))))))))))&~~&~]--]&))))-]~))))))))))))))))))))]~~]-)))))))))&))))))))))))))))))))&~~)))-~~))]-)&#]~~-&))))&~~~~)&#]-))))----~&))))))&)))))", +"))))))))))))))))))))))))))&&)&))))))&&&))))))&)))&)&&&&~~~))~~)))))&)))))))~~~~~)&)&~~]]-)))))))))&)~@]&&]]&~~~]~&)))~~!]&))))~]&)))))))))))))))))~]-&]!]]-)))))-&))))))&))))))&))))))-]]]-)))))))))))))))))))))))))))))))~-&)))]{~-~-))&---))))))-~-~--)&~~&))))&&-&)))))))))))))", +")))))&))))))))&))))))&)))))&&&&&)))&&&&))))))&)&&&)&&&~~]~&&&&&))))))&)))))&~]@]~&&&&&&&)))&)))))~&&&]]&)&~-&&&&&))))&~~]~))))&))))))))&))))))&]~&&]~&~]]&))&)))))))))))))~&)))))))))))-~&))))))&)))))&)))))))))))))&)))))-~~)))&-~]]-&)))&))))))&&-)&~&))&~-))))))))))))))))&))))", +"))))))))&)))))))))&))))&&))&&&&&&&&&&)))&)))&&]&&~)))&~&&~~&))))))))))))))))&]@]&~~~&))))))))))&~~&&)~~-))~~&)))))))))))~]&))))))~&)))))))))))&]!]&]]-&]]&)~~&))))&)&~)))~]])))))))))))))))))))))))))))))))&)))&)))))))))&~];-))))--]~))))))))&&)&&&)&#~&))-~&))))))))&&))))))))))", +"))))))))))&)))))))))))&&))))&&)))&)))))))))))~~~&)))&~&&~~&&)&)))))))))))))))~]-&)&&&))))))))))~@]&)))]]&)&-&)))))))))))&]]&))))&!]&))))))&))))~!;]]!]&-]]]~]&)))))~]~&))~;~&))))))))))))))&)))))))))))))))))))))))))))&)&--]]&)))))--&)))))&~~~-&)))-~-~&)&~-)))))))&-~-~))))))))", +"))))))))))))))))))))))&)))))&&&))))))))))))))~~~&))))~~~~&)))))))))&)))&)))))&~~)))))))))))))))&]]))))&]~))))))))))))))))&]~))))~]]&)))))))))))&]]~-!!])]]]~&)))))~~]-))))&&)))&)))))))))))))))))&)))))&))))))))))))))&]&)))-]#))))))&))))))-~--~-))))&&--)))&)))))))&&&-&&))))&))", +")))))))))))))&))))))))&&)))))&&))))))))))&~&))&~&)))))&&~))))))))&&~&)))))&)))~&&)))))))))~~&~))~]&))))~&))))))&))&~~~&)))~]~))))&)))&))))))))))-]~&~;]-&-&&)))))&~-&))))))))&)))))&)))))))))))))))))))))))))))&~&)&)&-]&))))~]-)))))))))))&~-))~~-)))))~-))))))~-&)&-&))-&)))))))", +"))&)))))))))))))&)&)))&&&))))))))))))&))-&~&)))~~&&&&))))))))))&&&~]&))))))))))&))))&))&)&~]~]&)&~]))))))))))))))&~]~]]&))&~~&))))))))))&))))))))~]-&&~&&)))))~~)&-]-&-~&))&]]&))&))))&)))))&))))))&))))))&))))&]]))-]!-))))))]~&)))))))))))~--)&-~))&--~&)))))&&-)))-~&&-&&))))))", +")))))))&))))))))&)&&&))&-))))))))))))))&~&&)&))&&~]~~))))&))))))&]]&))))))))))))))))))))&~~&~]~))~~~))))))&))))))&]&&]]&)))~~&))))))))))))&))))))&]]&)&)))))&]~]&)~!!!!!]-)&]!~))))))))))))))))))))))))))))&))))-]~))]!-))))))&-)))))&))))&&&~-))-~-)&&&-&)))))&-)&&)&&--&&-&)))))", +"))))&)))))&&)))&))&&&)))~))))))-&))))))&&&&&~&))&&&~)))))))))))))]@&))))))))))))&~&))&&)&~~~~]~&)&~&&)))))))))&))&~]~]]-&)))&&))))))))))))))))))))&~&)))))))-!~&))&&]]~]!~))--&))))))))))&)))))&)))))))&)))))))&]!!&)&]~&)))))))))))))))))--)-~&))~-&))&)))))))~~-~-))&&&))&&)))))", +")))))))))))&&))))&-&&&&))-)))))&~&))&~)&~~~~&~&))))))))))))~~~~&)&~~)&)))&))&))))~~&)&~&)~@!]&&-))))))))))))&]~~~)]]!&&~&)))))))))&))~~&)))&)))))))-)))))&&&-]~)&&&))&))]~&)))))))))))))))))))))))))))))))))))&~{]{]))-]-))))))))))))))-))-~)&~-&&-&)))))))&)))-~~&))))&-&&&&)))))", +"))))))))))&)&&))&&))&&&)))))&)))&-&)&&))&&&)~~&)))))))))))&~~~~~))~~&))))))))))))~~~)&~&)&~]&&]&)))))))&)))&~]-]]&&]]&~~&))))&~&))))&;@-)))))))))))))))))&~~&~]{]--)))&~]-))))))))))&)))))))))))))&)))))))))))&]&)~]-)&~]&)))))&)~~-~)&~&&&-))&~-~-&)))))&&--&)&---))))&&&-&))))))", +"))))))))))&))&&)&&&&&)&)))))))))&&~&&&))))&&~~&)))))))&)))&~&&@]~)&]~&))))))))))))~~~-~)))~]]]~~)))))))))&)~]]&&~~&~~~]~&)))&]!]&)))&~~&))))&)))))))))))))~]&-]!]~)))&]~~&)))))))&))))))))&)))))))))))))))))))-]-)&]~&)&-&))))))&~-~~-&-~-~&-&)&&&-)))&))&-&--&)&&~))))))&&&))&)))", +"))))&))))&&))&&))&&&&)))))))))&&)&~~~~&&)&&~~&))&))&~&&~&)~&&~]@~&)~&)))))))))&)))&~]@]~&&&&&~&)))))&))&~&&~]]))~]-&&-&&))))&&~]~))))&)))))))))))))))~~&))&]~)~]~&)))&-&&))))&))))))))))))))))&))))))))))&))))&~]&)]]-))&))&))))-~&)~~&))--~-&-))))))))))~&))-&))&-&))))))))))))))", +")))))))))&&))&-&)))))))))))))&&~)&&]~~&&&&&&)))))))&~]~~&)))~~&~~~&))&)))&)))))))))&]!~~~~&&))))))))))&&]&))~]&))~~&))))))))&))~]&)))))&&&)))&)))&)))&]~)))--&)]]-)))))))))))))))))))&))))))))))))&&)&)))))))))-~-&-]-&)))))))))~-&)&~-))&-&)&&)))))))&))&&))&&)))&-&)))))))))))))", +"))))))))))&&))&&&))))))&))))~&~)))&]~)&&~&&))))))))&@@@&)))&~~&~~&&)))))))))))))))))~]&))&&&))))))))))~!~&))&]]&)&&&))))))&))))&]~&))))~!]&)))))))))))~]-&&~]&)-~~))))))))))))))))))))))))))))))&]!]&)))))))))))]-]~-)))))))))))&--))-~-)&-&)))))))&~-&-))))&-)))))&&))))))~&&))))", +"))))))))))&&&&&&))))))))))))&~&&)))&~~))))))))))))))~]]&))))~~~~&&))))))))&)))))))))&]]))))))))&))))))~]]))))&]~))))))))))))))))-]~))))&]~&)))))))))))&~]~-&]-))~-&))))))&))))))))))))))))&)))))-~]]~)))))))))))&--&)))))))))))))-~-)&~&&&&&))))&))&-&&&&))))&)))))&)))))))&)&&&))", +")))&)))))))&&&&)))))))))&)))&~~))))&&&)))))))&))~~&))&]~))))&&~&)))))))))~~&)))))&)))&~&)))))))))~~&&)&~]&))))&-))))))&))&]~&&)))]]&))))&))))))))))))))&&]~-]&)))&)))))))))))&)))&))))&))))))))))&)]]&))))&))))))))))))))))))))))&~-&)-~))&))))))))~&))--&))&&)&&))))))))))))))&&)", +"&&))))&))))))))))&&)))&&~&~))&~~))))&&)))))))))~~~~)))~~&&&&))))))))&))&~~~&)&))))))))&)))))))))~]~]]&)&~]))))))))))))))&~]~]]&))&]~))))))))))&))))))))))~~]!~&)))))&))))))))))))))))))))))&)))))))&]~&)))))))))))&))))&)))&))))))&~&&--)))))))))))--&)&&&))&&-&-)))))&))))))))&&)", +"&&)))))))))))))))&~)))~&~&~&))~~&)))))))))&)))&~~)&)))~~~]~~))))&))))))&@~&))))))))))))))))&))))~~)~]&))~]-))))))&))))))&~&&]]&)))~~&)))))))))))))))))))))&];-)))))))))))&))))))))))))))))))))))))))-]-))))))))))))))&))&))))))))))-&-~&))))&))))&)&&&))&-&)-~&&)))))))))&))))))&&", +"&&&))))))))))))))&&~)&&&&~]~&)&~&)))))&~))))&)&~&~~~~))&&~&&))))))))))))~]&))))))))))))&~&))&&&&~~~]]~&))~~)))))))))&-))&~]]]]-&))&&)))))&)))))))&))))))))))&))))))))))))))))))))&))))))))))))~&-&)))~]&)))&))))))))&~~~~&)))))))))&)&)))))))))))&&)&-&))&-))&))))&)))))&&&)))))))", +")&&&)))))))))&)))&~~&)&&&~~~~&)&&)))&)&~&))~&)~~~~~~~&))))))))))))~~~~&)~~~))))))))))))&~]))&~&)~!]]-&~)))&))))))))&~~~&&]]]&&~&)))))))))))&~~))))))))))))))))))))))&))))))))&))))))&))))))))~]]~~&))-~~))))))))))))&];#~&)))&))))))))))))))))&)&-&))&-)&&&))))))&&))))&&))))))))&", +"))&&))))&)))))))&&~~&&)&~&&~~&&))))))))]~&&&~))&&~)&~&)))))))))))&~~~~&))~~~))&)))&)))))~~~&&~))&]]&&]&))))))&))))&~]-]]&~]~-~~&))))#~&))))&!;~)))))))))))))))&)))))))))))))))))))))))~~))))&~-&]]-)))~~&)))&))&)))))~~~))))))))))))))))&~&&)&&&&&&))&&&-&&))))))&&)))))&)&))))))&", +")&&&))))))))))))-&&~&~)&~&~&&&)))))))))&~~&~&))))&~~~&)))))))&)))&~&&@]&)&~~)))))))))))))~~&~~&))~~]~]&)))))))))&&~@~&&]~)~]]]~&)))~~!]))))&~~&))))&)))))))))))))))))))&))))))))))))))~~&)))&-&-]!]&))&-&)))))))))&))&-~-)))))))&)))))&&--&~&&&&--&&))&&&&)))))))&&))&)&&)&&))))))", +"&&-))))))&)))))&~&))&~&&&~~&)))&)))))&~)~~~]~&&)&&~~&))))&&&&&~&)&~&~]@~&)&&&))))))))))))&]]@]~&&&-&~&))))))))&~-)&]]))~]-&&&&)))))&~]]~)))))))))))))))&)))))))))&))))))))&))))))))))))~-&))&&-~~-]~-)))))))))))&~&-&)&-~))&)))))))))))&&))--&))&&&-&&))))))&)))))&)))))&-))&)))&)", +")&))&)))))))))))&~&)&~~))&&)))))))&)~~&)&~@@~~~&~&~)))))))~~]~]&))&~~~~]~&)&))))))))))))))~@]~~~~&&))))))))))&~]&))]]-)&~]))))))))))))]]&)))))&~&)))))))))&)))))))))))))))))))&)))))))&]]~))))&~&-]-&))))))))))&-~-~~))&~&~-&)))))&))))&-))&&&))&&)&&))))))))))))&&))))))))&-)))))", +"))))))))))))&)))&~~)~~~&))))))))))&~~~&))&]~&&&&&))))&))))&@@]&)))&~&&~~&&))))&))))&)))))))~]&))&&))))))&)))&~!~&))&~~&)&&&)))))))))))&]])))))~!]&))))))))))))))))))&)))))))))))&))))&-~;]&)))-~~-~&)))))))))))&-&&~]-))-&-&&))))))))))&-&))&-&)&-))))))))))))))))&&))))))&)&)))))", +"))))&&&&)))))))))&~&~~&))))))))))))~@&&)))~~&)))))))))))))&~@~&)))&~~]~&)))))))))&)))))))))&]~))))))))&))))))&!~))))~]&))))))))))))))))~]~))))~]~)))&)))))))&))))))))))))))))))))))~-)&)&]~&))&-~--))))))&)))))&&&--]~&))&&)))&)))))))))&-&))&&)&&))))))))))))))))&)))))))))))))))", +")))&&&~-&)))))))))~&~&))))&)))&&&))~~~))))&~&))))))))))~~&))~~~))))&&~-)))))))))~&&)))))))))~&&)))&)))))&~~&)&]]&))))&-))))))&))&]~&&)))]]&))))&&))))))))))))))&)))))))))&))))))))&~-&)))-~~)))))))))))))))))))))&-&-~-&))))))))))))))&)&&&))&-)))))))))&)))&&&-)))&&)))))))&)))))", +")))~&)&&~)))&))))))))))&&&)))~~~~&))~~~))))&)))))))))&~~~&))&~~&&~&))))))&))))&~]~)))&))))))))))))))))&~~~~~&)&]~))))))))))))))&]]~]~)))&]~))))))))))))&))))))))))))&))))))&)))))~!~&)))))~]&)))))))&&)))))&)))))-~&-&&&)))&)))))))&)))))&&&&-&))))))))))))&-)&&&))))&)&))))))))))", +")))&~))~~~))))))))))))))~~&)&&~&~~~)&~~&)))))))))))))&~~)&)))&~~~~&)))))))))))&@]&))))&)))))))))))))))&~-&]!&))~]~)))&)))&)))))&]&&];&)))~~&)))))))))))))))))))))))))))))))))))))~]]&)))))&-&))))&)-~~&~)))))))))&-~&-))))))&))&))))))))))&-&&)))))&)))))))&&)&)&)))))&))))))&))))", +"&&)~&~~&~~))))))))))))))~~&)&~&~]@~))&~&)))))&~)))&&)&~&~~~&))&~~~)))))))))))&&]]&))))))))))))&~&))&&)&~~~~]&&)&--)))))))))&&))&]~]]]-)))&&))))))))&)))))))&))))&)))))))))))&~&&)&~~&))))))&))))))&-~&~~&)))))))))&&&))))))&&&~&&)))))))))))))))))))))))&&)&&&&)))))&)))))))))))))", +"~&&&&~&&&~~)&)))))))))))&@]&&&&~~~]&~)&&))&))&~~))&&)~~~~~~]&))))))))))))~~~&))&]~))))))))&)))&~]))&~&&~!]]~-&))&)))))))))&~~~-&~!]&&~&)))))))))))&~~))))))))))))))))))-)))&]~]~&)-]~)))))))))))))&~&)&~&)))))&))))))))))))&~~-&))))))&))))))))))))))&)))&))&&&)-))))))&))))))))))", +")&&&)))))~&))))&)))))))~~@~~))&~&&~~~&)))))))&~~&&~&))&&~)~~&)))))))&)))&~~~]&))~~&)))))&))))))~]&&&&))&]~&&]&)))))))))))-~]~]]&~]~-~]&))))~&&)&))&!!&)))))))))))))&)&~&&))~---]-))~~-))))))))&&&&&~-))-~&)))))))))))))&))))-~-)))))))))))))))&&)))))&))&))))&)&&))))))))))))))&))", +")&~&&)&&&~~)))))))&)))&~&&~~~)~~~~~&))))))))))&]&&~&))))&~~~&)))))))))))~~&~@]&)&]~)))))))))))))~]&]~&))~]~]]&))&))))&))&~!~)&~~&~]~]-&)))~]!]))))&-~&)&)))))&))))))&]]~))&~~&]]-&)&~-)))))))~~~~-)-~&)&#~))))))))))))))))))&&&&)&)))))))))))))&)))))&&)&&)))&))))))))))))&)))))))", +"))&~&)&~~&&)))))))))))&~~))~~&&&~~~)))))))))~&&~~]]~&&)&&~~&)))))&~)&~&)&&&~@]~&)~&)&)))))))))))&]]!]&~&&&&~&))))))))&~~)&!~&)~]&&&&&)))))&&]]&))))&))))))))))))))))~]-))))]]]~--&))&&))))))&--&-~&&--&)&~&))))))&)))))&&~&)))#&)))))))&))&))))&&)))))&)&&))))))))))))))))))))))))", +"&)&~&)&&&))))))))))))))~~&)~~~&)&&)))))))&)&~&)&]@]~~&~&~&)))))))&]@~~&))&~~&]]&&)&))))))))&)))))~@]~~-]&&))))))))))&~]&&)~]&)&]~&)))))))))))]]&)))))&&&&))))))))))&~&&)&))-]!-&~&))))))&)))&~&)&~-&&~&)&-&)&))))))))))&-&--))&&&&&&)))))))&)))&&&)))))&)&)))))))&)))&))))))))))))", +"&&)~&))))))))))))))))))&~~&&@~&))))))))&)&~~~)))&@~&&&&&))))))&))&@!]&)))&~&~~~~&))))))))))))))))&~]&)&&&)))))))))&&~]~)))&]~&)-&&))))))&))))~]~)))))~!]))))))&)))))]!]]]]-)~~-~~-))))))))))&-~))&~&)-~&~&&))))))))&))&&)&~-&))&&-&))))))))))))-&&&))))))&))))))))))))))))))&)))))", +"~~~~~))))))~~~&))&))))))~~~~~&)))))&)))))&~@~&)))~~&)))))))))))))&~]~&)))&~]~~&)))))))&)&)))&)))))&]~)))))))))))))))~@~))))-]&)))))))))))&))))~]~))))~]~&)))))))))))-~]]!]]&&-~-~)))))))))&&)-~-))-~&&-&-&))))))))))))&&&&~&&&))))))))))))))&)))))-))))))))))))))))))))&))))))))))", +"&&~&&)))))~~~~~&)))))))))~&~&))))))))&&)))&~~))))~~&))))))))))~~&)&~~&)&))&&&&))))))))&~&&)))))))))~&))))))))&)~&~&)&]]&))))~&)))))&)))&]&-&))&~])))))&))))&)))))))))&&&)-~~))&)))))&)))))&~&)~~&)&-&))))))))&))))))))))&&&&-&&))))&)&))))&)&)))))&&))))))))))&)))))))))))))))))))", +"))&))))))&~&)~~~))&)))))))))))&&&)))~~~~~))~~~))))&))))))&))&~~~&)))]~&&&&)))))))))))&&]~)))))))))))&)))&))))&~~]~]))&]~))))&)))))))))&~]~]~)))-]~)))))))))))))))))))))))&~-)))))))))))&&)&&-&&~-&&&&)))))))))))))))))))&&&&&&)))))))&)))&&&)))))))-)))))&))))))))))))))))))))&)))", +"))))))&))&~&)&@~&))))))))))))))~~))&~~&]]&)&~~&))))))&))))))~~~&&)))&~~~~~)))))&)))&)~@~&)))))&))))))))))))))&~&)]]-))]]&)))))))))))))~~&&]]&)))]~&))))))))))))&))))))))~-]&)))))))))))~~&)&~))&&-~-))))))&&))))&)))))))&&&-)))))))))&&)))&&)))))))))))))))))))))&))))))&)))))))))", +"))))&~]~~)~~~~~@~&)))))))))))))~~~)&&&&~@~&)&~&)))))&&)))&))&~&&~&~))~&~&))&)))))))))&]]&)&))))))))))&~&))&&)&]~~]]&&)&&-)))))))))&&))~]~]]]-)))&&))))))&))))))))))))))&~~&&))))&&~&~-))~-~&-&))&&&))))&))&~&))))))))))))&)&))))))))&&&-)))&))))))))))))))))))))))))&)))))&)))))))", +"))))~~&~~&&~&~&~~~)))))))))))))&@~&&&&~~@~~&)&&)))&)~~&))~&)~~~~~~~&))))))))))))~~~&))~~-)))))))&)))&&~~))&~&&~]!~&&-))&)))))))&)&~~~&-]!]&&~&)))))))))))&~~))))))))))))&))))))&)~]~~&))&&-~&&))))))))))))&~-&)))))&))))))))))&)))))&&&&)))&&)))&)))&)))))&)))))))))))))))))))))))", +"))))~~)&~~&)&)))~&)&))))))))))~~]@~&)~~&&~~~))))))))&~~&&~&))&&~)~~&)))))))))))&~~~~&)&~~&))))))))))))~]&&~&))&]]&~~&)))))&)))))&~]~]])~;~-]~&))))-~&))))&!]&))))&)))))))))))))))-]]#)))))&&-&)))))))&&))&&&-&)))))))))))))))))))))&&))&&)))&)))))))))))))))))&))))))))))))))&))))", +")))&~~))~~&))&&~~~))))&))))&)&~~&~~&&&~~~~&&)))))))))~~&&~&))))&~~&))))))))))&)~~&~@]&)&~~))&)))))))))&~~-~~&))~]~]]&)))))))))&&]!-)~~~&~]~]&))))~];~))))-~~&))))))))))))))&)))&)&&~-))))))&-&))))))-~&-&)&)&-&)))))))))))))))))&))&&)))&&))))))))))))&)))))))))))))))))))))))))))", +"))))&~~))~~~&&~~&&)))))))))))&~&)&~~&~&~~&)))&)))))&&&~~]]~&&)&~~~&)))))&~)~&&&&~&~]]~&)~~)))))))))))))~~]!]&~&-&~&&))))))))&~&)~]~))~]&&&&-)))))&~]]~))))&)))))))&))))))))~~&~&&))~~&)))))&~&)))))&&-)&&&)))&~)&)))))))))))))))))))&&))&&)))))))))))))))))))))&)))&)))&))))))))))", +"&))))~~&)&~&)&&&)))))))))))))&~~))~@&&)&&))))))))&~~&)&~@]~~~~&&~))))&))&]]]~&))&~~&~~~))&)))))))&))))))~]@~~~~&)&)))))))))~~]&))]]&)-]&))&))))))))&~]&)))))&~&))))))))))))&!]~&)))&-&&~-))&~&)))&)&&&)&-&))))&&))))&))))&)))&))))))&)))&)&))&))))&))))))&))))))))))))))))&))))&))", +"~~)))~~~))~~))))))))))&)))))))&~~)~@~&))))))))))&~~~)))~@~&&&&&)))))))))&@@~&)))&]&&]~&&)))))&))))))))))&]]&)&&&))))))&)))&~;~)))-]~))&-&)))))))))))&]&)))))&;~))))))&)))))&]]-)))))~&-&-))&&)))))))&&))&&&)))&&)))))))))))))))))))))&)&))))))))))))))))))))))))))))))))))))))))))", +"@~&)))&~~~~~))))))~~&&)))))))))~~~~&&))))))))))))~@~)))&~~))))))))))))&)&]@~))))&~~~]&)))))))))&)))))))))&]&))))))))&))))))~!~))))~]&))))))))&)))))))~]&))))~~-))))))))))))&&-~))))))&&&)))))))))&&)-&&))-&&)))&)))))))))))))))))))))))&)))))))))))))))))))&))))))))))))))))))))))", +"&~))))&&~~&&))))&~~~~~&&)))))))&&~~&))))))))&&&))~~~))))&~&))))))))))~~&))~~&))))&~&&))))))))&~&&)))))))))~~)))))))))&&~&&)&]~&)))&&~)))))))))~~~&&))&~~)))))&)))))))))))))))&~&))&))))))))))))))&&&)~-)))-))))))))))&))))&-)))))))))))))&))))&))))))&)))))))))&)))&))))))))))))))", +")))&))))&&))))))&~&)~~&))))))))))&)))&&&)))~~~~&)&~~&))))&)))))))&)&~~~&))&~]&&&&)))))))))))&&]&&)))&)))))&&)))))&))&~~]~]))~]&))))))))))))))&]~~~-)))~~-)))))))&)))))&)))))))~--~&&)))))))))&&)))#&)&-&)&&&))))&))))))))))&))))&)))))))))))))))))&))))))))))))))))))&)))&)))&))))", +"))~&~))))))))&))&~&)&@]&&))))))))))))&~~))&~~&]~&)~~~))))))&)))))))~~&)&)))&~~~]&)))))))&)))~@]&))))))))))))))))))))&~-)]]&))~]&))))))))&))))&-&-;]&))&~~)&))))))&))))))))))))&&&-&))&)))&))))&~))&&))&&&-&))))))))))))&&))&)))))))))))))))))))))))))))&))))))))))))))))))))))))))", +")&~@~))))))&]~&~)~~~~~@~)))&))))))))))~~~)&~)~@@&))~~&)))))&&)&)&)&&~&~~&&))~&~&&))))&))))))~~])))))))))))))~~&))&&)&]~]~]&&)&~&)))))&)))&&))~]~~~~&)))&&)))))))))))))))))))))))&)))))))&&&&&)&&&&&&)))&)&)))))))))))&))&&)&)&))))&)))))))&))))))))))))))))&))))))))))))))))))))))", +"))&~&))))))~~&~~~&&~~&~~~)))))))))))))~@~&&&&~~@]&&)&&)))))~~&))&&)~~~~~]]&))))))&)))))&~~&))~]~))))&)))))))&~~))&~)&~!]~~-&))&)))))))))&~~~&&]]~-&-&)))))))))))&~&)))&)))&)))))))))))))&~&-&))&&&&-))))))))&))))&)&&)&)))&&))))))))))&)))))))&))))))))))))))))&)))))))))))))&))))", +"&)))))))))&~~)~~~))&)))~&))))))))))))~~@~~))~~&~~~~))))&)))~~~)&~&))&~&)~~&)))))))))))~~~]]&)&~]&))))))))))))~]&&~&))&!]&&]&))))))&)))&&~]&]~)~]-&~&)))))~&)))))&!~)))))))))))&)))))))))~~~&)))))&&~&))))))))))))&&&)-&))))&&)))))))))))))))))))))))))))))))))))))))&)))&)))))))))", +"))))))))))&~~))&~&&)&&~~~)))))))))))&~&&~~&&&~&~~&&)))))))))~~~&~&))))&~~&))))))))))))~~)~!~&)-~~))))&)))))))&~~&]-&))~~]]~&))))))))))&~;-)&]-&~~~~#))))&~]~))))&&-)))))))))))))&)&)))&))-&&))))))&&)))))))))))))&&&))&&))))))))))))))))))))))))&))&)))&))))))))))))))))))))))))))", +")))))))&)))&~~))~~&&&~~&&)))&))&))&)&~&)&~~)~~~~&)))))))))&&&~~~]~&&)&~~~&)))))~&)~&&&&&~~@]&&)~&)))))))))))))&]]!~~&&&-~~&))))))))~~&)~]~)&~~&&&-&)))))&-~~&)))))))))))))))))))))&~&&&)))&-)))))))&&))&))))&&)&))&))))&))))&))&)))&)))&)))))))))))))))))))&))))&)))))))))))))))))", +")))&)))&)))&~~&)&~&)&&&)))))))))))))&~~&)~@&&)&&))))))))&~~&)&]@]~~&~&~&)))))))&]]~~&))&~~&]]&&&))))))&))))))))]@!~&~]&)))))))))))&-]&)&~~&)&~-)))))))))))&~~))))))&&))))&))))))))&~--&)))&-&)&&))&-)))))))))&)&&)&&))&))))))))))))))))))))&)))))))))))))))))))))))))))))&))))&)))", +"))))))&~~)))&~~)&~~))))))))))))))))))~~&)~@~))))))))&))&~]&)))~@~&&&&&)))))))))~@!~&)))~~&&~~&)))))))))))))))))&]]&)&&&))))))&)))&~]-)))&~&))&&))))&)))&)))-~&))&))~]&))))))))))))&~&&)))))&&&&&)))&)))))))&&&))&))&&)&))))))))))))))))))))))))))))))))&)))))))))))))&))))))))))))", +"&~&&))~@~&)))~~~~~&)))))&~&~&)))))))))~~~~&&)))))))))))&~@~)))&~~&))))))))&))&)&]@~))))&~]~]&)))&)))))&&)))&))))~~-)))))))))))))))~!&))))~~&))))))))))))))))&~&))))&~&)))))&)))))))&-&)))))))&&))))))))))))&&&))&&))&&-))))&))))))))))))))))))))))&)))))))))&)))&)))))))))))))))))", +"~~~~&)&&&))))&&~~~))))))~~~~~)))))))))&~~~&)))))&))&&)))~~~))))&~&))))))))))~~&)&~]&))))&&~&))))))))&~&)))))))))&~&)))))))))&&~&))&~~))))&-&)))))))))&~&&)))-&-)))))&))))))))))&))))&&&)))))))))))))&))&&)))&&))))))))))&)))))&))&)))&)))))&))&)))))))))))))))))))))))))))&)))))))", +"&&&]&)))))))))))&))))))&~~)&~~))))))))))))))&~))))~~~~&)&~~&))))&)))))))))&~~~&))&~~&&&&)))))))))))&~~~))))))))))&))))))&))&~]~]~))-]-))))))&)))))))&~~&~&)))~&&))))))&))))))))))))))&&&&&)))))&))))))&&)&&)))&))&)))))))))))))))))))))&)))))))))))))))))))))))))))))&)))))))&))))", +"&&)~~&))&~~&))))))))&))~~&)~@]&)&)))))))))))&~~))&~~~~~&)&~~)))))))))))&))~~&)&)))~~~]~&)))))))))))~@~&)))))))))))))&))))))&~&)]]&)&~~&))))))))&))))&&&&]-&)))~&))))))))))))))))))))&&&&&&))))&&&)))))&))&&))&&&)&))))))))))))))))))))))))))))))))&))&))))))))))&)))))))))))))))))", +"~~~~~~&)&~@~))))))&]~~&)~~~~@]~))))))))))))))~~&)&&)&@@~))~~&)))))~&)))&)&~~&~~&&))~&~&)))))))&))))&]]))))&))))))))&~&))&&)&~~~]~&))&&&)))))))))&))&&~-~~&&)))&&)))))))))))&))))&))))))&))))))&&&&))))&&)))&)))&))))))))))))))))))))))))))))))))))))))))))&)))))))))))))))))))))))", +"&~~~&~~))~~&))))))~~&~~&&~&~&~~~)))))))))))))~@]&&~&~~]]&&)~))))))~~&))~&)~~~~~~~&)))&))))))))~~~&&)~]-))))))))))))~~~))-~)&]]]&-~&))&)))))))))&~~&&&~-~&&&))))))&)))))&&&))))))))))))))))&)))))&))))))&)))&))&)))))))))&))))))&))))))))&)))))&))))))))&))))&)))))))))&)))&)))))))", +"&&~))~&&)))))))))&~~)~~&&)))))~&))))))))))))~~@]~))~~&&~]&))))&)))~~~)&~&)&&~&)~~))))))))&)))~~~]]&)&~~))))&)))&))))~~&&~&))&]~&&~&)))))))))))&&~&-&)~~&&-&)))))&&))&))&~&)))))))))))))))))&-))))&&))))&&)&)))))))))&))))))&)))))))&)))))))&))))))))))))))))))))))))))))))))))&)))", +"&~~&&]&))))))))))&~&))~~&))~&~~&))&)))&))))&~~&~~&&~~~~~&&)))))))))~~&&~)))))&~]&))))))))))))~&)~@]))~]~))))))))))))&~~&~&&))~~~~&&)))&))))&)&~]&)~~&&&&~&&))))-&~&))))&&&)))))))))))))))&&&))))))&))))))&))))))&)))))))))))))))))))))))))))))))))&)))))))))))))&)))))))))))))))))", +"&~~~~~~)))))))))))~~&)&~~&&&~~~&)))))))))))&~&)&~~)&~~~&)))))))))&&&]~]]&&&)&~~~&)))))&~)~&&&~&~]]]-)&&&)))))))))))))&~]]~-&&&-&&&))))))))&~&)&~&)&-~)&&&&)&)))&-&&)))))))))))&)))))&))))&&)))&)))&-))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))&)))))))))))))))", +"&)&&&&)))))))&&)))&~~&)~~&)&&&))))))))))&))&~~))~]~&)&&))))))))&~~&)&]@]~~~~&~&))))))&~]~]~))&&~~&]]&&)&))))))))))))))]]]~&~~&)&)))))))))&&~&)&~-))&-&)))))))))))&~&)))&)))&)))))))))))))&&))))))))&))))))))))))))))))&))))))&))))&)))&))))))&))))))))))&))))&))))))))&)))&)))))))", +"~&)))))))))))&~~)))~~&)&~~))))))))))))))))))&~~&~@~)))))))))))&~]&))&~@&&&&&&))))&))))~@@~&)))&~&~~~&&)))))))&))))))))&]~))&&&)))))&))))&~~&)))-~&))&&))))))))))))&-&)))))&~&)))&))))&))))&&&&&)))))-)))))))&)))))&))))))&)))))))))))))))))))))))))&))))))))))))))))))))))))))))))", +"&))))))~~&&))]@~))))~~~~~&)))))&~~&&))))))))&~~~~&&)))))))&)))&]@&)))&]~))))))))))))))&]@~))))&~~]~&))))))&))&)))&)))))~~-))))))&))))))))~]&))))&~&))))))))))&)))))&&)))))&&)))))))))))))))&&)))))))))&))))))))))))))))))))))))))))))))))&))))))))))))))))))))))))))))))))))&)))))", +"&)))))&~~~~&)&~&))))&&~~&)))))&&~~~~)))))))))&~&~&))))))))&)&))~~~))))&~&)))))))))&~~&)&~~&))))&~&&))))))))&~&)))))))))&&&)))))))))&~&&))&&&))))&&)))))&))))&&&&)))&-&)))))))))))))))))))))&&))))))))))))))))&)))))))))))))))))&))))))))))))))&))))))))))&))))))&)))))&))))))&))))", +"))))))~&&~~~)))))&))))&)))))))&]&)~~~))))))))))&)))&~))))~~~~&)&~~&))))&)))))))))&~~~&))&]~)&~&)))))))))))&~~&))))))))))&)))))))))&&~&~-))~-&))))))))))))))&&&&&&)))&&))))))))))))))))))))))&&))&)))))))&)))))))))))&))))))&))))))&))))))))))))))))&))))))))))))))))))))))))))))))", +")))))&~&)&~&&))&~~&))))))))&))&~~)~@~&)&)))))))))))&~~))~~~~]~))&~~)))))&)))&))))~~&)&)))~~~]~&))))))&)))&~]~&)))&))))))))))&)))))&&&&~~&)&~&))))))))))))))&&&&~&)))&&&))&))))&))&))))&)))))))))))))))))))))))))&))))))&))))))))))))&))))))))))))))))&)))))&)))))&))))))))))))))))", +")~]~&)~~~~~~~&)&~@~))))))~~~~&&~~~~@]~))))))))))))))~]&)&&&&@]~)&~~&)))))&&)))&)&~~&~&~&)&&~~&))))))))))))&]~)))))))))))))-&)))&))-~&&~&&))&~))))))))))))))&&&-&&)))))&))))))))))))))))))))))-))))&))))))))))))))))))))))))))))))))))))&)))))&)))))))))))))))))))))))))&))))))))))", +"~~~~]&&&~~&&~&))&~&)))))&&~~~~)&&&~&~~&)&)))))))))))~@~&&&&~~@]&&&&)))))&~~))&&&)~~~~~]~)))))))))&)))&~~&))~~&))))))))&)))&~~))&~)&~]~-&&))))))))&)))&&&~&)&-&&)&&)))))))))))))&))&)))))))))))))))))&))))))&)))))))))))))))))&)))))))))))&)))))&))))))))))))))))))&)))))))&)))&)))", +"&&)&~~&&&~)&~~&)))))))))&~&)~~~))&))&~&)))))))))))&~~@~~)&~~&~~~&))))&)))~~~&&~&)&&&~)~~)))))))))))&~~~~~&)&]~))))&))))))))~~)&&&))&~&)&-&)))))))))))&&&&&&)&~&&&&))))))&)&)))&&&)))))))&))))))))))))))&)))))))))))))))))&))))))))))))))))))))))))))))&)))))&)))))))))))))))))))))", +"~~))&~~&~~&&~&))))))))))&~~))~~~))&&~~&))&))))))))&~&&]~&&~~&~~&&))))))))&~~&&&&))))&~]&))))))))))))~&&~]~))&~&))))))))))))&~&&~&)))~&~-&)))))))))))&&&&)-&&&&&&&)))))&&&))))))&))))&))))))))&))))))))))))))&)))&)))&))))))))))))&))))))))))))))))))))))))))))))))))))))))))))))))", +"~~~))~~&&~~~~&))))))&))))~~&)&~~&&&~~~&)))))&))&))~~&)&~~)&~~~&))))))))&&&&~]]]&&&)&~~~&)))))~&)~&)&&&~~!]&&&-&))))))))&))))&~-~&&&&&&&&&))))&)))-&))~-&))&&)&&&&)))&)&&&&)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))&))))))))))&))))))))&))))))))))&)))))))))))))", +"&~~&)&~~)&&~&))))))))&)))&~~))~~&)&&&)))))))))))))&~~))~]~&)&&))))))))&&~&)~]@]~~&~&&&)))))))~]]~~&))&~~&~~&)&))))&))))))))))~]~-&&&&)))))))))))&&~))&&&))&&&))))))))))))&&))))))))))))))&))))))))))))))))))))))))))))))))))&)))))))))))))&)))))))))))))))))))&))))))))))&)))&))))", +")&~~))~&&)))))))))))~~~)))~~~)&~~))))))))))))))))))~~&&~@&&)))))))&))&~~&))&~@~&&~&&))))&))))~@@~&)))&~)&~&&)))))))))))))))))&~&)))&)))))))))))&&&&)))&&&))&))))))))))))))-))))))&&)))))))))))&)))&)))&)))))))))))))&))&)))))))))&))))))))))))))))))))))))))))))))))))))))))))))))", +"))~~~~~~)))))&&~&&)&~@&&))&~~&~~&)))))&~&~)))))))))&~~~~&&)))))))))))~]@&)))&~~))))&)))))))&)&]]&))))&~~~~&)))))))))))))))))))&-&))))&)))&))))))~&)))))&&)))))))))))))))))&&)&))))))&))))))))))))))))))))&))&)))&))))))))))))&))))))))))))))))))))))))))))))))))))))))))))))))))))", +"))&&~~&&)))))&~~~~))&&&))))&~~~&)))))&~~~~~)))))))))~&~&&))))))&)&&)))~]~))))~~&)))))))))&&~&&&~~&))))&-~&)))&))))&~&)))&)))))&~&))))))))))&&)))&-&))))&&))))))))&))-)))))))))))))))))))))&))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))&))", +"))))&&)))))))~~&&]&))))))))))&)))))))&~~)~~~))))))))))&&))&~))))~~~~&)&~~)))))&)))))))))&~~~)))&~~)&~))))))))))))&~-&)))))))))))))))))))))&~&&&))&~)))))))))))&))))&&&&))))&&))&))))))))))))))))&)))))))))))))))))))))))))))))))))&))&)))))))))))))))))))))))))))))))))&)))&))))))", +"&)))))))))))~~&)&~~&))&~~&)))))))))))&~&)~@~&)&)))))))))))&~~))&~&~]~))~~~)))))))))))&))~~&)&)))~~~-~&)))))))))))~~&&))))))&)))))))))))))&&&)--)))&&))))))))))))))&)))&)))))))))))))&))))))))))))))&))))))))))))))))&)))&)))))))))))))))))))))))))))))))))))))))))))))))))))))))))", +"~)))))))~]&&&~~~~~~~))&~~~))))))~~]~&&~~~~@]&))))))))))))))~~&&&~&&@]&))~~&))))&~&)))&)&~&&~&&&))&~&&))))))))&)))&~&)))))))))))))&&)&))))&&&~&&&))&&)))))))))))))))&&&&&))))))))))))))))))&))))))))))))&))))&))&))))))))))))&)))))))))))))))))))))))))))))))))))))))))))))))))))))", +"~))))))~~&~~&&&~~&~~~))~~&)))))&~~&~~&&~&~&~]&))))))))))))&~@~)&&~~~@~~&&&))))))~~))&&))~~~~~~&)))&)))))))))&~&&))~~)))))))))))))&-&))~&)&&&&&&&))))))))))&))&)&&))&&)))))))))))&)))))&)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))", +"))))))&~~)&~~&&~~)&~~))))))))))&~~)~~&))&))&~&)))))))))))&~~@]~))~~&~~~&))))))))~~&)&~&)&&&&&~~)))))))))))&&~&&~))&&~))&))))&))))&&&))&)))&&&)&&)))))&)))))))&&)&&)&&))&)))&))))))))))))))))))&))))))))))))))))))&))))))))))))&)))))&))))))))))))))))))))))))))))))))))))&)))&))))", +"))))))&~&))~~&&~~&&~&))))))))))&~&))~~~))&&~~&)))))))))))&~~&~~&&~&~~~&)))))))))&~]&&~)))))&~-&)))))))&)))&&&)~~&))&~&)))))))))&))&~&&&)))&&&&&&))))))))))))&&)))&))&&)&)))))))))))))))))))&)))))&))))))&)))))))))))&))&))))))))))))))))))))))))))))))))))))))))))))))))))))))))))", +")))))))~~&)&~~&~~~~~&)))))&)))))~~&)&~~)&~~~~)&))&))&)))&&~&)&~~)~~~~&))))&)))&&)&~~]~&&&)&~~&))))))&&)&&))&&~-]~&)&&&))'-)))))))))&&&~&&&)&&&&))))))))))&))&&)));*)))))-%))))))))&)))))))))))))))))&)))))))))))))))))))))&))))&))))))))))))))))))))))))))))))))))))))))))))))))))", +"))&))))&~~&)~~&)&&~)))))))))&)))~~~))&~~)&&&)))))))))))))&~&))@]&&)&&))))))))&~~&)~]@~&~&-&&&)))))&)~~~~&&))&&~&~&&))))).%))))))))))~&&&&&&)))))))&)))&)&&)))&&))=;)))))>+)&))&))))))))&)))))))))))))))))))&))))))))))))))))))))))))&)))))))))))))))))))))))))))))))))))))&)))))))", +"))~~~)))~~&))~&)))))))))))&~~~)))~~~)~~&))))))))))))))))))~~~&~@~)))))))))))&~~&))&~]&&&~&&))&))))))&]~~))&)&&)&&&&))))).'))))))).))&~&)$%&)))))))))))&&&)))))&)++)))))#=))))))))))))))))))))))))))))))))))))))&))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))&)))", +"))&@~&)))~~~~~~))))))~&&)))~@&)))&~~&~~&)))))&~~&)))))))))~~~~~&&))))))))))&&]~&)))&]&))))))))))))))&~~&))))~&~&~))))))).%;$;))$$.$$$&+$,=$$*)$;+$*))))+$))))))&,))&)))>')+*)))))$+&))))+$&)))&**)))))&)))+$;+*)$;*$;))))$$;))+)$&*$*)))$$))))))))))))+$+)))*$)+$+)))$$)$)))))))))", +"&)&&~))))&&~~&&))))&~~~~~&)&~&))))&~~~&)))))&~~~]~)))))))))~&~&)))))))))&&)))~~&))))~&&)))))))))&~&&)&-~)))))&&&&))))))).$=$,;)%%.%%%&;%=>%'-).$>'=;)))$.))))))->))))))$))>+)++)+$=);$);$,-)$*)=-)&)))))),$%=,%).$=$,;)'.+%,+&=$%$$>>)'=%+,)))))))))-,$%$$-)%.>+>$)*.++=.)))))))))", +"&)))))))))&&&))))))&~~&~~&))))))))))&)))))))&~&)~~&)&))))))))&)))&~)))&~~~~&)~~&)))))&)))))))))&&~&)))&&~)&&)))))))))))).$~)$$))).))))))$')))).+)&+,))&*'&)))))>#)))));+))'$)$$&$'.)+=-%$$%-=+).))))))))+=))).%).$))$$),+))*.*=))=)'$-,*))=+))))))))>=))),>)%.-)-*)=+))'.)))))))))", +"&))))&~&)))))))))))&~&)&~&&))&~~&)))))))&)))~~&)~@~))))))))))))))&~&))~~&~~&))~~~))))))))))))))~&&&))))&&~&&)))))))))))).'&)$$))).))))))$%)))).%)&'.&&)))-))&)->))))))$)))-=#$$).)=-=%%$'+++%$'$))))))))$'))).%).%))$$).)))).'$))$)%$',$$$,$))))))))$%)))$$)%.))))).)))%.&)))&))))", +"))))&~@~))))))&~~&~&~~~~~~~))&@~~))))))~~]&&&~~~~@]&))))))))))))))~~&)&~)~@~&)&&~)))))&&)))&))&&&&&~&&)&&&&&))))))&))))).'&)$$))).))))))$%)))).%&&+,&)))))))))>-)))));+)))).%%%>=)$%$)$=*%$$)$>+))))&)))$'))).%).%))$$).*))-.%$))$)%$*$)))))))))))))$>)))=$)%.))))).)))%.)))))))))", +"&))))&~~)))))&&~~~~&&&~~&~~~)&&&&)))))&~~~~~)&~~&~~]&))))))))))))&]@&&&&~~~]~&)&&)&)))&~~))&&&)&~&~&&&)))))))))))))&&&)).'&&$$))).))))))=')))&.+)&=+)&)+$)))))$))&)))>-)))),=-%$%)>=+)$$);,$)$$))))+$)))+=))%.').'))$$)==))+.-$&)$)%$)=')))))))+$)))+.-)-.+)%.)))))=+))$.)))))))))", +"&)))))&)))))))]&)&~~)~~~)&~&))))))))))&~&)&]&&)&))&~&))&)))))&))&~~]~&)&&&&&~~&))))))))&~&)&&))&&&&)~&)))))&))))))~&&-&).'&&$$&))+=$$&))*=$$;&.$==$))&)$.))))=+&))))+=)))))$,)).*)'.*)$>)).>)',)&))$.))))>==%.%).%))$$&-$=$=-)$))$)'$)->$$$+)))$.))))>=$=%))%.)))))-=$=+.)))))&)))", +"&))))))))))))&~~))~~&&~~&&~~))))))))))&~&&)~~&))&&]&&))))&))))))~~&&~~&&~&~~&&)))))))))&~&&~-)))))&&&&)))))))&)))&&&)~&&))&&))))))&)))))))&))&.%)))&)&))))));=))))))=;)&)))&)))))))))))))))))))))))))))))&))),*))))&)))))))))))))))))))))))))))))))))))))))))))))))))))%=)))))))))", +"~)))))))))))))~~&)&~~)&~~~~&)))))))))))~~&)~~~)~&~~~))))))))))))&~))&~&&~~~&&))))))))&&)&&&~&&)))&&~&))))))&))&&))&&&&~&))&&))))))))))))))&&&&.%&)))))))))&)=-)))))++)))))))))))))))&))))))))))))))&)))))$%'$%))))))))))))&))))))))))))))))))))))))))))))))))))))))*>%'=-)&)))))))", +"~)))))))&)))))&~~))~~~)&~&))))))&))&)))~~&))&~&)&&&)))))))))))))~~~)&~~&)&&))))))))))-&&)~~~~&~&&&&&))&))))&~&&&)))&&&&&&&))))))))))))))))))&&)&))&))))))))))))))))))))))))))))&))))))))&))&))))))))))))))))))))))))))))))))&)))&))&))))))))))))))))))))))))))))))))))))))))))))))", +")))))))))~~~)))~~~))~&))))))))))))]~~)))~~~)~~&))))))))))))))))))~~&&~~&))))))))&))&~&&))&~~&&)&&))))))))))&~&&))))&&)&&&)))))))))))))&)))))&)))))))&))))))))))))&))))))))&)))))))))))))))))))))&)))))&))))))&))))))))&)))))))))))))))))))))))))))))))))))))))))))))))))))))))&)))", +")))&~~~))~@~&))&~~&~~~)))))&&~&))&~@~)))&~~&~~&)))))&~~&))&))))))&~~~&&&)))))))))))~~~&)))&&&))))))))))&)))&~-&))))&&&&&))))))&))&)))))))))))&)))))))&))))))&))))))))))))))))))))&))))))))))))))))))))))%%'%-))&))-'-)))))))))))))))))))))))))))%*))))))))))))))))))))))))))))))))", +"))~~~~~&)&&~))))&~~~~)))))&~~~~~))&&&))))&~~~&)))))&~~~~~)))))))))&&~&)))))))&)&))))~&&))))&~)))))))))))&&))&&&)))))&&)))-.=)))))&)))));$...=%.,))$.)%$..$-)..$)+..).....$))))))))))&))))))))&)))))&))))$$=.%)))))%.%))))))))))))))))&))%))))))).$))))))))))))))))))))))&)))))))))", +")~~~~&~&))))))))))&&)))))))~~)~~&))))))))))&&))))))&~&&~~&)&))))))))&)))&&))))~&~&))~&&)))))&)))))))))&~&&)))&&&)&)))))))+..-)))&&))))*.,*)-+%..+)$.-.,--,.-..=)$..)..))))))&)))))))))))))))))))))))))))))%.%)))))-%-))))))&)))&)))))))$.)))))))%*))))))))))))))))))))))))&)))))))", +")&&))&~)))))~&&)))))))))))~~&)~~~)))&~~&))))))))&))&~&)~]~))))))))))))))~&&))&&~&~&))&~&))))))))))))))&&&)))))&&&&&))))))$$.%))&&))&))$.%))))'..,)$.%.*))+.%...)...)..)))))))))))))+$$;));$+*$;))$$)$+))))'.%)))$$$$;))))+$$$;)+$$;))*$,.$$+)+$$$+))))+$+))*$+*$*))))))))))))))&))", +")))))&~))))&~@~))))))&~]&&&~~&~~~~))&@~&))))))~~~~&~~~&~]~&)))))))))&)))&~~))~&)~~~&)&&&))))))-)&)))))&)&&&&)))&&&))))))'.%.>)))&)))))..)))))%.,.;$.$.)))%.$.=.-...)..'%')))))&)))'=$,.%)%.=,.,;)..$..+)))%.'))&$$=.%)&-=.$$,%%=$,.%);$,.$$+)+$$.$))-,,$,$-%.=,.,*))))))))))))))))", +")))))~~)))))~~&)))))&~~&~~&&~~~&~~&)&&~&)))))&~~&~&)&~~&~~~))&)))))))))))~~&)&&&&~~&&)&&))))))&&))&&)&&&&&&&&)))))))))))>=),,)))&&))))..)))$$%.+.=$.$.)))'.$.%.$$..)..$$$)))))))))-))).$)%..+>.,)..$'..;))%.%)))))'.%))=.*))))-))).$)))$.))))))).$))=.*)*.=%..+>.$))))))))))&)))))", +")))))~~&)))))&))))))&~~)~~&&&~~)&~~))))))))))&~&)~~&&))))&~&)))))))))))&~~~~&)&~&)~&&))))&)))&&&&)&&)))&&&)&)))))))))))),$'=.;))))))))..-))..%.%>.,.$.)))%.$.',,>..)..))))))))))))',...$)%.$))..)..))$.%))%.%)))))%.%))..)))))',...$)))$.))))))).$))..)))..%.$)%.$)))))&))))))))))", +"&))))&~&))))))))))))&~&))~~&&~&&&~&))))))))))~~&))]~))&&&~&&)))))))))))&&&&&&)&&&&&&&))))))))))&&)&&))))))&&)))))))&)));,=$=.$&))&))))>.$))..%.%-...%.+))>.%.%$.%..)..)))&))))))))..-).$)'.$)-.,)..))=.*))%.%)))))%.%)),.%))))..-).$)))$.))))))).$)),.-)-.,%.$)%.$))))))))))))))))", +"~))))&~~)))))))))))))~~&)&~~)~~~~~&))))))))))&~~&)&~&)&&&~&))))))&)))))&~))~&&&&~&~))))))))))&)&-&&-))))&&&&)))))))))))+>))#.,))))))))*..>%..%.%)=..-.,--,.-.%>.*..)..)))))))&))))..+>.=*%.,%$.$)..++..)))%.')))))%.'))>.,+'>*..+>.=;))>.+%+)))).$))>.+)+.>%.$)%.$)))))))))))&))))", +"~~))))&~))))))))&))))~~~))~~~)&~&)))))))&)&)))&~~))~~&)&&&))))&))))))))&~&)&~&))&))))))))))&&&))~&~&&&&)&))))))&))&&&&)=*)&),.;)-)))&))*$..,$'.%)*..)*$..>-).%-%)..)......))))))))%..$$.$%.=,.>))..$.=-)))'.%))&))'.%)))+,..=*%..$$.$))-=.,+)))).$)))>,.,%)%.$)%.$))))))))))))))))", +"~~&)))))))))))))&~~)))~~&)&~~)))))))&))))~~&)))~~&)&~&)))))))))))))&)))&&&)&~~&)))))))))))&~&&)))~&))&)&))))))))))&&&&)))))&))))))))))))))))))))))))))))))))))))))))))))))))))&))))))))))%.$)))))..)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))&)))))))))", +"&~~)))))))&]~&))~@~))))~~~~~&))))))~&&))&~~~)))&&~~~&))))))&~&&)))))))))&~&&&&))))))&)))&)&&&))))&&&)))))))&)))))))&&))))&)&)&&)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))", +")~&))))))~~~~]))~&~))))~&~~&&))))&~~~~~))~&)))))~&&~&))&))&~&&&&)))))))))&&~&))))))))))))))&~)))))&&))))))))))))&))&)&))))))))))&)))))))))))))))))&)))&))))))&)))))))))&))))))))))&)))))'.$&))))..)))&)))))))))))))))&)))&)))))&))))&))))))))))))))))))))))))))))))))))))&))))&)))", +"))))))))~~~&~~&)))))))))&&&))))))&~&)~~&))))))))))&)))))))&&&&~~)))))))))))))))&)))))~&&&))&&&)))))))))))))))-&&)))))&))))))))))))))&)))&))))&)))))))))))&))))))&)))&)))))&)))))))))))&)))))))))))))))))))&)))))))))))))))))&)))))))))))))))))))))))))))))))))))))))))))))))))))))", +"))))))))&&))~&))))&&~&)))))))))))&~&)~&~)))&&~))))))))))))~&&)&~~)))&))))))))))&~&))&&&&&&))&&)))))))))&))))))&))))))&)&&)))))))))))))))))))))))))))))))))))))))))))))))))))))&)))))))))))))))&)))))))&))))))))&))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))", +"))))&)))))))~~))))&~@&))))))&]~&&&~~&~~&~))~@~&))))))~~&~)&~&~&~~&))))))))))))))&&))&&)&-&&)&&&))))&)))))))))&))&))))))))))&)))))))))))))))))))&)))))))))))))))))))))))))))))))))))))))))))))))))&)))))))))))))))&)))))))))))))))&)))&))))))))))))))))))))))))))))))))))))&)))))))", +"))))~]))))))&~&)))&~~&))))))~~~~~)&~~~&~~&)&~&))))))&~&&~&)&~&&&~&)))))))))))))&~&&&)&&&&&&))))))))))&&)&))))&&&)&&))))))))))))&))))&))))&))))))))))&)))))&))))))))))))))))))))))&))))))))))))))))))))))))))))))))))))&)))))))))))))))))))))))))))))))))))))))))))))&))))))))&))))", +")))&@~&)))))~&)))))&)))))))&~&)&~~)&~&)&&&))))))))))&&))~&&))&))&&&))))&)))&)))&&~&)))&&)&&&)))))))))&)))&))))))))-))))))))))))))))))))))))))))))))))))))))))&)))&)))))&))))))))))))))))&))))))))))))))&)))&)))))))))))))))&)))))))))))&)))))))))))))))))))))))))&))))))))))))))))", +")))&~~~&))))~~&))))))))))))&~~))~~&&~~&&~&))))))))))&~&)&~&))))&~&))))))))))))&-)&&&))&&&&)&)))&))))))&&))&))))))&))))&))))&)))))))))))))))&))))&)))))&)))))))))))))))))))))&)))))))&))))))&))))))))))))))))))))))&))))))))))&)))))))))))))&))&))&))&))&))&))&))))))))&)))))))))))"}; diff -uNr gnome-admin-0.25/logview/monitor.c gnome-admin-0.26/logview/monitor.c --- gnome-admin-0.25/logview/monitor.c Tue Aug 4 11:36:44 1998 +++ gnome-admin-0.26/logview/monitor.c Tue Aug 11 11:04:58 1998 @@ -27,6 +27,7 @@ #include "cancel.xpm" #include "remove.xpm" #include "add.xpm" +#include "actions.xpm" #define MON_WINDOW_WIDTH 180 #define MON_WINDOW_HEIGHT 150 @@ -52,6 +53,9 @@ void mon_read_last_page (Log *log); void mon_read_new_lines (Log *log); void mon_format_line (char *buffer, LogLine *line); +void mon_hide_app_checkbox (GtkWidget *widget, gpointer data); +void mon_actions_checkbox (GtkWidget *widget, gpointer data); +void mon_edit_actions (GtkWidget *widget, gpointer data); gint mon_check_logs (gpointer); int mon_repaint (GtkWidget * widget, GdkEventExpose * event); @@ -71,6 +75,7 @@ int monitorcount; int mon_opts_visible, mon_win_visible; +int mon_exec_actions, mon_hide_while_monitor; /* ---------------------------------------------------------------------- NAME: MonitorMenu @@ -81,7 +86,7 @@ void MonitorMenu (GtkWidget * widget, gpointer user_data) { - GtkWidget *hbox; + GtkWidget *hbox, *hbox2; GtkWidget *label; GtkWidget *scrolled_win; GtkWidget *list_item; @@ -101,7 +106,8 @@ if (monoptions == NULL) { - monoptions = gtk_dialog_new (); + /* monoptions = gtk_dialog_new (); */ + monoptions = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_container_border_width (GTK_CONTAINER (monoptions), 5); gtk_window_set_title (GTK_WINDOW (monoptions), "Monitor options"); gtk_widget_set_style (monoptions, cfg->main_style); @@ -112,7 +118,11 @@ GTK_SIGNAL_FUNC (close_monitor_options), NULL); - vbox = GTK_BOX (GTK_DIALOG (monoptions)->vbox); + vbox = (GtkBox *)gtk_vbox_new (FALSE, 2); + gtk_container_border_width (GTK_CONTAINER (vbox), 4); + gtk_container_add (GTK_CONTAINER (monoptions), GTK_WIDGET (vbox)); + gtk_widget_show (GTK_WIDGET (vbox)); + style = gtk_style_new (); memcpy (style, cfg->main_style, sizeof(GtkStyle)); style->font = cfg->heading; @@ -173,19 +183,6 @@ NULL); - /* OK button */ - button = ButtonWithPixmap (okxpm, 62,15); - gtk_box_pack_start (GTK_BOX (vbox2), button, FALSE, TRUE, 0); - gtk_signal_connect (GTK_OBJECT (button), "clicked", - GTK_SIGNAL_FUNC (go_monitor_log), - srclist); - - /* Cancel button */ - button = ButtonWithPixmap (cancelxpm, 62,15); - gtk_box_pack_start (GTK_BOX (vbox2), button, FALSE, TRUE, 0); - gtk_signal_connect (GTK_OBJECT (button), "clicked", - GTK_SIGNAL_FUNC (close_monitor_options), - srclist); /* Destination list */ scrolled_win = gtk_scrolled_window_new (NULL, NULL); @@ -202,6 +199,51 @@ gtk_container_border_width (GTK_CONTAINER (scrolled_win), 3); gtk_widget_show (destlist); + /* Make bottom part of window -------------------------------- */ + hbox2 = gtk_hbox_new (FALSE, 2); + gtk_box_pack_start (vbox, hbox2, TRUE, TRUE, 0); + gtk_widget_show (hbox2); + + /* Check boxes */ + button = gtk_check_button_new_with_label ("Hide app"); + gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON (button), FALSE); + gtk_box_pack_start (GTK_BOX (hbox2), button, FALSE, TRUE, 0); + gtk_signal_connect (GTK_OBJECT (button), "clicked", + GTK_SIGNAL_FUNC (mon_hide_app_checkbox), + srclist); + gtk_widget_show (button); + + button = gtk_check_button_new_with_label ("Exec actions"); + gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON (button), TRUE); + gtk_box_pack_start (GTK_BOX (hbox2), button, FALSE, TRUE, 0); + gtk_signal_connect (GTK_OBJECT (button), "clicked", + GTK_SIGNAL_FUNC (mon_actions_checkbox), + srclist); + gtk_widget_show (button); + + mon_hide_while_monitor = FALSE; + mon_exec_actions = TRUE; + + /* Actions button */ + button = ButtonWithPixmap (actionsxpm, 62,15); + gtk_box_pack_start (GTK_BOX (hbox2), button, FALSE, TRUE, 0); + gtk_signal_connect (GTK_OBJECT (button), "clicked", + GTK_SIGNAL_FUNC (mon_edit_actions), + srclist); + + /* OK button */ + button = ButtonWithPixmap (okxpm, 62,15); + gtk_box_pack_start (GTK_BOX (hbox2), button, FALSE, TRUE, 0); + gtk_signal_connect (GTK_OBJECT (button), "clicked", + GTK_SIGNAL_FUNC (go_monitor_log), + srclist); + + /* Cancel button */ + button = ButtonWithPixmap (cancelxpm, 62,15); + gtk_box_pack_start (GTK_BOX (hbox2), button, FALSE, TRUE, 0); + gtk_signal_connect (GTK_OBJECT (button), "clicked", + GTK_SIGNAL_FUNC (close_monitor_options), + srclist); } mon_opts_visible = TRUE; @@ -393,6 +435,13 @@ if (i == 0) return; + /* Setup timer to check log */ + gtk_timeout_add (1000, mon_check_logs, NULL); + + /* If hide_while_monitor is set don't display this window */ + if (mon_hide_while_monitor) + return; + /* Create monitor window */ /* setup size */ w = 600; h = 100; @@ -458,14 +507,11 @@ gtk_widget_show (monwindow); - /* Setup timer to check log */ - gtk_timeout_add (1000, mon_check_logs, NULL); - } /* ---------------------------------------------------------------------- - NAME: - DESCRIPTION: + NAME: mon_read_last_page + DESCRIPTION: read last lines of the log into the monitor window. ---------------------------------------------------------------------- */ void @@ -505,8 +551,9 @@ } /* ---------------------------------------------------------------------- - NAME: - DESCRIPTION: + NAME: mon_read_new_lines + DESCRIPTION: Read last lines in the log file and add to the monitor + window. ---------------------------------------------------------------------- */ void @@ -548,8 +595,8 @@ } /* ---------------------------------------------------------------------- - NAME: - DESCRIPTION: + NAME: mon_format_line + DESCRIPTION: format the output for a log line. ---------------------------------------------------------------------- */ void @@ -563,8 +610,8 @@ } /* ---------------------------------------------------------------------- - NAME: - DESCRIPTION: + NAME: mon_check_logs + DESCRIPTION: Routinly called to check wheter the logs have changed. ---------------------------------------------------------------------- */ gint @@ -579,7 +626,35 @@ if (WasModified(loglist[i]) != TRUE) continue; mon_read_new_lines (loglist[i]); + fprintf(stderr, "TOUCHED!!\n"); + } return TRUE; +} + + +/* ---------------------------------------------------------------------- + NAME: mon_hide_app_checkbox + DESCRIPTION: hide app checkbox toggled. + ---------------------------------------------------------------------- */ + +void +mon_hide_app_checkbox (GtkWidget *widget, gpointer data) +{ + mon_hide_while_monitor = (mon_hide_while_monitor) ? FALSE : TRUE; + return; +} + + +/* ---------------------------------------------------------------------- + NAME: mon_actions_checkbox + DESCRIPTION: actions checkbox toggled. + ---------------------------------------------------------------------- */ + +void +mon_actions_checkbox (GtkWidget *widget, gpointer data) +{ + mon_exec_actions = (mon_exec_actions) ? FALSE : TRUE; + return; } diff -uNr gnome-admin-0.25/macros/ChangeLog gnome-admin-0.26/macros/ChangeLog --- gnome-admin-0.25/macros/ChangeLog Wed Aug 5 10:40:29 1998 +++ gnome-admin-0.26/macros/ChangeLog Tue Aug 11 11:04:58 1998 @@ -1,3 +1,7 @@ +1998-08-06 Martin Baulig + + * gnome-libgtop-sysdeps.m4: Added `freebsd' directory. + 1998-08-04 Raja R Harinath * gnome-x-checks.m4: Define USE_DEVGTK unconditionally to `true'. diff -uNr gnome-admin-0.25/macros/Makefile.in gnome-admin-0.26/macros/Makefile.in --- gnome-admin-0.25/macros/Makefile.in Wed Aug 5 18:50:42 1998 +++ gnome-admin-0.26/macros/Makefile.in Thu Aug 13 19:20:40 1998 @@ -90,6 +90,7 @@ LDFLAGS = @LDFLAGS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ +MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ @@ -144,7 +145,7 @@ all: Makefile .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps macros/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @@ -219,8 +220,8 @@ maintainer-clean -macros.dep: Makefile.am - @echo '$$(top_srcdir)/aclocal.m4: $(MACROS:%=macros/%)' > $@ +@MAINT@macros.dep: Makefile.am +@MAINT@ @echo '$$(top_srcdir)/aclocal.m4: $(MACROS:%=macros/%)' > $@ # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -uNr gnome-admin-0.25/macros/gnome-libgtop-sysdeps.m4 gnome-admin-0.26/macros/gnome-libgtop-sysdeps.m4 --- gnome-admin-0.25/macros/gnome-libgtop-sysdeps.m4 Tue Aug 4 11:36:46 1998 +++ gnome-admin-0.26/macros/gnome-libgtop-sysdeps.m4 Tue Aug 11 11:05:00 1998 @@ -83,6 +83,11 @@ libgtop_use_machine_h=yes libgtop_need_server=yes ;; + freebsd*) + libgtop_sysdeps_dir=freebsd + libgtop_use_machine_h=yes + libgtop_need_server=yes + ;; *) libgtop_sysdeps_dir=stub libgtop_use_machine_h=no diff -uNr gnome-admin-0.25/macros/gnome-objc-checks.m4 gnome-admin-0.26/macros/gnome-objc-checks.m4 --- gnome-admin-0.25/macros/gnome-objc-checks.m4 Tue Aug 4 11:36:46 1998 +++ gnome-admin-0.26/macros/gnome-objc-checks.m4 Tue Aug 11 11:05:00 1998 @@ -60,7 +60,7 @@ AC_MSG_RESULT(found) else AC_MSG_RESULT(not found) - AC_MSG_ERROR(Could not find the obGnomeConf.sh file that is generated by gnome-objc install) + AC_MSG_WARN(Could not find the obGnomeConf.sh file that is generated by gnome-objc install) fi AC_SUBST(OBGNOME_INCLUDEDIR) AC_SUBST(OBGNOME_LIBS) diff -uNr gnome-admin-0.25/po/gnome-admin.pot gnome-admin-0.26/po/gnome-admin.pot --- gnome-admin-0.25/po/gnome-admin.pot Tue Aug 4 11:57:58 1998 +++ gnome-admin-0.26/po/gnome-admin.pot Tue Aug 11 11:08:16 1998 @@ -1,7 +1,7 @@ msgid "" msgstr "" -"Date: 1998-08-04 11:57:58-0400\n" -"From: Gregory McLean \n" +"Date: 1998-08-11 11:08:16-0400\n" +"From: \n" "Content-Type: text/plain; charset=\n" "Xgettext-Options: --default-domain=gnome-admin --directory=.. --add-comments --keyword=_ --keyword=N_ --files-from=./POTFILES.in\n" "Files: gulp/gulp.m\n" Binary files gnome-admin-0.25/po/sv.gmo and gnome-admin-0.26/po/sv.gmo differ diff -uNr gnome-admin-0.25/po/sv.po gnome-admin-0.26/po/sv.po --- gnome-admin-0.25/po/sv.po Wed Dec 31 19:00:00 1969 +++ gnome-admin-0.26/po/sv.po Tue Aug 11 11:04:58 1998 @@ -0,0 +1,80 @@ +# Swedish translation for the gnome-admin module. +# Copyright (C) 1998 Free Software Foundation, Inc. +# Martin Wahlen , 1998. +# +msgid "" +msgstr "" +"Project-Id-Version: gnome-admin-0.13\n" +"POT-Creation-Date: 1998-04-21 13:34+0200\n" +"PO-Revision-Date: 1998-08-07 12:20+0100\n" +"Last-Translator: Martin Wahlen \n" +"Language-Team: Swedish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-1\n" +"Content-Transfer-Encoding: 8-bit\n" + +#: gulp/gulp.m:26 +msgid "OK" +msgstr "OK" + +#: gulp/gulp.m:78 +msgid "GULP" +msgstr "GULP" + +#. another comments +#: gulp/gulp.m:83 +msgid "GNOME Unified Link to Printers program." +msgstr "programmet GNOMEs förenade länk till skrivare." + +#: gulp/gulp.m:125 gulp/gulp.m:179 +msgid "You must select a printer" +msgstr "Du måste välja en skrivare" + +#: gulp/gulp.m:156 gulp/gulp.m:215 +msgid "Operation failed" +msgstr "Operationen misslyckades" + +#: gulp/gulp.m:197 +msgid "You must select a job" +msgstr "Du måste välja ett uppdrag" + +#: gulp/gulp.m:368 +msgid "select_row" +msgstr "välj_rad" + +#: gulp/gulp.m:459 +msgid "Printing system not installed" +msgstr "Utskriftssystemet är inte installerat" + +#: gulp/gulp.m:468 +msgid "GNOME Unified Link to Printers" +msgstr "GNOMEs förenade länk till skrivare" + +#: gulp/gulp.m:494 +msgid "Printer queues" +msgstr "Skrivarköer" + +#: gulp/gulp.m:513 +msgid "Queueing" +msgstr "Ställer i kö" + +#: gulp/gulp.m:514 +msgid "Printing" +msgstr "Skriver ut" + +#: gulp/gulp.m:515 +msgid "Clear queue" +msgstr "Töm kön" + +#: gulp/gulp.m:516 +msgid "Restart daemon" +msgstr "Starta om betjänten" + +#. Jobs +#: gulp/gulp.m:530 +msgid "Jobs for selected printer" +msgstr "Uppdrag för vald skrivare" + +#: gulp/gulp.m:549 +msgid "Cancel job" +msgstr "Avbryt uppdrag"