]> rtime.felk.cvut.cz Git - frescor/frsh-include.git/commitdiff
Changing msec2timespec() and timespec2msec() functions to give their results
authortelleriam <telleriam@35b4ef3e-fd22-0410-ab77-dab3279adceb>
Sun, 2 Sep 2007 09:29:06 +0000 (09:29 +0000)
committertelleriam <telleriam@35b4ef3e-fd22-0410-ab77-dab3279adceb>
Sun, 2 Sep 2007 09:29:06 +0000 (09:29 +0000)
as a return value instead of passing it via a pointer.

Adapting the exisiting tests to remain being compilable.

git-svn-id: http://www.frescor.org/private/svn/frescor/frsh/trunk/include@676 35b4ef3e-fd22-0410-ab77-dab3279adceb

frsh_debug.h
timespec_operations.h

index ac2ea22fcd837744b8429640654388c471e076eb..e57b6b6f056aa11d4dc088866a4d11dec6346ac6 100644 (file)
@@ -110,7 +110,7 @@ static inline long int FRSH_GET_TIMESTAMP_MSECS()
     long int result = -1;
 
     PRW(  fosa_clock_get_time(FOSA_CLOCK_REALTIME, &current_time)  );
-    timespec2msec(&current_time, &current_time_msec);
+    current_time_msec = timespec2msec(&current_time);
 
     result = current_time_msec - frsh_trace_init_timemsec;
 
@@ -121,7 +121,7 @@ static inline long int FRSH_TIMESPEC_TO_RELATIVE_MSECS(const struct timespec *ts
 {
     long int time_msecs = -1;
 
-    timespec2msec(tspec, &time_msecs);
+    time_msecs = timespec2msec(tspec);
 
     return time_msecs - frsh_trace_init_timemsec;
 }
index e9e13add680b142be1e6fdc4447b521ce6a5ba5d..2a4cf272774e09a18a87377aabed39ab5787b589 100644 (file)
@@ -170,23 +170,25 @@ do { \
 // msec2timespec //
 //---------------//
 
-static inline void msec2timespec(long msec, struct timespec *timespec)
+static inline struct timespec msec2timespec(long msec)
 {
-    memset(timespec, 0, sizeof(struct timespec));
+    struct timespec result = {-1, -1};
 
     if (msec >= 1000) {
-        timespec->tv_sec = msec/1000;
-        timespec->tv_nsec = (msec % 1000) * 1000000;
+        result.tv_sec = msec/1000;
+        result.tv_nsec = (msec % 1000) * 1000000;
     } else {
-        timespec->tv_sec = 0;
-        timespec->tv_nsec = msec * 1000000;
+        result.tv_sec = 0;
+        result.tv_nsec = msec * 1000000;
     }
+
+    return result;
 }
 
-static inline void timespec2msec(const struct timespec *timespec, long *msec)
+static inline long timespec2msec(const struct timespec *timespec)
 {
     
-    *msec = (timespec->tv_sec % 2147482) * 1000 + timespec->tv_nsec/1000000;
+    return (timespec->tv_sec % 2147482) * 1000 + timespec->tv_nsec/1000000;
 }
 
 
@@ -225,7 +227,7 @@ static inline int timespec_lessthan_msec(struct timespec *timespec, long msec)
 {
     struct timespec msec_timespec = {0, 0};
 
-    msec2timespec(msec, &msec_timespec);
+    msec_timespec = msec2timespec(msec);
     return smaller_timespec(timespec, &msec_timespec);
 }
 
@@ -237,7 +239,7 @@ static inline void msec_addto_timespec(long msec, struct timespec *timespec)
 {
     struct timespec msec_timespec = {0, 0};
 
-    msec2timespec(msec, &msec_timespec);
+    msec_timespec = msec2timespec(msec);
     incr_timespec(timespec, &msec_timespec);
 }