[X2Go-Commits] [libx2goclient] 01/03: src/x2goclient-openssh-version.{c, h}: rework x2goclient_openssh_version_parse () to return _Bool.
git-admin at x2go.org
git-admin at x2go.org
Thu May 14 22:28:27 CEST 2020
This is an automated email from the git hooks/post-receive script.
x2go pushed a commit to branch master
in repository libx2goclient.
commit 02816aa91a796c267d141ca158ccae718a76846c
Author: Mihai Moldovan <ionic at ionic.de>
Date: Thu May 14 19:45:51 2020 +0200
src/x2goclient-openssh-version.{c,h}: rework x2goclient_openssh_version_parse () to return _Bool.
GError is typically optional and passing NULL to it is a valid way to
ignore *the specifics* of errors.
This said, we still need to have a way to determine whether an error
happened or not - and hence, if the parsing was successful.
---
src/x2goclient-openssh-version.c | 16 ++++++++++++----
src/x2goclient-openssh-version.h | 4 +++-
2 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/src/x2goclient-openssh-version.c b/src/x2goclient-openssh-version.c
index a071938..7f4479a 100644
--- a/src/x2goclient-openssh-version.c
+++ b/src/x2goclient-openssh-version.c
@@ -115,16 +115,18 @@ G_DEFINE_BOXED_TYPE (X2GoClientOpenSSHVersion, x2goclient_openssh_version, &x2go
}\
} while (0)
-void x2goclient_openssh_version_parse (X2GoClientOpenSSHVersion *openssh_version, const gchar *version_string, GError **gerr) {
+_Bool x2goclient_openssh_version_parse (X2GoClientOpenSSHVersion *openssh_version, const gchar *version_string, GError **gerr) {
+ _Bool ret = FALSE;
+
/* Basic sanity checks on struct and string. */
if (!(openssh_version)) {
g_set_error_literal (gerr, ERROR_QUARK, X2GOCLIENT_OPENSSH_VERSION_ERROR_INVALID_STRUCT, "No version struct passed, cannot store extracted information.");
- return;
+ return (ret);
}
if (!(version_string)) {
g_set_error_literal (gerr, ERROR_QUARK, X2GOCLIENT_OPENSSH_VERSION_ERROR_INVALID_VERSION_STRING, "No version string passed, cannot extract information.");
- return;
+ return (ret);
}
X2GoClientOpenSSHVersion *struct_work_copy = x2goclient_openssh_version_copy (openssh_version);
@@ -142,7 +144,7 @@ void x2goclient_openssh_version_parse (X2GoClientOpenSSHVersion *openssh_version
x2goclient_openssh_version_free (struct_work_copy);
struct_work_copy = NULL;
- return;
+ return (ret);
}
/* Skip preamble. */
@@ -307,8 +309,12 @@ void x2goclient_openssh_version_parse (X2GoClientOpenSSHVersion *openssh_version
if (vers_err) {
x2goclient_openssh_version_free (struct_work_copy);
struct_work_copy = NULL;
+
+ return (ret);
}
+ ret = TRUE;
+
/* Scan for a comma which should follow any additional version data. */
const gchar *end = g_strstr_len (tmp, -1, ",");
if (!(end)) {
@@ -340,4 +346,6 @@ void x2goclient_openssh_version_parse (X2GoClientOpenSSHVersion *openssh_version
/* Lastly, free data. */
x2goclient_openssh_version_free (struct_work_copy);
struct_work_copy = NULL;
+
+ return (ret);
}
diff --git a/src/x2goclient-openssh-version.h b/src/x2goclient-openssh-version.h
index 47f65b4..9c434d3 100644
--- a/src/x2goclient-openssh-version.h
+++ b/src/x2goclient-openssh-version.h
@@ -25,6 +25,8 @@
#ifndef x2goclient_openssh_version_h
#define x2goclient_openssh_version_h
+#include <stdbool.h>
+
#include <glib-object.h>
G_BEGIN_DECLS
@@ -76,7 +78,7 @@ enum {
};
-void x2goclient_openssh_version_parse (X2GoClientOpenSSHVersion *openssh_version, const gchar *version_string, GError **gerr);
+_Bool x2goclient_openssh_version_parse (X2GoClientOpenSSHVersion *openssh_version, const gchar *version_string, GError **gerr);
G_END_DECLS
--
Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/libx2goclient.git
More information about the x2go-commits
mailing list