/* NaturalCollate.c generated by valac 0.36.6, the Vala compiler * generated from NaturalCollate.vala, do not modify */ #include #include #include #include #define _g_free0(var) (var = (g_free (var), NULL)) #define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); #define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; } #define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; } #define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); #define NATURAL_COLLATE_SUPERDIGIT ((gunichar) ':') #define NATURAL_COLLATE_NUM_SENTINEL ((gunichar) 0x2) #define NATURAL_COLLATE_COLLATION_SENTINEL "\x01\x01\x01" gint natural_collate_read_number (gchar* s, gint* byte_index); gint natural_collate_compare (const gchar* str1, const gchar* str2); gchar* natural_collate_collate_key (gchar* str); static gunichar string_get_char (const gchar* self, glong index) { gunichar result = 0U; glong _tmp0_; gunichar _tmp1_; #line 1140 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" g_return_val_if_fail (self != NULL, 0U); #line 1141 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" _tmp0_ = index; #line 1141 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" _tmp1_ = g_utf8_get_char (((gchar*) self) + _tmp0_); #line 1141 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" result = _tmp1_; #line 1141 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" return result; #line 41 "NaturalCollate.c" } static gint string_index_of_nth_char (const gchar* self, glong c) { gint result = 0; glong _tmp0_; gchar* _tmp1_; #line 1160 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" g_return_val_if_fail (self != NULL, 0); #line 1161 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" _tmp0_ = c; #line 1161 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" _tmp1_ = g_utf8_offset_to_pointer (self, _tmp0_); #line 1161 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" result = (gint) (_tmp1_ - ((gchar*) self)); #line 1161 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" return result; #line 59 "NaturalCollate.c" } static glong string_strnlen (gchar* str, glong maxlen) { glong result = 0L; gchar* end = NULL; gchar* _tmp0_; glong _tmp1_; gchar* _tmp2_; gchar* _tmp3_; #line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" _tmp0_ = str; #line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" _tmp1_ = maxlen; #line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" _tmp2_ = memchr (_tmp0_, 0, (gsize) _tmp1_); #line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" end = _tmp2_; #line 1323 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" _tmp3_ = end; #line 1323 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" if (_tmp3_ == NULL) { #line 82 "NaturalCollate.c" glong _tmp4_; #line 1324 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" _tmp4_ = maxlen; #line 1324 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" result = _tmp4_; #line 1324 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" return result; #line 90 "NaturalCollate.c" } else { gchar* _tmp5_; gchar* _tmp6_; #line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" _tmp5_ = end; #line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" _tmp6_ = str; #line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" result = (glong) (_tmp5_ - _tmp6_); #line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" return result; #line 102 "NaturalCollate.c" } } static gchar* string_substring (const gchar* self, glong offset, glong len) { gchar* result = NULL; glong string_length = 0L; gboolean _tmp0_ = FALSE; glong _tmp1_; glong _tmp8_; glong _tmp14_; glong _tmp17_; glong _tmp18_; glong _tmp19_; glong _tmp20_; glong _tmp21_; gchar* _tmp22_; #line 1333 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" g_return_val_if_fail (self != NULL, NULL); #line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" _tmp1_ = offset; #line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" if (_tmp1_ >= ((glong) 0)) { #line 126 "NaturalCollate.c" glong _tmp2_; #line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" _tmp2_ = len; #line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" _tmp0_ = _tmp2_ >= ((glong) 0); #line 132 "NaturalCollate.c" } else { #line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" _tmp0_ = FALSE; #line 136 "NaturalCollate.c" } #line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" if (_tmp0_) { #line 140 "NaturalCollate.c" glong _tmp3_; glong _tmp4_; glong _tmp5_; #line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" _tmp3_ = offset; #line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" _tmp4_ = len; #line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" _tmp5_ = string_strnlen ((gchar*) self, _tmp3_ + _tmp4_); #line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" string_length = _tmp5_; #line 152 "NaturalCollate.c" } else { gint _tmp6_; gint _tmp7_; #line 1339 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" _tmp6_ = strlen (self); #line 1339 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" _tmp7_ = _tmp6_; #line 1339 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" string_length = (glong) _tmp7_; #line 162 "NaturalCollate.c" } #line 1342 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" _tmp8_ = offset; #line 1342 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" if (_tmp8_ < ((glong) 0)) { #line 168 "NaturalCollate.c" glong _tmp9_; glong _tmp10_; glong _tmp11_; #line 1343 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" _tmp9_ = string_length; #line 1343 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" _tmp10_ = offset; #line 1343 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" offset = _tmp9_ + _tmp10_; #line 1344 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" _tmp11_ = offset; #line 1344 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" g_return_val_if_fail (_tmp11_ >= ((glong) 0), NULL); #line 182 "NaturalCollate.c" } else { glong _tmp12_; glong _tmp13_; #line 1346 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" _tmp12_ = offset; #line 1346 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" _tmp13_ = string_length; #line 1346 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" g_return_val_if_fail (_tmp12_ <= _tmp13_, NULL); #line 192 "NaturalCollate.c" } #line 1348 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" _tmp14_ = len; #line 1348 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" if (_tmp14_ < ((glong) 0)) { #line 198 "NaturalCollate.c" glong _tmp15_; glong _tmp16_; #line 1349 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" _tmp15_ = string_length; #line 1349 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" _tmp16_ = offset; #line 1349 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" len = _tmp15_ - _tmp16_; #line 207 "NaturalCollate.c" } #line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" _tmp17_ = offset; #line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" _tmp18_ = len; #line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" _tmp19_ = string_length; #line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" g_return_val_if_fail ((_tmp17_ + _tmp18_) <= _tmp19_, NULL); #line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" _tmp20_ = offset; #line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" _tmp21_ = len; #line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" _tmp22_ = g_strndup (((gchar*) self) + _tmp20_, (gsize) _tmp21_); #line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" result = _tmp22_; #line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" return result; #line 227 "NaturalCollate.c" } gint natural_collate_read_number (gchar* s, gint* byte_index) { gint result = 0; gint number = 0; #line 23 "/home/jens/Source/shotwell/src/NaturalCollate.vala" g_return_val_if_fail (s != NULL, 0); #line 31 "/home/jens/Source/shotwell/src/NaturalCollate.vala" number = 0; #line 33 "/home/jens/Source/shotwell/src/NaturalCollate.vala" while (TRUE) { #line 240 "NaturalCollate.c" gboolean _tmp0_ = FALSE; const gchar* _tmp1_; gint _tmp2_; gint _tmp3_; gint _tmp7_; gint _tmp8_; const gchar* _tmp9_; gunichar _tmp10_; gint _tmp11_; gint second_char = 0; const gchar* _tmp12_; gint _tmp13_; const gchar* _tmp14_; gint _tmp15_; gchar* _tmp16_; gint _tmp17_; gint _tmp18_; #line 33 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp1_ = s; #line 33 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp2_ = strlen (_tmp1_); #line 33 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp3_ = _tmp2_; #line 33 "/home/jens/Source/shotwell/src/NaturalCollate.vala" if (_tmp3_ != 0) { #line 266 "NaturalCollate.c" const gchar* _tmp4_; gunichar _tmp5_; gboolean _tmp6_; #line 33 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp4_ = s; #line 33 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp5_ = string_get_char (_tmp4_, (glong) 0); #line 33 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp6_ = g_unichar_isdigit (_tmp5_); #line 33 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp0_ = _tmp6_; #line 278 "NaturalCollate.c" } else { #line 33 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp0_ = FALSE; #line 282 "NaturalCollate.c" } #line 33 "/home/jens/Source/shotwell/src/NaturalCollate.vala" if (!_tmp0_) { #line 33 "/home/jens/Source/shotwell/src/NaturalCollate.vala" break; #line 288 "NaturalCollate.c" } #line 34 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp7_ = number; #line 34 "/home/jens/Source/shotwell/src/NaturalCollate.vala" number = _tmp7_ * 10; #line 35 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp8_ = number; #line 35 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp9_ = s; #line 35 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp10_ = string_get_char (_tmp9_, (glong) 0); #line 35 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp11_ = g_unichar_digit_value (_tmp10_); #line 35 "/home/jens/Source/shotwell/src/NaturalCollate.vala" number = _tmp8_ + _tmp11_; #line 36 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp12_ = s; #line 36 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp13_ = string_index_of_nth_char (_tmp12_, (glong) 1); #line 36 "/home/jens/Source/shotwell/src/NaturalCollate.vala" second_char = _tmp13_; #line 37 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp14_ = s; #line 37 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp15_ = second_char; #line 37 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp16_ = string_substring (_tmp14_, (glong) _tmp15_, (glong) -1); #line 37 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _g_free0 (s); #line 37 "/home/jens/Source/shotwell/src/NaturalCollate.vala" s = _tmp16_; #line 38 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp17_ = *byte_index; #line 38 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp18_ = second_char; #line 38 "/home/jens/Source/shotwell/src/NaturalCollate.vala" *byte_index = _tmp17_ + _tmp18_; #line 326 "NaturalCollate.c" } #line 40 "/home/jens/Source/shotwell/src/NaturalCollate.vala" result = number; #line 40 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _g_free0 (s); #line 40 "/home/jens/Source/shotwell/src/NaturalCollate.vala" return result; #line 334 "NaturalCollate.c" } gint natural_collate_compare (const gchar* str1, const gchar* str2) { gint result = 0; GCompareFunc _tmp0_; const gchar* _tmp1_; gchar* _tmp2_; gchar* _tmp3_; gchar* _tmp4_; const gchar* _tmp5_; gchar* _tmp6_; gchar* _tmp7_; gchar* _tmp8_; gint _tmp9_; gint _tmp10_; #line 43 "/home/jens/Source/shotwell/src/NaturalCollate.vala" g_return_val_if_fail (str1 != NULL, 0); #line 43 "/home/jens/Source/shotwell/src/NaturalCollate.vala" g_return_val_if_fail (str2 != NULL, 0); #line 44 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp0_ = g_strcmp0; #line 44 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp1_ = str1; #line 44 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp2_ = g_strdup (_tmp1_); #line 44 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp3_ = natural_collate_collate_key (_tmp2_); #line 44 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp4_ = _tmp3_; #line 44 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp5_ = str2; #line 44 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp6_ = g_strdup (_tmp5_); #line 44 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp7_ = natural_collate_collate_key (_tmp6_); #line 44 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp8_ = _tmp7_; #line 44 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp9_ = _tmp0_ (_tmp4_, _tmp8_); #line 44 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp10_ = _tmp9_; #line 44 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _g_free0 (_tmp8_); #line 44 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _g_free0 (_tmp4_); #line 44 "/home/jens/Source/shotwell/src/NaturalCollate.vala" result = _tmp10_; #line 44 "/home/jens/Source/shotwell/src/NaturalCollate.vala" return result; #line 385 "NaturalCollate.c" } static gboolean string_contains (const gchar* self, const gchar* needle) { gboolean result = FALSE; const gchar* _tmp0_; gchar* _tmp1_; #line 1403 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" g_return_val_if_fail (self != NULL, FALSE); #line 1403 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" g_return_val_if_fail (needle != NULL, FALSE); #line 1404 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" _tmp0_ = needle; #line 1404 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" _tmp1_ = strstr ((gchar*) self, (gchar*) _tmp0_); #line 1404 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" result = _tmp1_ != NULL; #line 1404 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" return result; #line 405 "NaturalCollate.c" } static gchar* g_unichar_to_string (gunichar self) { gchar* result = NULL; gchar* str = NULL; gchar* _tmp0_; const gchar* _tmp1_; #line 949 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" _tmp0_ = g_new0 (gchar, 7); #line 949 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" str = (gchar*) _tmp0_; #line 950 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" _tmp1_ = str; #line 950 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" g_unichar_to_utf8 (self, _tmp1_); #line 951 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" result = str; #line 951 "/usr/share/vala-0.36/vapi/glib-2.0.vapi" return result; #line 426 "NaturalCollate.c" } gchar* natural_collate_collate_key (gchar* str) { gchar* result = NULL; const gchar* _tmp0_; gboolean _tmp1_; gchar* _result_ = NULL; gchar* _tmp2_; gboolean eos = FALSE; const gchar* _tmp3_; gint _tmp4_; gint _tmp5_; const gchar* _tmp70_; gchar* _tmp71_; gchar* _tmp72_; gchar* _tmp73_; #line 47 "/home/jens/Source/shotwell/src/NaturalCollate.vala" g_return_val_if_fail (str != NULL, NULL); #line 53 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp0_ = str; #line 53 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp1_ = g_utf8_validate (_tmp0_, (gssize) -1, NULL); #line 53 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _vala_assert (_tmp1_, "str.validate()"); #line 54 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp2_ = g_strdup (""); #line 54 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _result_ = _tmp2_; #line 55 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp3_ = str; #line 55 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp4_ = strlen (_tmp3_); #line 55 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp5_ = _tmp4_; #line 55 "/home/jens/Source/shotwell/src/NaturalCollate.vala" eos = _tmp5_ == 0; #line 57 "/home/jens/Source/shotwell/src/NaturalCollate.vala" while (TRUE) { #line 466 "NaturalCollate.c" gboolean _tmp6_; const gchar* _tmp7_; gboolean _tmp8_; gint position = 0; const gchar* _tmp17_; const gchar* _tmp18_; gint _tmp19_; gchar* _tmp20_; gchar* _tmp21_; gchar* _tmp22_; gchar* _tmp23_; gchar* _tmp24_; const gchar* _tmp25_; gint _tmp26_; gchar* _tmp27_; const gchar* _tmp28_; gint _tmp29_; gint _tmp30_; gboolean _tmp31_; const gchar* _tmp67_; gint _tmp68_; gint _tmp69_; #line 57 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp6_ = eos; #line 57 "/home/jens/Source/shotwell/src/NaturalCollate.vala" if (!(!_tmp6_)) { #line 57 "/home/jens/Source/shotwell/src/NaturalCollate.vala" break; #line 495 "NaturalCollate.c" } #line 58 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp7_ = str; #line 58 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp8_ = g_utf8_validate (_tmp7_, (gssize) -1, NULL); #line 58 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _vala_assert (_tmp8_, "str.validate()"); #line 59 "/home/jens/Source/shotwell/src/NaturalCollate.vala" position = 0; #line 60 "/home/jens/Source/shotwell/src/NaturalCollate.vala" while (TRUE) { #line 507 "NaturalCollate.c" const gchar* _tmp9_; gint _tmp10_; gunichar _tmp11_; gchar* _tmp12_; gchar* _tmp13_; gboolean _tmp14_; gboolean _tmp15_; gint _tmp16_; #line 60 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp9_ = str; #line 60 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp10_ = position; #line 60 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp11_ = string_get_char (_tmp9_, (glong) _tmp10_); #line 60 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp12_ = g_unichar_to_string (_tmp11_); #line 60 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp13_ = _tmp12_; #line 60 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp14_ = string_contains ("0123456789", _tmp13_); #line 60 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp15_ = !(!_tmp14_); #line 60 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _g_free0 (_tmp13_); #line 60 "/home/jens/Source/shotwell/src/NaturalCollate.vala" if (_tmp15_) { #line 60 "/home/jens/Source/shotwell/src/NaturalCollate.vala" break; #line 536 "NaturalCollate.c" } #line 62 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp16_ = position; #line 62 "/home/jens/Source/shotwell/src/NaturalCollate.vala" position = _tmp16_ + 1; #line 542 "NaturalCollate.c" } #line 66 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp17_ = _result_; #line 66 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp18_ = str; #line 66 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp19_ = position; #line 66 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp20_ = string_substring (_tmp18_, (glong) 0, (glong) _tmp19_); #line 66 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp21_ = _tmp20_; #line 66 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp22_ = g_utf8_collate_key (_tmp21_, (gssize) -1); #line 66 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp23_ = _tmp22_; #line 66 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp24_ = g_strconcat (_tmp17_, _tmp23_, NULL); #line 66 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _g_free0 (_result_); #line 66 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _result_ = _tmp24_; #line 66 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _g_free0 (_tmp23_); #line 66 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _g_free0 (_tmp21_); #line 69 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp25_ = str; #line 69 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp26_ = position; #line 69 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp27_ = string_substring (_tmp25_, (glong) _tmp26_, (glong) -1); #line 69 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _g_free0 (str); #line 69 "/home/jens/Source/shotwell/src/NaturalCollate.vala" str = _tmp27_; #line 71 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp28_ = str; #line 71 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp29_ = strlen (_tmp28_); #line 71 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp30_ = _tmp29_; #line 71 "/home/jens/Source/shotwell/src/NaturalCollate.vala" eos = _tmp30_ == 0; #line 72 "/home/jens/Source/shotwell/src/NaturalCollate.vala" position = 0; #line 74 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp31_ = eos; #line 74 "/home/jens/Source/shotwell/src/NaturalCollate.vala" if (!_tmp31_) { #line 592 "NaturalCollate.c" gint number = 0; const gchar* _tmp32_; gchar* _tmp33_; gint _tmp34_; const gchar* _tmp35_; gint _tmp36_; gchar* _tmp37_; gint number_of_superdigits = 0; gint _tmp38_; gchar* _tmp39_; gchar* _tmp40_; gint _tmp41_; gint _tmp42_; gint _tmp43_; gchar* to_append = NULL; gchar* _tmp44_; const gchar* _tmp53_; gint _tmp54_; gchar* _tmp55_; gchar* _tmp56_; gchar* _tmp57_; const gchar* _tmp58_; gchar* _tmp59_; gchar* _tmp60_; gchar* _tmp61_; gchar* _tmp62_; gchar* _tmp63_; gchar* _tmp64_; const gchar* _tmp65_; gchar* _tmp66_; #line 76 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp32_ = str; #line 76 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp33_ = g_strdup (_tmp32_); #line 76 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp34_ = natural_collate_read_number (_tmp33_, &position); #line 76 "/home/jens/Source/shotwell/src/NaturalCollate.vala" number = _tmp34_; #line 77 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp35_ = str; #line 77 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp36_ = position; #line 77 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp37_ = string_substring (_tmp35_, (glong) _tmp36_, (glong) -1); #line 77 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _g_free0 (str); #line 77 "/home/jens/Source/shotwell/src/NaturalCollate.vala" str = _tmp37_; #line 78 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp38_ = number; #line 78 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp39_ = g_strdup_printf ("%i", _tmp38_); #line 78 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp40_ = _tmp39_; #line 78 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp41_ = strlen (_tmp40_); #line 78 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp42_ = _tmp41_; #line 78 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp43_ = _tmp42_; #line 78 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _g_free0 (_tmp40_); #line 78 "/home/jens/Source/shotwell/src/NaturalCollate.vala" number_of_superdigits = _tmp43_; #line 79 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp44_ = g_strdup (""); #line 79 "/home/jens/Source/shotwell/src/NaturalCollate.vala" to_append = _tmp44_; #line 661 "NaturalCollate.c" { gint i = 0; #line 80 "/home/jens/Source/shotwell/src/NaturalCollate.vala" i = 1; #line 666 "NaturalCollate.c" { gboolean _tmp45_ = FALSE; #line 80 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp45_ = TRUE; #line 80 "/home/jens/Source/shotwell/src/NaturalCollate.vala" while (TRUE) { #line 673 "NaturalCollate.c" gint _tmp47_; gint _tmp48_; const gchar* _tmp49_; gchar* _tmp50_; gchar* _tmp51_; gchar* _tmp52_; #line 80 "/home/jens/Source/shotwell/src/NaturalCollate.vala" if (!_tmp45_) { #line 682 "NaturalCollate.c" gint _tmp46_; #line 80 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp46_ = i; #line 80 "/home/jens/Source/shotwell/src/NaturalCollate.vala" i = _tmp46_ + 1; #line 688 "NaturalCollate.c" } #line 80 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp45_ = FALSE; #line 80 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp47_ = i; #line 80 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp48_ = number_of_superdigits; #line 80 "/home/jens/Source/shotwell/src/NaturalCollate.vala" if (!(_tmp47_ < _tmp48_)) { #line 80 "/home/jens/Source/shotwell/src/NaturalCollate.vala" break; #line 700 "NaturalCollate.c" } #line 82 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp49_ = to_append; #line 82 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp50_ = g_unichar_to_string (NATURAL_COLLATE_SUPERDIGIT); #line 82 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp51_ = _tmp50_; #line 82 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp52_ = g_strconcat (_tmp49_, _tmp51_, NULL); #line 82 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _g_free0 (to_append); #line 82 "/home/jens/Source/shotwell/src/NaturalCollate.vala" to_append = _tmp52_; #line 82 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _g_free0 (_tmp51_); #line 716 "NaturalCollate.c" } } } #line 84 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp53_ = to_append; #line 84 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp54_ = number; #line 84 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp55_ = g_strdup_printf ("%i", _tmp54_); #line 84 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp56_ = _tmp55_; #line 84 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp57_ = g_strconcat (_tmp53_, _tmp56_, NULL); #line 84 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _g_free0 (to_append); #line 84 "/home/jens/Source/shotwell/src/NaturalCollate.vala" to_append = _tmp57_; #line 84 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _g_free0 (_tmp56_); #line 85 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp58_ = _result_; #line 85 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp59_ = g_strconcat (_tmp58_, NATURAL_COLLATE_COLLATION_SENTINEL, NULL); #line 85 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp60_ = _tmp59_; #line 85 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp61_ = g_unichar_to_string (NATURAL_COLLATE_NUM_SENTINEL); #line 85 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp62_ = _tmp61_; #line 85 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp63_ = g_strconcat (_tmp60_, _tmp62_, NULL); #line 85 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp64_ = _tmp63_; #line 85 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp65_ = to_append; #line 85 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp66_ = g_strconcat (_tmp64_, _tmp65_, NULL); #line 85 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _g_free0 (_result_); #line 85 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _result_ = _tmp66_; #line 85 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _g_free0 (_tmp64_); #line 85 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _g_free0 (_tmp62_); #line 85 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _g_free0 (_tmp60_); #line 74 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _g_free0 (to_append); #line 766 "NaturalCollate.c" } #line 90 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp67_ = str; #line 90 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp68_ = strlen (_tmp67_); #line 90 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp69_ = _tmp68_; #line 90 "/home/jens/Source/shotwell/src/NaturalCollate.vala" eos = _tmp69_ == 0; #line 776 "NaturalCollate.c" } #line 93 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp70_ = _result_; #line 93 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp71_ = g_unichar_to_string (NATURAL_COLLATE_NUM_SENTINEL); #line 93 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp72_ = _tmp71_; #line 93 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _tmp73_ = g_strconcat (_tmp70_, _tmp72_, NULL); #line 93 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _g_free0 (_result_); #line 93 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _result_ = _tmp73_; #line 93 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _g_free0 (_tmp72_); #line 96 "/home/jens/Source/shotwell/src/NaturalCollate.vala" result = _result_; #line 96 "/home/jens/Source/shotwell/src/NaturalCollate.vala" _g_free0 (str); #line 96 "/home/jens/Source/shotwell/src/NaturalCollate.vala" return result; #line 798 "NaturalCollate.c" }