Index: aclocal.m4 ================================================================== --- aclocal.m4 +++ aclocal.m4 @@ -42,10 +42,16 @@ AC_DEFINE(HAVE_LIBSTATGRAB, [1], [Define to 1 if you have sg_get_mem_stats from -lstatgrab]) LIBS="$LIBS $LIBSTATGRABFLAGS -lstatgrab" AC_CHECK_LIB(statgrab, statgrab_drop_privileges, [ AC_DEFINE(HAVE_STATGRAB_DROP_PRIVILEGES, [1], [Define to 1 if you have statgrab_drop_privileges from -lstatgrab]) ]) + AC_CHECK_LIB(statgrab, sg_free_mem_stats, [ + AC_DEFINE(HAVE_SG_FREE_MEM_STATS, [1], [Define to 1 if you have sg_free_mem_stats from -lstatgrab]) + ]) + AC_CHECK_LIB(statgrab, sg_free_swap_stats, [ + AC_DEFINE(HAVE_SG_FREE_SWAP_STATS, [1], [Define to 1 if you have sg_free_swap_stats from -lstatgrab]) + ]) ], [ CFLAGS="$OLDCFLAGS" CPPFLAGS="$OLDCPPFLAGS" AC_MSG_ERROR(Could not find statgrab.h) ]) Index: config.h.in ================================================================== --- config.h.in +++ config.h.in @@ -9,10 +9,16 @@ /* Define to 1 if you have the header file. */ #undef HAVE_LIBSTATGRAB_H /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H + +/* Define to 1 if you have sg_free_mem_stats from -lstatgrab */ +#undef HAVE_SG_FREE_MEM_STATS + +/* Define to 1 if you have sg_free_swap_stats from -lstatgrab */ +#undef HAVE_SG_FREE_SWAP_STATS /* Define to 1 if you have statgrab_drop_privileges from -lstatgrab */ #undef HAVE_STATGRAB_DROP_PRIVILEGES /* Define to 1 if you have the header file. */ Index: configure ================================================================== --- configure +++ configure @@ -3543,10 +3543,98 @@ if test "x$ac_cv_lib_statgrab_statgrab_drop_privileges" = xyes; then : $as_echo "#define HAVE_STATGRAB_DROP_PRIVILEGES 1" >>confdefs.h + +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sg_free_mem_stats in -lstatgrab" >&5 +$as_echo_n "checking for sg_free_mem_stats in -lstatgrab... " >&6; } +if ${ac_cv_lib_statgrab_sg_free_mem_stats+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lstatgrab $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sg_free_mem_stats (); +int +main () +{ +return sg_free_mem_stats (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_statgrab_sg_free_mem_stats=yes +else + ac_cv_lib_statgrab_sg_free_mem_stats=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_statgrab_sg_free_mem_stats" >&5 +$as_echo "$ac_cv_lib_statgrab_sg_free_mem_stats" >&6; } +if test "x$ac_cv_lib_statgrab_sg_free_mem_stats" = xyes; then : + + +$as_echo "#define HAVE_SG_FREE_MEM_STATS 1" >>confdefs.h + + +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sg_free_swap_stats in -lstatgrab" >&5 +$as_echo_n "checking for sg_free_swap_stats in -lstatgrab... " >&6; } +if ${ac_cv_lib_statgrab_sg_free_swap_stats+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lstatgrab $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sg_free_swap_stats (); +int +main () +{ +return sg_free_swap_stats (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_statgrab_sg_free_swap_stats=yes +else + ac_cv_lib_statgrab_sg_free_swap_stats=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_statgrab_sg_free_swap_stats" >&5 +$as_echo "$ac_cv_lib_statgrab_sg_free_swap_stats" >&6; } +if test "x$ac_cv_lib_statgrab_sg_free_swap_stats" = xyes; then : + + +$as_echo "#define HAVE_SG_FREE_SWAP_STATS 1" >>confdefs.h + fi else Index: freecolor.c ================================================================== --- freecolor.c +++ freecolor.c @@ -187,10 +187,17 @@ retval->cachedram = mem_stats->cache; retval->sharedram = 0; retval->bufferram = 0; retval->totalswap = swap_stats->total; retval->freeswap = swap_stats->free; + +#ifdef HAVE_SG_FREE_MEM_STATS + sg_free_mem_stats(mem_stats); +#endif +#ifdef HAVE_SG_FREE_SWAP_STATS + sg_free_swap_stats(swap_stats); +#endif return(0); } #endif @@ -324,11 +331,11 @@ if (doloop==0) { break; } - usleep(doloop*1000000); - printf("\033[%iA",linestoup); + usleep(doloop * 1000000); + printf("\033[%iA", linestoup); } return(0); }