Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
core
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
LibreOffice
core
Commits
1b28795d
Kaydet (Commit)
1b28795d
authored
Kas 09, 2012
tarafından
Eike Rathke
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
adapt to liblangtag 0.4.0 types
Change-Id: I0ab5a25cafdd246828ba09db8d01bb498e7012ab
üst
22f4062b
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
26 additions
and
31 deletions
+26
-31
simple-langtag.cxx
i18npool/source/languagetag/simple-langtag.cxx
+26
-31
No files found.
i18npool/source/languagetag/simple-langtag.cxx
Dosyayı görüntüle @
1b28795d
...
...
@@ -22,34 +22,29 @@
namespace
{
typedef
char
gchar
;
typedef
void
*
gpointer
;
typedef
int
gint
;
typedef
gint
gboolean
;
typedef
int
lt_bool_t
;
struct
GError
{
char
*
message
;
GError
()
:
message
(
NULL
)
{}
struct
lt_error_t
{
void
*
something
;
lt_error_t
()
:
something
(
NULL
)
{}
};
typedef
struct
GError
lt_error_t
;
static
gpointer
g_malloc
(
size_t
s
)
static
void
*
g_malloc
(
size_t
s
)
{
return
malloc
(
s
);
}
static
void
g_free
(
gpointer
p
)
static
void
g_free
(
void
*
p
)
{
if
(
p
)
free
(
p
);
}
static
void
__attribute__
((
used
))
g_error_free
(
GError
*
error
)
static
void
lt_error_unref
(
lt_error_t
*
error
)
{
if
(
error
)
{
g_free
(
error
->
message
);
g_free
(
error
->
something
);
g_free
(
error
);
}
}
...
...
@@ -65,7 +60,7 @@ struct my_ref
struct
my_t_impl
:
public
my_ref
{
gchar
*
mpStr
;
char
*
mpStr
;
explicit
my_t_impl
()
:
my_ref
(),
mpStr
(
NULL
)
{}
virtual
~
my_t_impl
()
{
g_free
(
mpStr
);
}
explicit
my_t_impl
(
const
my_t_impl
&
r
)
...
...
@@ -82,30 +77,30 @@ struct my_t_impl : public my_ref
mpStr
=
(
r
.
mpStr
?
strdup
(
r
.
mpStr
)
:
NULL
);
return
*
this
;
}
void
assign
(
const
g
char
*
str
)
void
assign
(
const
char
*
str
)
{
g_free
(
mpStr
);
mpStr
=
(
str
?
strdup
(
str
)
:
NULL
);
}
void
assign
(
const
gchar
*
str
,
const
g
char
*
stop
)
void
assign
(
const
char
*
str
,
const
char
*
stop
)
{
g_free
(
mpStr
);
if
(
str
&&
str
<
stop
)
{
mpStr
=
static_cast
<
g
char
*>
(
g_malloc
(
stop
-
str
+
1
));
mpStr
=
static_cast
<
char
*>
(
g_malloc
(
stop
-
str
+
1
));
memcpy
(
mpStr
,
str
,
stop
-
str
);
mpStr
[
stop
-
str
]
=
0
;
}
else
mpStr
=
NULL
;
}
void
append
(
const
gchar
*
str
,
const
g
char
*
stop
)
void
append
(
const
char
*
str
,
const
char
*
stop
)
{
if
(
str
&&
str
<
stop
)
{
size_t
nOld
=
mpStr
?
strlen
(
mpStr
)
:
0
;
size_t
nNew
=
nOld
+
(
stop
-
str
)
+
1
;
char
*
p
=
static_cast
<
g
char
*>
(
g_malloc
(
nNew
));
char
*
p
=
static_cast
<
char
*>
(
g_malloc
(
nNew
));
if
(
nOld
)
memcpy
(
p
,
mpStr
,
nOld
);
memcpy
(
p
+
nOld
,
str
,
stop
-
str
);
...
...
@@ -164,7 +159,7 @@ struct lt_tag_t : public my_t_impl
maRegion
=
r
.
maRegion
;
return
*
this
;
}
void
assign
(
const
g
char
*
str
)
void
assign
(
const
char
*
str
)
{
maLanguage
.
zero
();
maScript
.
zero
();
...
...
@@ -200,9 +195,9 @@ static void lt_tag_unref(lt_tag_t *tag)
any i-* irregular and x-* privateuse. Subtags are not checked for validity
(alpha, digit, registered, ...).
*/
static
gboolean
lt_tag_parse
(
lt_tag_t
*
tag
,
const
g
char
*
tag_string
,
GError
**
error
)
static
lt_bool_t
lt_tag_parse
(
lt_tag_t
*
tag
,
const
char
*
tag_string
,
lt_error_t
**
error
)
{
(
void
)
error
;
if
(
!
tag
)
...
...
@@ -213,9 +208,9 @@ static gboolean lt_tag_parse(lt_tag_t *tag,
// In case we supported other subtags this would get more complicated.
my_t_impl
*
aSubtags
[]
=
{
&
tag
->
maLanguage
,
&
tag
->
maScript
,
&
tag
->
maRegion
,
NULL
};
my_t_impl
**
ppSub
=
&
aSubtags
[
0
];
const
g
char
*
pStart
=
tag_string
;
const
g
char
*
p
=
pStart
;
const
g
char
*
pEnd
=
pStart
+
strlen
(
pStart
);
// scanning includes \0
const
char
*
pStart
=
tag_string
;
const
char
*
p
=
pStart
;
const
char
*
pEnd
=
pStart
+
strlen
(
pStart
);
// scanning includes \0
bool
bStartLang
=
true
;
bool
bPrivate
=
false
;
for
(
;
p
<=
pEnd
&&
ppSub
&&
*
ppSub
;
++
p
)
...
...
@@ -352,8 +347,8 @@ static gboolean lt_tag_parse(lt_tag_t *tag,
return
!
0
;
}
static
g
char
*
lt_tag_canonicalize
(
lt_tag_t
*
tag
,
GError
**
error
)
static
char
*
lt_tag_canonicalize
(
lt_tag_t
*
tag
,
lt_error_t
**
error
)
{
(
void
)
error
;
return
tag
&&
tag
->
mpStr
?
strdup
(
tag
->
mpStr
)
:
NULL
;
...
...
@@ -374,17 +369,17 @@ static const lt_region_t *lt_tag_get_region(const lt_tag_t *tag)
return
tag
&&
tag
->
maRegion
.
mpStr
?
&
tag
->
maRegion
:
NULL
;
}
static
const
g
char
*
lt_lang_get_tag
(
const
lt_lang_t
*
lang
)
static
const
char
*
lt_lang_get_tag
(
const
lt_lang_t
*
lang
)
{
return
lang
?
lang
->
mpStr
:
NULL
;
}
static
const
g
char
*
lt_script_get_tag
(
const
lt_script_t
*
script
)
static
const
char
*
lt_script_get_tag
(
const
lt_script_t
*
script
)
{
return
script
?
script
->
mpStr
:
NULL
;
}
static
const
g
char
*
lt_region_get_tag
(
const
lt_region_t
*
region
)
static
const
char
*
lt_region_get_tag
(
const
lt_region_t
*
region
)
{
return
region
?
region
->
mpStr
:
NULL
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment