Module: xenomai-head
Branch: master
Commit: 2f258700180d902b2ed32184cda797185b62f4d2
URL:    
http://git.xenomai.org/?p=xenomai-head.git;a=commit;h=2f258700180d902b2ed32184cda797185b62f4d2

Author: Gilles Chanteperdrix <gilles.chanteperd...@xenomai.org>
Date:   Tue Oct 18 20:01:08 2011 +0200

psos: long/short names issue, take #2

---

 src/skins/psos+/init.c  |    2 +-
 src/skins/psos+/queue.c |    4 ++++
 src/skins/psos+/rn.c    |    4 ++++
 src/skins/psos+/sem.c   |    4 ++++
 src/skins/psos+/task.c  |    4 ++++
 5 files changed, 17 insertions(+), 1 deletions(-)

diff --git a/src/skins/psos+/init.c b/src/skins/psos+/init.c
index e53967b..b72825f 100644
--- a/src/skins/psos+/init.c
+++ b/src/skins/psos+/init.c
@@ -76,7 +76,7 @@ const char *__psos_maybe_short_name(char shrt[5], const char 
*lng)
        if (psos_long_names)
                return lng;
 
-       strncpy(shrt, lng, sizeof(shrt) - 1);
+       strncpy(shrt, lng, 4);
        shrt[4] = '\0';
 
        return (const char *)shrt;
diff --git a/src/skins/psos+/queue.c b/src/skins/psos+/queue.c
index f21a599..9a12da9 100644
--- a/src/skins/psos+/queue.c
+++ b/src/skins/psos+/queue.c
@@ -38,6 +38,10 @@ u_long q_delete(u_long qid)
 
 u_long q_ident(const char *name, u_long nodeno, u_long *qid_r)
 {
+       char short_name[5];
+
+       name = __psos_maybe_short_name(short_name, name);
+
        return XENOMAI_SKINCALL2(__psos_muxid, __psos_q_ident, name, qid_r);
 }
 
diff --git a/src/skins/psos+/rn.c b/src/skins/psos+/rn.c
index 2219f36..e164d03 100644
--- a/src/skins/psos+/rn.c
+++ b/src/skins/psos+/rn.c
@@ -118,5 +118,9 @@ u_long rn_retseg(u_long rnid, void *chunk)
 
 u_long rn_ident(const char name[4], u_long *rnid_r)
 {
+       char short_name[5];
+
+       name = __psos_maybe_short_name(short_name, name);
+
        return XENOMAI_SKINCALL2(__psos_muxid, __psos_rn_ident, name, rnid_r);
 }
diff --git a/src/skins/psos+/sem.c b/src/skins/psos+/sem.c
index 0fad0ea..1ca7eec 100644
--- a/src/skins/psos+/sem.c
+++ b/src/skins/psos+/sem.c
@@ -49,5 +49,9 @@ u_long sm_v(u_long smid)
 
 u_long sm_ident(const char *name, u_long nodeno, u_long *smid_r)
 {
+       char short_name[5];
+
+       name = __psos_maybe_short_name(short_name, name);
+
        return XENOMAI_SKINCALL2(__psos_muxid, __psos_sm_ident, name, smid_r);
 }
diff --git a/src/skins/psos+/task.c b/src/skins/psos+/task.c
index 2b70b31..82be6ee 100644
--- a/src/skins/psos+/task.c
+++ b/src/skins/psos+/task.c
@@ -273,6 +273,10 @@ u_long t_getreg(u_long tid, u_long regnum, u_long 
*regvalue_r)
 
 u_long t_ident(const char *name, u_long nodeno, u_long *tid_r)
 {
+       char short_name[5];
+
+       name = __psos_maybe_short_name(short_name, name);
+
        return XENOMAI_SKINCALL2(__psos_muxid, __psos_t_ident, name, tid_r);
 }
 


_______________________________________________
Xenomai-git mailing list
Xenomai-git@gna.org
https://mail.gna.org/listinfo/xenomai-git

Reply via email to