Index: update-mime-database.c
===================================================================
RCS file: /home/freedesktop/shared-mime-info/update-mime-database.c,v
retrieving revision 1.27
diff -u -r1.27 update-mime-database.c
--- update-mime-database.c 2 Jun 2003 10:25:06 -0000 1.27
+++ update-mime-database.c 27 Aug 2003 14:39:22 -0000
@@ -786,7 +786,7 @@
*/
static void parse_int_value(int bytes, const char *in, const char *in_mask,
GString *parsed_value, char **parsed_mask,
- GError **error)
+ gboolean big_endian, GError **error)
{
char *end;
char *out_mask = NULL;
@@ -802,7 +802,7 @@
for (b = 0; b < bytes; b++)
{
- int shift = (bytes - b - 1) * 8;
+ int shift = (big_endian ? (bytes - b - 1) : b) * 8;
g_string_append_c(parsed_value, (value >> shift) & 0xff);
}
@@ -910,13 +910,13 @@
if (strstr(type, "16"))
parse_int_value(2, in, in_mask, parsed_value, parsed_mask,
- error);
+ type[0] == 'b', error);
else if (strstr(type, "32"))
parse_int_value(4, in, in_mask, parsed_value, parsed_mask,
- error);
+ type[0] == 'b', error);
else if (strcmp(type, "byte") == 0)
parse_int_value(1, in, in_mask, parsed_value, parsed_mask,
- error);
+ FALSE, error);
else if (strcmp(type, "string") == 0)
{
getstr(in, parsed_value);