summaryrefslogtreecommitdiff
path: root/src/cr-enc-handler.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cr-enc-handler.c')
-rw-r--r--src/cr-enc-handler.c175
1 files changed, 79 insertions, 96 deletions
diff --git a/src/cr-enc-handler.c b/src/cr-enc-handler.c
index 4789aa5..216ca47 100644
--- a/src/cr-enc-handler.c
+++ b/src/cr-enc-handler.c
@@ -29,54 +29,49 @@
*The definition of the #CREncHandler class.
*/
-
#include "cr-enc-handler.h"
#include "cr-utils.h"
#include <string.h>
struct CREncAlias {
- const gchar * name ;
- enum CREncoding encoding ;
-} ;
-
-static struct CREncAlias gv_default_aliases[] =
-{
- {"UTF-8", CR_UTF_8},
- {"UTF_8", CR_UTF_8},
- {"UTF8", CR_UTF_8},
- {"UTF-16", CR_UTF_16},
- {"UTF_16", CR_UTF_16},
- {"UTF16", CR_UTF_16},
- {"UCS1", CR_UCS_1},
- {"UCS-1", CR_UCS_1},
- {"UCS_1", CR_UCS_1},
- {"ISO-8859-1", CR_UCS_1},
- {"ISO_8859-1", CR_UCS_1},
- {"UCS-1", CR_UCS_1},
- {"UCS_1", CR_UCS_1},
- {"UCS4", CR_UCS_4},
- {"UCS-4", CR_UCS_4},
- {"UCS_4", CR_UCS_4},
- {"ASCII", CR_ASCII},
- {0, 0}
-} ;
-
-
-static CREncHandler gv_default_enc_handlers[] =
-{
- {CR_UCS_1, cr_utils_ucs1_to_utf8, cr_utils_utf8_to_ucs1,
- cr_utils_ucs1_str_len_as_utf8, cr_utils_utf8_str_len_as_ucs1},
+ const gchar *name;
+ enum CREncoding encoding;
+};
+
+static struct CREncAlias gv_default_aliases[] = {
+ {"UTF-8", CR_UTF_8},
+ {"UTF_8", CR_UTF_8},
+ {"UTF8", CR_UTF_8},
+ {"UTF-16", CR_UTF_16},
+ {"UTF_16", CR_UTF_16},
+ {"UTF16", CR_UTF_16},
+ {"UCS1", CR_UCS_1},
+ {"UCS-1", CR_UCS_1},
+ {"UCS_1", CR_UCS_1},
+ {"ISO-8859-1", CR_UCS_1},
+ {"ISO_8859-1", CR_UCS_1},
+ {"UCS-1", CR_UCS_1},
+ {"UCS_1", CR_UCS_1},
+ {"UCS4", CR_UCS_4},
+ {"UCS-4", CR_UCS_4},
+ {"UCS_4", CR_UCS_4},
+ {"ASCII", CR_ASCII},
+ {0, 0}
+};
+
+static CREncHandler gv_default_enc_handlers[] = {
+ {CR_UCS_1, cr_utils_ucs1_to_utf8, cr_utils_utf8_to_ucs1,
+ cr_utils_ucs1_str_len_as_utf8, cr_utils_utf8_str_len_as_ucs1},
{CR_ISO_8859_1, cr_utils_ucs1_to_utf8, cr_utils_utf8_to_ucs1,
- cr_utils_ucs1_str_len_as_utf8, cr_utils_utf8_str_len_as_ucs1},
+ cr_utils_ucs1_str_len_as_utf8, cr_utils_utf8_str_len_as_ucs1},
{CR_ASCII, cr_utils_ucs1_to_utf8, cr_utils_utf8_to_ucs1,
cr_utils_ucs1_str_len_as_utf8, cr_utils_utf8_str_len_as_ucs1},
{0, NULL, NULL, NULL, NULL}
-} ;
-
+};
/**
*Gets the instance of encoding handler.
@@ -87,22 +82,18 @@ static CREncHandler gv_default_enc_handlers[] =
CREncHandler *
cr_enc_handler_get_instance (enum CREncoding a_enc)
{
- gulong i = 0 ;
-
- for (i = 0 ;gv_default_enc_handlers[i].encoding ; i++)
- {
- if (gv_default_enc_handlers[i].encoding == a_enc)
- {
- return
- (CREncHandler *)
- &gv_default_enc_handlers[i].encoding ;
+ gulong i = 0;
+
+ for (i = 0; gv_default_enc_handlers[i].encoding; i++) {
+ if (gv_default_enc_handlers[i].encoding == a_enc) {
+ return (CREncHandler *)
+ & gv_default_enc_handlers[i].encoding;
}
}
- return NULL ;
+ return NULL;
}
-
/**
*Given an encoding name (called an alias name)
*the function returns the matching encoding type.
@@ -112,31 +103,28 @@ cr_enc_handler_get_instance (enum CREncoding a_enc)
*@return CR_OK upon successfull completion, an error code otherwise.
*/
enum CRStatus
-cr_enc_handler_resolve_enc_alias (const guchar *a_alias_name,
- enum CREncoding *a_enc)
+cr_enc_handler_resolve_enc_alias (const guchar * a_alias_name,
+ enum CREncoding *a_enc)
{
- gulong i = 0 ;
- guchar * alias_name_up = NULL ;
- enum CRStatus status = CR_ENCODING_NOT_FOUND_ERROR ;
-
- g_return_val_if_fail (a_alias_name != NULL, CR_BAD_PARAM_ERROR) ;
-
- alias_name_up = g_strdup (a_alias_name) ;
- g_ascii_strup (alias_name_up, -1) ;
-
- for (i = 0 ; gv_default_aliases[i].name ; i++)
- {
- if (!strcmp (gv_default_aliases[i].name, alias_name_up))
- {
- *a_enc = gv_default_aliases[i].encoding ;
- status = CR_OK ;
- break ;
- }
- }
-
- return status ;
-}
+ gulong i = 0;
+ guchar *alias_name_up = NULL;
+ enum CRStatus status = CR_ENCODING_NOT_FOUND_ERROR;
+
+ g_return_val_if_fail (a_alias_name != NULL, CR_BAD_PARAM_ERROR);
+
+ alias_name_up = g_strdup (a_alias_name);
+ g_ascii_strup (alias_name_up, -1);
+
+ for (i = 0; gv_default_aliases[i].name; i++) {
+ if (!strcmp (gv_default_aliases[i].name, alias_name_up)) {
+ *a_enc = gv_default_aliases[i].encoding;
+ status = CR_OK;
+ break;
+ }
+ }
+ return status;
+}
/**
*Converts a raw input buffer into an utf8 buffer.
@@ -151,44 +139,39 @@ cr_enc_handler_resolve_enc_alias (const guchar *a_alias_name,
*@return CR_OK upon successfull completion, an error code otherwise.
*/
enum CRStatus
-cr_enc_handler_convert_input (CREncHandler *a_this,
- const guchar *a_in,
- gulong *a_in_len,
- guchar **a_out,
- gulong *a_out_len)
+cr_enc_handler_convert_input (CREncHandler * a_this,
+ const guchar * a_in,
+ gulong * a_in_len,
+ guchar ** a_out, gulong * a_out_len)
{
- enum CRStatus status = CR_OK ;
+ enum CRStatus status = CR_OK;
g_return_val_if_fail (a_this && a_in && a_in_len && a_out,
- CR_BAD_PARAM_ERROR) ;
+ CR_BAD_PARAM_ERROR);
- if (a_this->decode_input == NULL) return CR_OK ;
+ if (a_this->decode_input == NULL)
+ return CR_OK;
- if (a_this->enc_str_len_as_utf8)
- {
- status =
- a_this->enc_str_len_as_utf8 (a_in,
- &a_in[*a_in_len -1],
- a_out_len) ;
+ if (a_this->enc_str_len_as_utf8) {
+ status = a_this->enc_str_len_as_utf8 (a_in,
+ &a_in[*a_in_len - 1],
+ a_out_len);
- g_return_val_if_fail (status == CR_OK, status) ;
- }
- else
- {
- *a_out_len = *a_in_len ;
+ g_return_val_if_fail (status == CR_OK, status);
+ } else {
+ *a_out_len = *a_in_len;
}
- *a_out = g_malloc0 (*a_out_len) ;
+ *a_out = g_malloc0 (*a_out_len);
- status = a_this->decode_input (a_in, a_in_len, *a_out, a_out_len) ;
+ status = a_this->decode_input (a_in, a_in_len, *a_out, a_out_len);
- if (status != CR_OK)
- {
- g_free (*a_out) ;
- *a_out = NULL ;
+ if (status != CR_OK) {
+ g_free (*a_out);
+ *a_out = NULL;
}
- g_return_val_if_fail (status == CR_OK, status) ;
+ g_return_val_if_fail (status == CR_OK, status);
- return CR_OK ;
+ return CR_OK;
}