diff options
Diffstat (limited to 'src/common.c')
| -rw-r--r-- | src/common.c | 73 | 
1 files changed, 12 insertions, 61 deletions
diff --git a/src/common.c b/src/common.c index 800aea5..6bef268 100644 --- a/src/common.c +++ b/src/common.c @@ -505,33 +505,14 @@ str_remove_slice (struct str *self, size_t start, size_t length)  struct error  { -	size_t domain;                      ///< The domain of the error -	int id;                             ///< The concrete error ID  	char *message;                      ///< Textual description of the event  }; -static size_t -error_resolve_domain (size_t *tag) -{ -	// This method is fairly sensitive to the order in which resolution -	// requests come in, does not provide a good way of decoding the number -	// back to a meaningful identifier, and may not play all too well with -	// dynamic libraries when a module is e.g. statically linked into multiple -	// libraries, but it's fast, simple, and more than enough for our purposes. -	static size_t domain_counter; - -	if (!*tag) -		*tag = ++domain_counter; -	return *tag; -} -  static void -error_set (struct error **e, size_t domain, int id, -	const char *message, ...) ATTRIBUTE_PRINTF (4, 5); +error_set (struct error **e, const char *message, ...) ATTRIBUTE_PRINTF (2, 3);  static void -error_set (struct error **e, size_t domain, int id, -	const char *message, ...) +error_set (struct error **e, const char *message, ...)  {  	if (!e)  		return; @@ -544,8 +525,6 @@ error_set (struct error **e, size_t domain, int id,  	hard_assert (size >= 0);  	struct error *tmp = xmalloc (sizeof *tmp); -	tmp->domain = domain; -	tmp->id = id;  	tmp->message = xmalloc (size + 1);  	va_start (ap, message); @@ -1438,14 +1417,6 @@ resolve_config_filename (const char *filename)  	return result;  } -static size_t io_error_domain_tag; -#define IO_ERROR (error_resolve_domain (&io_error_domain_tag)) - -enum -{ -	IO_ERROR_FAILED -}; -  static bool  ensure_directory_existence (const char *path, struct error **e)  { @@ -1455,16 +1426,14 @@ ensure_directory_existence (const char *path, struct error **e)  	{  		if (mkdir (path, S_IRWXU | S_IRWXG | S_IRWXO))  		{ -			error_set (e, IO_ERROR, IO_ERROR_FAILED, -				"cannot create directory `%s': %s", +			error_set (e, "cannot create directory `%s': %s",  				path, strerror (errno));  			return false;  		}  	}  	else if (!S_ISDIR (st.st_mode))  	{ -		error_set (e, IO_ERROR, IO_ERROR_FAILED, -			"cannot create directory `%s': %s", +		error_set (e, "cannot create directory `%s': %s",  			path, "file exists but is not a directory");  		return false;  	} @@ -1574,14 +1543,6 @@ xssl_get_error (SSL *ssl, int result, const char **error_info)  // --- Regular expressions ----------------------------------------------------- -static size_t regex_error_domain_tag; -#define REGEX_ERROR (error_resolve_domain (®ex_error_domain_tag)) - -enum -{ -	REGEX_ERROR_COMPILATION_FAILED -}; -  static regex_t *  regex_compile (const char *regex, int flags, struct error **e)  { @@ -1599,8 +1560,7 @@ regex_compile (const char *regex, int flags, struct error **e)  		desc.str + desc.len, desc.alloc - desc.len) - 1;  	free (re); -	error_set (e, REGEX_ERROR, REGEX_ERROR_COMPILATION_FAILED, -		"%s: %s", "failed to compile regular expression", desc.str); +	error_set (e, "%s: %s", "failed to compile regular expression", desc.str);  	str_free (&desc);  	return NULL;  } @@ -1793,14 +1753,6 @@ irc_strcmp (const char *a, const char *b)  // The keys are stripped of surrounding whitespace, the values are not. -static size_t config_error_domain_tag; -#define CONFIG_ERROR (error_resolve_domain (&config_error_domain_tag)) - -enum -{ -	CONFIG_ERROR_MALFORMED -}; -  struct config_item  {  	const char *key; @@ -1828,8 +1780,8 @@ read_config_file (struct str_map *config, struct error **e)  	FILE *fp = fopen (filename, "r");  	if (!fp)  	{ -		error_set (e, IO_ERROR, IO_ERROR_FAILED, -			"could not open `%s' for reading: %s", filename, strerror (errno)); +		error_set (e, "could not open `%s' for reading: %s", +			filename, strerror (errno));  		return false;  	} @@ -1851,8 +1803,8 @@ read_config_file (struct str_map *config, struct error **e)  		{  			if (*start)  			{ -				error_set (e, CONFIG_ERROR, CONFIG_ERROR_MALFORMED, -					"line %u in config: %s", line_no, "malformed input"); +				error_set (e, "line %u in config: %s", +					line_no, "malformed input");  				errors = true;  				break;  			} @@ -1907,8 +1859,8 @@ write_default_config (const char *filename, const char *prolog,  	FILE *fp = fopen (path.str, "w");  	if (!fp)  	{ -		error_set (e, IO_ERROR, IO_ERROR_FAILED, -			"could not open `%s' for writing: %s", path.str, strerror (errno)); +		error_set (e, "could not open `%s' for writing: %s", +			path.str, strerror (errno));  		goto error;  	} @@ -1927,8 +1879,7 @@ write_default_config (const char *filename, const char *prolog,  	fclose (fp);  	if (errno)  	{ -		error_set (e, IO_ERROR, IO_ERROR_FAILED, -			"writing to `%s' failed: %s", path.str, strerror (errno)); +		error_set (e, "writing to `%s' failed: %s", path.str, strerror (errno));  		goto error;  	}  | 
