Importing 0.8.4.

This commit is contained in:
Alexander Shaduri
2010-12-26 19:46:54 +00:00
parent 880d876ccf
commit 10e4496bb7
189 changed files with 611 additions and 480 deletions
+9 -3
View File
@@ -1,7 +1,13 @@
Version 0.8.4, released on ---------
Blacklist Linux Software RAID devices (backported from Debian).
Win32: Use smartmontools-supplied smartctl-nc.exe by default (if found).
Version 0.8.4, released on 2009-03-23
Linux Software RAID devices are blacklisted now. (backported from Debian).
Attributes tab is before the capabilities tab now.
A man page has been generously contributed by Giuseppe Iuculano
<giuseppe@iuculano.it>.
Smartctl version now includes the CVS snapshot date (if available).
Windows: Look for "smartctl-nc.exe" instead of "smartctl.exe" by default.
Windows: Use smartmontools-supplied smartctl-nc.exe by default (if found).
Other minor changes (mainly Debian backports).
Version 0.8.3, released on 2008-12-27
A random "Smartctl returned an empty output" error on Windows was fixed.
+15 -15
View File
@@ -18,26 +18,27 @@ http://gsmartcontrol.berlios.de
Features
Automatically report and highlight any abnormal SMART information.
* automatically reports and highlights any anomalies;
Ability to enable / disable SMART.
* allows enabling/disabling SMART;
Ability to enable / disable Automatic Offline Data Collection - A short
* allows enabling/disabling Automatic Offline Data Collection - a short
self-check that the drive will perform automatically every four hours with no
impact on performance.
impact on performance;
Ability to set global and per-drive options for smartctl.
* supports configuration of global and per-drive options for smartctl;
Display drive identity, capabilities, attributes, error and self-test logs.
* displays drive identity information, capabilities, attributes, and
self-test/error logs;
Perform SMART self-tests.
* performs SMART self-tests;
Ability to load smartctl output as a "virtual" device, which acts just like a
real (read-only) device.
* can read in smartctl output from a saved file, interpreting it as a
read-only virtual device;
Works on most smartctl-supported operating systems.
* works on most smartctl-supported operating systems;
Extensive help information.
* has extensive help information.
@@ -327,9 +328,8 @@ terminal emulator (e.g., xterm, konsole or gnome-terminal):
smartctl -a /dev/sda
Note: If using official Windows packages, smartctl.exe doesn't provide any
output. Use smartctl_console.exe instead. The devices name should be /dev/pd1
for the second physical drive, etc... .
Note: If using Windows, the device name should be /dev/pd1 for the second
physical drive, etc... .
If you still think it's a GSmartControl issue, please collect the following
information about your system. Without it, it may be very hard or impossible
@@ -372,7 +372,7 @@ For license information, see LICENSE_gsmartcontrol.txt file.
You may notice that GSmartControl is not licensed under "GNU GPL version X or
later", but under "GNU GPL version X and Y". I firmly believe that it's unwise
to license a piece of code under non-existant licenses, whatever anyone else
to license a piece of code under non-existent licenses, whatever anyone else
might say. The reason for this is that one simply CANNOT know that, say, in 20
years FSF won't be bought by some corporation who will release GPL version Z
which will completely reverse the reasons GPL was created for.
+14 -5
View File
@@ -48,11 +48,21 @@ libdebug:
bug: if -q is passed, Execution log doesn't contain libdebug log. (requires per-channel status control).
Move attributes as a second tab
INCLUDE SMARTMONTOOLS LICENSE!!
'-l sataphy' -> SATA Phy event counters: Non-SMART feature, useful to detect SATA cabling problems.
'-l xerror' -> Extended Comprehensive Error log: An multi-sector and
LBA48 capable version of '-l error'. Output is similar, except more
entries can exists and the high bytes of the registers are also printed.
Some newer drives (Samsung) only write to this log.
'-l scttemp' -> SCT Temperature history table. See below.
'-l xselftest' -> Extended Self Test Log: An multi-sector and LBA48
capable version of '-l selftest'. Output will be similar, except more
entries can exists and the LBA values can be somewhat longer.
Update copyright years.
----------- Feature List ----------
@@ -88,7 +98,6 @@ Update copyright years.
+ * Selective self-test log and settings
* SCT status and other stuff
Display temperature somewhere (use SCT or Attr 194 for this).
Which one is updated more frequently, SCT or attr 194?
+ * Ability to save this information to a file.
+ * On info window show: Ask to turn SMART on if it's disabled
@@ -98,7 +107,7 @@ Update copyright years.
+ smartctl exited with error - look it up in error map.
SCT Temperatures (do we use these?)
SCT Temperatures
-l scttemp prints temperature and history.
-t scttempint,N[,p] (N - count, p - preserve across reset or not).
This configures temperature logging interval (1 min by default) and clears the history.
+3
View File
@@ -36,6 +36,9 @@ AC_CHECK_TOOL(WINDRES, windres)
# Win32 external dll stripping (already detected by autoconf)
# AC_CHECK_TOOL(STRIP, strip)
# Defines LN_S, needed for man page installation.
AC_PROG_LN_S
# -------------------------------------------------------------------------------------
@@ -1,8 +1,8 @@
#!/bin/bash
############################################################################
# Copyright:
# (C) 2008 Alex Butcher <alex dot butcher 'at' assursys.co.uk>
# (C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
# (C) 2008 - 2009 Alex Butcher <alex dot butcher 'at' assursys.co.uk>
# (C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
# License: See LICENSE_whatever.txt file
############################################################################
@@ -1,8 +1,8 @@
#!/bin/bash
############################################################################
# Copyright:
# (C) 2008 Alex Butcher <alex dot butcher 'at' assursys.co.uk>
# (C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
# (C) 2008 - 2009 Alex Butcher <alex dot butcher 'at' assursys.co.uk>
# (C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
# License: See LICENSE_whatever.txt file
############################################################################
+13 -2
View File
@@ -1,12 +1,23 @@
SUBDIRS = 16 22 24 32 48 64 128 256 nsis
dist_man_MANS = gsmartcontrol.1
install-extra-mans:
cd $(DESTDIR)$(mandir)/man1 && $(LN_S) -f gsmartcontrol.1 gsmartcontrol-root.1
uninstall-extra-mans:
cd $(DESTDIR)$(mandir)/man1 && rm -f gsmartcontrol-root.1
# This command is needed if installing with make install (the cache
# file is ignored for rpms).
gtk_update_icon_cache = gtk-update-icon-cache -f -t $(datadir)/icons/hicolor
install-data-hook: update-icon-cache
uninstall-hook: update-icon-cache
install-data-hook: install-extra-mans update-icon-cache
uninstall-hook: uninstall-extra-mans update-icon-cache
update-icon-cache:
@-if test -z "$(DESTDIR)"; then \
echo "Updating GTK icon cache."; \
+74
View File
@@ -0,0 +1,74 @@
.TH GSmartControl "1" "" "gsmartcontrol " "User Commands"
.SH NAME
GSmartControl \- Hard disk drive health inspection tool
.SH SYNOPSIS
\fBgsmartcontrol\fP [OPTIONS]
\fBgsmartcontrol\-root\fP [\fI<desktop>\fP [OPTIONS]]
.SH DESCRIPTION
\fBGSmartControl\fP is a graphical user interface for smartctl (from
smartmontools), which is a tool for querying and controlling SMART
(Self-Monitoring, Analysis, and Reporting Technology) data on modern hard disk
drives. It allows you to inspect the drive's SMART data to determine its
health, as well as run various tests on it.
.PP
This manual page documents briefly the \fBgsmartcontrol\fP and
\fBgsmartcontrol\-root\fP commands.
.PP
\fBgsmartcontrol\-root\fP command launches \fBgsmartcontrol\fP with
administrative privileges. The \fIdesktop\fP argument specifies which desktop
is currently running, for automatic selection of native su mechanism. Valid
values for \fIdesktop\fP are \fBauto\fP, \fBkde\fP, \fBgnome\fP, \fBother\fP.
.SH OPTIONS
.SS "Help Options:"
.TP
\fB\-?\fP, \fB\-\-help\fP
Show help options
.TP
\fB\-\-help\-all\fP
Show all help options
.TP
\fB\-\-help\-gtk\fP
Show GTK+ options
.TP
\fB\-\-help\-debug\fR
Show logging options
.SS "Application Options:"
.TP
\fB\-l\fP, \fB\-\-no\-locale\fP
Disable locale
.TP
\fB\-V\fP, \fB\-\-version\fP
Display version information
.TP
\fB\-\-no\-scan\fP
Don't scan devices on startup
.TP
\fB\-\-no\-hide\-tabs\fP
Don't hide non\-identity tabs when SMART is disabled. Useful for debugging.
.TP
\fB\-\-add\-virtual\fP
Load smartctl data from file, creating a virtual drive
.TP
\fB\-\-add\-device\fP
Add this device to device list. Useful with \fB\-\-no\-scan\fP to list certain drives only.
.TP
\fB\-\-display\fP=\fIDISPLAY\fP
X display to use
.TP
\fB\-v\fP, \fB\-\-verbose\fP
Enable verbose logging; same as \fB\-\-verbosity\-level\fP 5
.TP
\fB\-q\fP, \fB\-\-quiet\fP
Disable logging; same as \fB\-\-verbosity\-level\fP 0
.TP
\fB\-b\fP, \fB\-\-verbosity\-level\fP
Set verbosity level [0\-5]
.PP
.SH COPYRIGHT
Copyright \(co 2008 \- 2009 Alexander Shaduri <ashaduri \'at\' gmail.com>
.PP
.SH AUTHOR
This manual page was originally written by Giuseppe Iuculano
<giuseppe@iuculano.it>, for the Debian project.
+7 -3
View File
@@ -23,6 +23,10 @@ binary was compiled for 32-bit Windows, and should work on both 32-bit and
* PCRE (http://www.pcre.org/) dll.
* Smartctl binaries - smartctl-nc.exe (compiled without console output),
smartctl.exe (compiled with console output), version 5.38.
http://smartmontools.sf.net/ .
* Smartctl binaries (from smartmontools 5.38, http://smartmontools.sf.net/) -
smartctl-nc.exe (compiled without console output), smartctl.exe (compiled with
console output).
The combined distribution is multi-licensed under GNU GPL versions 2 and 3.
See LICENSE_gpl2.txt and LICENSE_gpl3.txt for details.
+4 -5
View File
@@ -15,8 +15,7 @@ Architecture: any
Depends: ${shlibs:Depends}, smartmontools
Description: Hard disk drive health inspection tool
GSmartControl is a graphical user interface for smartctl (from smartmontools
package, see http://smartmontools.sourceforge.net), which is a tool for
querying and controlling SMART (Self-Monitoring, Analysis, and Reporting
Technology) data on modern hard disk drives. It allows you to inspect the
drive's SMART data to determine its health, as well as run various tests on
it.
package), which is a tool for querying and controlling SMART
(Self-Monitoring, Analysis, and Reporting Technology) data on modern hard
disk drives. It allows you to inspect the drive's SMART data to determine its
health, as well as run various tests on it.
+2 -2
View File
@@ -5,7 +5,7 @@ It was downloaded from <http://gsmartcontrol.berlios.de/>
Copyright:
Copyright (C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
Copyright (C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License:
@@ -27,6 +27,6 @@ On Debian systems, the complete text of the GNU General
Public Licenses can be found in `/usr/share/common-licenses/GPL-2' and
`/usr/share/common-licenses/GPL-3'.
The Debian packaging is (C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com> and
The Debian packaging is (C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com> and
is licensed under the GPLv2 and GPLv3, see above.
+8 -4
View File
@@ -25,8 +25,12 @@ endif
ifneq "$(wildcard /usr/share/misc/config.guess)" ""
cp -f /usr/share/misc/config.guess config.guess
endif
./configure --enable-optimize-options=auto --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info CFLAGS="$(CFLAGS)" LDFLAGS="-Wl,-z,defs"
./configure --host=$(DEB_HOST_GNU_TYPE) \
--build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man \
--infodir=\$${prefix}/share/info CFLAGS="$(CFLAGS)" LDFLAGS="-Wl,-z,defs"
# Add --enable-optimize-options=auto to configure line
# for optimized build (may not work on older gcc versions).
build: build-stamp
@@ -42,7 +46,7 @@ build-stamp: config.status
clean:
dh_testdir
dh_testroot
rm -f build-stamp
rm -f build-stamp
# Add here commands to clean up after the build process.
-$(MAKE) clean
@@ -72,7 +76,7 @@ binary-arch: build install
# dh_installexamples
# dh_install
dh_installmenu
# dh_installdebconf
# dh_installdebconf
# dh_installlogrotate
# dh_installemacsen
# dh_installpam
@@ -95,4 +99,4 @@ binary-arch: build install
dh_builddeb
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install
.PHONY: build clean binary-indep binary-arch binary install
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
############################################################################
# Copyright:
# (C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
# (C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
# License: See LICENSE_zlib.txt file
############################################################################
+1 -1
View File
@@ -22,7 +22,7 @@
<kdevautoproject>
<general>
<activetarget>src/gsmartcontrol</activetarget>
<useconfiguration>win32</useconfiguration>
<useconfiguration>debuggy</useconfiguration>
</general>
<run>
<mainprogram>/10/devel/projects/gsmartcontrol/current/gsmartcontrol/debuggy</mainprogram>
+1
View File
@@ -126,6 +126,7 @@ rm -rf %buildroot
# %attr(0644,root,root) %config(noreplace) %{_sysconfdir}/*
%doc %{_datadir}/doc/gsmartcontrol
%doc %{_mandir}/man1/*
%{_datadir}/gsmartcontrol
# %{_datadir}/gsmartcontrol/*
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_whatever.txt
***************************************************************************/
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_whatever.txt
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_whatever.txt
***************************************************************************/
+33 -20
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
@@ -148,23 +148,34 @@ bool SmartctlParser::parse_full(const std::string& full)
// version info
std::string version = parse_version(s);
if (version.empty()) {
std::string version, version_full;
if (!parse_version(s, version, version_full)) {
set_error_msg("Cannot extract smartctl version information.");
debug_out_warn("app", DBG_FUNC_MSG << "Cannot extract version information. Returning.\n");
return false;
} else {
StorageProperty p;
p.set_name("Smartctl version", "smartctl_version");
p.reported_value = version;
p.value_type = StorageProperty::value_type_string;
p.value_string = p.reported_value;
p.section = StorageProperty::section_info; // add to info section
add_property(p);
{
StorageProperty p;
p.set_name("Smartctl version", "smartctl_version");
p.reported_value = version;
p.value_type = StorageProperty::value_type_string;
p.value_string = p.reported_value;
p.section = StorageProperty::section_info; // add to info section
add_property(p);
}
{
StorageProperty p;
p.set_name("Smartctl version", "smartctl_version_full");
p.reported_value = version_full;
p.value_type = StorageProperty::value_type_string;
p.value_string = p.reported_value;
p.section = StorageProperty::section_info; // add to info section
add_property(p);
}
}
if (!check_version(version)) {
if (!check_version(version, version_full)) {
set_error_msg("Incompatible smartctl version.");
debug_out_warn("app", DBG_FUNC_MSG << "Incompatible smartctl version. Returning.\n");
return false;
@@ -210,25 +221,24 @@ bool SmartctlParser::parse_full(const std::string& full)
// Supply output of "smartctl --version" here.
// returns empty string on failure. Non-unix newlines in s are ok.
std::string SmartctlParser::parse_version(const std::string& s)
// returns false on failure. Non-unix newlines in s are ok.
bool SmartctlParser::parse_version(const std::string& s, std::string& version, std::string& version_full)
{
std::string version;
// e.g. "smartctl version 5.37" or "smartctl 5.39"
if (!app_pcre_match("/^smartctl (?:version )?([0-9][^ \\t\\n\\r]+)/mi", s, &version)) {
if (!app_pcre_match("/^smartctl (?:version )?(([0-9][^ \\t\\n\\r]+)(?: [0-9 :-]+)?)/mi", s, &version_full, &version)) {
debug_out_error("app", DBG_FUNC_MSG << "No smartctl version information found in supplied string.\n");
return std::string();
return false;
}
hz::string_trim(version_full);
return version;
return true;
}
// check that the version of smartctl output can be parsed with this parser.
bool SmartctlParser::check_version(const std::string& version_str)
bool SmartctlParser::check_version(const std::string& version_str, const std::string& version_full_str)
{
// tested with 5.1-xx versions (1 - 18), and 5.[20 - 38].
// note: 5.1-11 (maybe others too) with scsi disk gives non-parsable output (why?).
@@ -352,7 +362,7 @@ bool SmartctlParser::parse_section_info(const std::string& body)
// split by lines.
// e.g. Device Model: ST3500630AS
pcrecpp::RE re = app_pcre_re("/^([^:\\n]+):[ \\t]*(.*)$/mi");
pcrecpp::RE re = app_pcre_re("/^([^\\n]+): [ \\t]*(.*)$/miU"); // ungreedy
std::string name, value;
pcrecpp::StringPiece input(body); // position tracker
@@ -467,6 +477,9 @@ bool SmartctlParser::parse_section_info_property(StorageProperty& p)
} else {
debug_out_warn("app", DBG_FUNC_MSG << "Unknown attribute \"" << p.reported_name << "\"\n");
// this is not an error, just unknown attribute. treat it as string.
// Don't highlight it with warning, it may just be a new smartctl feature.
p.value_type = StorageProperty::value_type_string;
p.value_string = p.reported_value;
}
return true;
+4 -5
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
@@ -28,13 +28,12 @@ class SmartctlParser {
bool parse_full(const std::string& s);
// supply output of "smartctl --version" here.
// returns empty string on failure.
static std::string parse_version(const std::string& s);
// supply any output of smartctl here.
static bool parse_version(const std::string& s, std::string& version, std::string& version_full);
// check that the version of smartctl output can be parsed with this parser.
static bool check_version(const std::string& version_str);
static bool check_version(const std::string& version_str, const std::string& version_full_str);
// convert e.g. "1,000,204,886,016 bytes" to 1.00 TiB [931.51 GB, 1000204886016 bytes]
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_whatever.txt
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_whatever.txt
***************************************************************************/
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_whatever.txt
***************************************************************************/
+3 -3
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
@@ -55,8 +55,8 @@ std::string StorageDevice::parse_basic_data(bool do_set_properties, bool emit_si
return "Cannot read information from an empty string.";
}
std::string version = SmartctlParser::parse_version(this->info_output_);
if (version.empty()) // is this smartctl data at all?
std::string version, version_full;
if (!SmartctlParser::parse_version(this->info_output_, version, version_full)) // is this smartctl data at all?
return "Cannot get smartctl version information.";
// detect type. note: we can't distinguish between sata and scsi (on linux, for -d ata switch).
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
@@ -12,7 +12,7 @@
// colors for tree rows
inline bool app_property_get_row_hilight_colors(StorageProperty::warning_t warning, std::string& fg, std::string& bg)
inline bool app_property_get_row_highlight_colors(StorageProperty::warning_t warning, std::string& fg, std::string& bg)
{
// Note: we're setting both fg and bg, to avoid theme conflicts.
if (warning == StorageProperty::warning_notice) {
@@ -34,7 +34,7 @@ inline bool app_property_get_row_hilight_colors(StorageProperty::warning_t warni
// colors for labels
inline bool app_property_get_label_hilight_color(StorageProperty::warning_t warning, std::string& fg)
inline bool app_property_get_label_highlight_color(StorageProperty::warning_t warning, std::string& fg)
{
if (warning == StorageProperty::warning_notice) {
fg = "#770000"; // very dark red
@@ -56,7 +56,7 @@ inline bool app_property_get_label_hilight_color(StorageProperty::warning_t warn
inline std::string storage_property_get_warning_reason(const StorageProperty& p)
{
std::string fg, start, stop;
if (app_property_get_label_hilight_color(p.warning, fg)) {
if (app_property_get_label_highlight_color(p.warning, fg)) {
start = "<span color=\"" + fg + "\">";
stop = "</span>";
}
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_zlib.txt file
***************************************************************************/
+2 -2
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
@@ -47,7 +47,7 @@ GscAboutDialog::GscAboutDialog(BaseObjectType* gtkcobj, const app_ui_res_ref_t&
set_license(LicenseTextResData().get_string());
// spammers go away
set_copyright("Copyright (C) 2008 Alexander Shaduri " "<ashaduri" "" "@" "" "" "gmail.com>");
set_copyright("Copyright (C) 2008 - 2009 Alexander Shaduri " "<ashaduri" "" "@" "" "" "gmail.com>");
std::string authors_str = AuthorsTextResData().get_string();
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
+20 -18
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
@@ -76,7 +76,7 @@ namespace {
label->set_flags(label->get_flags() & ~Gtk::CAN_FOCUS);
std::string fg;
if (app_property_get_label_hilight_color(iter->property->warning, fg))
if (app_property_get_label_highlight_color(iter->property->warning, fg))
label->set_markup("<span color=\"" + fg + "\">" + label_text + "</span>");
vbox->pack_start(*label, false, false);
@@ -100,7 +100,7 @@ namespace {
Gtk::CellRendererText* crt = hz::down_cast<Gtk::CellRendererText*>(cr);
if (crt) {
std::string fg, bg;
if (app_property_get_row_hilight_colors(p->warning, fg, bg)) {
if (app_property_get_row_highlight_colors(p->warning, fg, bg)) {
// Note: property_cell_background makes horizontal tree lines disappear around it,
// but property_background doesn't play nice with sorted column color.
crt->property_cell_background() = bg;
@@ -115,7 +115,7 @@ namespace {
}
inline void app_hilight_tab_label(Gtk::Widget* label_widget,
inline void app_highlight_tab_label(Gtk::Widget* label_widget,
StorageProperty::warning_t warning, const Glib::ustring& original_label)
{
Gtk::Label* label = hz::down_cast<Gtk::Label*>(label_widget);
@@ -128,7 +128,7 @@ namespace {
}
std::string fg;
if (app_property_get_label_hilight_color(warning, fg))
if (app_property_get_label_highlight_color(warning, fg))
label->set_markup_with_mnemonic("<span color=\"" + fg + "\">" + original_label + "</span>");
}
@@ -358,8 +358,10 @@ void GscInfoWindow::fill_ui_with_info(bool scan, bool clear_ui, bool clear_tests
for (prop_iterator iter = props.begin(); iter != props.end(); ++iter) {
if (iter->section == StorageProperty::section_info) {
if (iter->generic_name == "smartctl_version") {
if (iter->generic_name == "smartctl_version_full") {
version_props.push_back(*iter);
} else if (iter->generic_name == "smartctl_version") {
continue; // we use the full version string instead.
} else {
id_props.push_back(*iter);
}
@@ -411,7 +413,7 @@ void GscInfoWindow::fill_ui_with_info(bool scan, bool clear_ui, bool clear_tests
value->set_markup(Glib::Markup::escape_text(iter->format_value()));
std::string fg;
if (app_property_get_label_hilight_color(iter->warning, fg)) {
if (app_property_get_label_highlight_color(iter->warning, fg)) {
name->set_markup("<span color=\"" + fg + "\">"+ name->get_label() + "</span>");
value->set_markup("<span color=\"" + fg + "\">"+ value->get_label() + "</span>");
}
@@ -434,7 +436,7 @@ void GscInfoWindow::fill_ui_with_info(bool scan, bool clear_ui, bool clear_tests
identity_table->show_all();
// tab label
app_hilight_tab_label(lookup_widget("identity_tab_label"), max_warning, tab_identity_name);
app_highlight_tab_label(lookup_widget("identity_tab_label"), max_warning, tab_identity_name);
} while (false);
@@ -529,7 +531,7 @@ void GscInfoWindow::fill_ui_with_info(bool scan, bool clear_ui, bool clear_tests
}
// tab label
app_hilight_tab_label(lookup_widget("capabilities_tab_label"), max_warning, tab_capabilities_name);
app_highlight_tab_label(lookup_widget("capabilities_tab_label"), max_warning, tab_capabilities_name);
} while (false);
@@ -678,7 +680,7 @@ void GscInfoWindow::fill_ui_with_info(bool scan, bool clear_ui, bool clear_tests
app_set_top_labels(label_vbox, label_strings);
// tab label
app_hilight_tab_label(lookup_widget("attributes_tab_label"), max_warning, tab_attributes_name);
app_highlight_tab_label(lookup_widget("attributes_tab_label"), max_warning, tab_attributes_name);
} while (false);
@@ -816,7 +818,7 @@ void GscInfoWindow::fill_ui_with_info(bool scan, bool clear_ui, bool clear_tests
app_set_top_labels(label_vbox, label_strings);
// tab label
app_hilight_tab_label(lookup_widget("error_log_tab_label"), max_warning, tab_error_log_name);
app_highlight_tab_label(lookup_widget("error_log_tab_label"), max_warning, tab_error_log_name);
} while (false);
@@ -929,7 +931,7 @@ void GscInfoWindow::fill_ui_with_info(bool scan, bool clear_ui, bool clear_tests
app_set_top_labels(label_vbox, label_strings);
// tab label
app_hilight_tab_label(lookup_widget("selftest_log_tab_label"), max_warning, tab_selftest_log_name);
app_highlight_tab_label(lookup_widget("selftest_log_tab_label"), max_warning, tab_selftest_log_name);
} while (false);
@@ -1087,7 +1089,7 @@ void GscInfoWindow::clear_ui_info(bool clear_tests_too)
}
// tab label
app_hilight_tab_label(lookup_widget("identity_tab_label"), StorageProperty::warning_none, tab_identity_name);
app_highlight_tab_label(lookup_widget("identity_tab_label"), StorageProperty::warning_none, tab_identity_name);
}
{
@@ -1103,7 +1105,7 @@ void GscInfoWindow::clear_ui_info(bool clear_tests_too)
}
// tab label
app_hilight_tab_label(lookup_widget("capabilities_tab_label"), StorageProperty::warning_none, tab_capabilities_name);
app_highlight_tab_label(lookup_widget("capabilities_tab_label"), StorageProperty::warning_none, tab_capabilities_name);
}
{
@@ -1120,7 +1122,7 @@ void GscInfoWindow::clear_ui_info(bool clear_tests_too)
}
// tab label
app_hilight_tab_label(lookup_widget("attributes_tab_label"), StorageProperty::warning_none, tab_attributes_name);
app_highlight_tab_label(lookup_widget("attributes_tab_label"), StorageProperty::warning_none, tab_attributes_name);
}
{
@@ -1144,7 +1146,7 @@ void GscInfoWindow::clear_ui_info(bool clear_tests_too)
}
// tab label
app_hilight_tab_label(lookup_widget("error_log_tab_label"), StorageProperty::warning_none, tab_error_log_name);
app_highlight_tab_label(lookup_widget("error_log_tab_label"), StorageProperty::warning_none, tab_error_log_name);
}
{
@@ -1161,7 +1163,7 @@ void GscInfoWindow::clear_ui_info(bool clear_tests_too)
}
// tab label
app_hilight_tab_label(lookup_widget("selftest_log_tab_label"), StorageProperty::warning_none, tab_selftest_log_name);
app_highlight_tab_label(lookup_widget("selftest_log_tab_label"), StorageProperty::warning_none, tab_selftest_log_name);
}
{
@@ -1217,7 +1219,7 @@ void GscInfoWindow::clear_ui_info(bool clear_tests_too)
// tab label
app_hilight_tab_label(lookup_widget("test_tab_label"), StorageProperty::warning_none, tab_test_name);
app_highlight_tab_label(lookup_widget("test_tab_label"), StorageProperty::warning_none, tab_test_name);
}
}
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
+2 -2
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
@@ -194,7 +194,7 @@ inline void app_print_version_info()
std::string warningtext = std::string("\nWarning: GSmartControl");
warningtext += " comes with ABSOLUTELY NO WARRANTY.\n";
warningtext += "See LICENSE_gsmartcontrol.txt file for details.\n";
warningtext += "\nCopyright (C) 2008 Alexander Shaduri <ashaduri" "" "@" "" "" "gmail.com>\n\n";
warningtext += "\nCopyright (C) 2008 - 2009 Alexander Shaduri <ashaduri" "" "@" "" "" "gmail.com>\n\n";
std::printf("%s%s", versiontext.c_str(), warningtext.c_str());
}
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
+5 -4
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
@@ -18,7 +18,7 @@
#include "applib/smartctl_executor.h" // get_smartctl_binary()
#include "applib/smartctl_executor_gui.h"
#include "applib/app_gtkmm_utils.h" // app_gtkmm_*
#include "applib/storage_property_colors.h" // app_property_get_label_hilight_color
#include "applib/storage_property_colors.h" // app_property_get_label_highlight_color
#include "applib/app_pcrecpp.h" // app_pcre_match
#include "gsc_init.h" // app_quit()
@@ -96,7 +96,8 @@ GscMainWindow::GscMainWindow(BaseObjectType* gtkcobj, const app_ui_res_ref_t& re
break;
}
if (SmartctlParser::parse_version(output).empty()) {
std::string version, version_full;
if (!SmartctlParser::parse_version(output, version, version_full)) {
error_msg = "Smartctl returned invalid output.";
break;
}
@@ -905,7 +906,7 @@ void GscMainWindow::update_status_widgets()
if (health_prop.generic_name == "overall_health") {
health_label->set_text(health_prop.format_value());
std::string fg;
if (app_property_get_label_hilight_color(health_prop.warning, fg)) {
if (app_property_get_label_highlight_color(health_prop.warning, fg)) {
health_label->set_markup("<span color=\"" + fg + "\">"+ health_label->get_text() + "</span>");
}
// don't set description tooltip - we already have the basic one.
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
+2 -2
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
@@ -194,7 +194,7 @@ class GscMainWindowIconView : public Gtk::IconView {
gtk_icon_view_set_cursor(GTK_ICON_VIEW(this->gobj()), tpath.gobj(), cell->gobj(), false);
}
#endif
this->select_path(tpath); // hilight it
this->select_path(tpath); // highlight it
}
++num_icons;
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_gsmartcontrol.txt
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_zlib.txt file
***************************************************************************/
+2 -2
View File
@@ -1,7 +1,7 @@
/**************************************************************************
Copyright:
(C) 2000 - 2008 Kevlin Henney
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2000 - 2009 Kevlin Henney
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_boost_1_0.txt file
***************************************************************************/
+2 -2
View File
@@ -1,7 +1,7 @@
/**************************************************************************
Copyright:
(C) 2000 - 2008 Kevlin Henney
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2000 - 2009 Kevlin Henney
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_boost_1_0.txt file
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_whatever.txt
***************************************************************************/
+1 -1
View File
@@ -2,7 +2,7 @@
Copyright:
(C) 1992, 1993 The Regents of the University of California
License: See LICENSE_bsd-ucb.txt file
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_zlib.txt file
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_zlib.txt file
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_zlib.txt file
***************************************************************************/
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_whatever.txt
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2003 - 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2003 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_zlib.txt file
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2004 - 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2004 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_zlib.txt file
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_zlib.txt file
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2003 - 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2003 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_zlib.txt file
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_whatever.txt
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_zlib.txt file
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_zlib.txt file
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_whatever.txt
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_zlib.txt file
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_zlib.txt file
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_zlib.txt file
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2003 - 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2003 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_zlib.txt file
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_whatever.txt
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_zlib.txt file
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_zlib.txt file
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_zlib.txt file
***************************************************************************/
+1 -1
View File
@@ -1,6 +1,6 @@
/**************************************************************************
Copyright:
(C) 2008 Alexander Shaduri <ashaduri 'at' gmail.com>
(C) 2008 - 2009 Alexander Shaduri <ashaduri 'at' gmail.com>
License: See LICENSE_zlib.txt file
***************************************************************************/

Some files were not shown because too many files have changed in this diff Show More