diff options
author | Ted Gould <ted@gould.cx> | 2010-08-10 15:26:11 -0500 |
---|---|---|
committer | Ted Gould <ted@gould.cx> | 2010-08-10 15:26:11 -0500 |
commit | 3b61df4d99cc816dd8c3b3d67662b410ef9787a6 (patch) | |
tree | 3e539d565bf74f2c863f1d34dd01d68252712b9d /src/generate-id.c | |
parent | e4484ffe6a33711c357b94e42b0902e4fcc566e0 (diff) | |
parent | a34479eb97125446bfb5a8c6b86e2c6552319fa1 (diff) | |
download | libayatana-appindicator-3b61df4d99cc816dd8c3b3d67662b410ef9787a6.tar.gz libayatana-appindicator-3b61df4d99cc816dd8c3b3d67662b410ef9787a6.tar.bz2 libayatana-appindicator-3b61df4d99cc816dd8c3b3d67662b410ef9787a6.zip |
* Upstream Merge
* Add in ordering IDs
Diffstat (limited to 'src/generate-id.c')
-rw-r--r-- | src/generate-id.c | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/src/generate-id.c b/src/generate-id.c new file mode 100644 index 0000000..6855b39 --- /dev/null +++ b/src/generate-id.c @@ -0,0 +1,60 @@ +/* +Quick litte lack to generate the ordering ID. + +Copyright 2010 Canonical Ltd. + +Authors: + Ted Gould <ted@canonical.com> + +This program is free software: you can redistribute it and/or modify it +under the terms of the GNU General Public License version 3, as published +by the Free Software Foundation. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranties of +MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR +PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "generate-id.h" + +struct ordering_id_struct { + gchar category; + gchar first; + gchar second; + gchar third; +}; + +union ordering_id_union_t { + guint32 id; + struct ordering_id_struct str; +}; + +guint32 +generate_id (const gchar category, const gchar * id) +{ + union ordering_id_union_t u; + + u.str.category = category; + + u.str.first = 0; + u.str.second = 0; + u.str.third = 0; + + if (id != NULL) { + if (id[0] != '\0') { + u.str.first = id[0]; + if (id[1] != '\0') { + u.str.second = id[1]; + if (id[2] != '\0') { + u.str.third = id[2]; + } + } + } + } + + return u.id; +} |