Browse Source

faux.ev: Use bool_t instead int as retval

Serj Kalichev 3 years ago
parent
commit
44f5ab198f
3 changed files with 24 additions and 21 deletions
  1. 3 3
      faux/sched.h
  2. 16 16
      faux/sched/ev.c
  3. 5 2
      faux/sched/sched.c

+ 3 - 3
faux/sched.h

@@ -30,10 +30,10 @@ faux_ev_t *faux_ev_new(const struct timespec *time,
 void faux_ev_free(void *ptr);
 bool_t faux_ev_set_periodic(faux_ev_t *ev,
 	const struct timespec *interval, unsigned int cycle_num);
-int faux_ev_dec_cycles(faux_ev_t *ev, unsigned int *new_cycle_num);
+bool_t faux_ev_dec_cycles(faux_ev_t *ev, unsigned int *new_cycle_num);
 bool_t faux_ev_reschedule(faux_ev_t *ev, const struct timespec *new_time);
-int faux_ev_reschedule_period(faux_ev_t *ev);
-int faux_ev_time_left(faux_ev_t *ev, struct timespec *left);
+bool_t faux_ev_reschedule_period(faux_ev_t *ev);
+bool_t faux_ev_time_left(faux_ev_t *ev, struct timespec *left);
 int faux_ev_id(const faux_ev_t *ev);
 void *faux_ev_data(const faux_ev_t *ev);
 const struct timespec *faux_ev_time(const faux_ev_t *ev);

+ 16 - 16
faux/sched/ev.c

@@ -171,15 +171,15 @@ faux_sched_periodic_e faux_ev_is_periodic(faux_ev_t *ev)
  *
  * @param [in] ev Allocated and initialized ev object.
  * @param [out] new_cycle_num Returns new number of cycles. Can be NULL.
- * @return FAUX_SCHED_PERIODIC - periodic, FAUX_SCHED_ONCE - non-periodic.
+ * @return BOOL_TRUE - success, BOOL_FALSE - error.
  */
-int faux_ev_dec_cycles(faux_ev_t *ev, unsigned int *new_cycle_num)
+bool_t faux_ev_dec_cycles(faux_ev_t *ev, unsigned int *new_cycle_num)
 {
 	assert(ev);
 	if (!ev)
-		return -1;
+		return BOOL_FALSE;
 	if (!faux_ev_is_periodic(ev))
-		return -1; // Non-periodic event
+		return BOOL_FALSE; // Non-periodic event
 	if ((ev->cycle_num != FAUX_SCHED_INFINITE) &&
 		(ev->cycle_num > 0))
 		ev->cycle_num--;
@@ -187,7 +187,7 @@ int faux_ev_dec_cycles(faux_ev_t *ev, unsigned int *new_cycle_num)
 	if (new_cycle_num)
 		*new_cycle_num = ev->cycle_num;
 
-	return 0;
+	return BOOL_TRUE;
 }
 
 /** Reschedules existent event to newly specified time.
@@ -221,19 +221,19 @@ bool_t faux_ev_reschedule(faux_ev_t *ev, const struct timespec *new_time)
  * FAUX_SCHED_INFINITE then number of cycles will not be decremented.
  *
  * @param [in] ev Allocated and initialized ev object.
- * @return 0 - success, < 0 on error.
+ * @return BOOL_TRUE - success, BOOL_FALSE on error.
  */
-int faux_ev_reschedule_period(faux_ev_t *ev)
+bool_t faux_ev_reschedule_period(faux_ev_t *ev)
 {
 	struct timespec new_time = {};
 
 	assert(ev);
 	if (!ev)
-		return -1;
+		return BOOL_FALSE;
 	if (!faux_ev_is_periodic(ev))
-		return -1;
+		return BOOL_FALSE;
 	if (ev->cycle_num <= 1)
-		return -1; // We don't need to reschedule if last cycle left
+		return BOOL_FALSE; // We don't need to reschedule if last cycle left
 
 	faux_timespec_sum(&new_time, &(ev->time), &(ev->period));
 	faux_ev_reschedule(ev, &new_time);
@@ -241,7 +241,7 @@ int faux_ev_reschedule_period(faux_ev_t *ev)
 	if (ev->cycle_num != FAUX_SCHED_INFINITE)
 		faux_ev_dec_cycles(ev, NULL);
 
-	return 0;
+	return BOOL_TRUE;
 }
 
 
@@ -249,25 +249,25 @@ int faux_ev_reschedule_period(faux_ev_t *ev)
  *
  * @param [in] ev Allocated and initialized ev object.
  * @param [out] left Calculated time left.
- * @return 0 - success, < 0 on error.
+ * @return BOOL_TRUE - success, BOOL_FALSE on error.
  */
-int faux_ev_time_left(faux_ev_t *ev, struct timespec *left)
+bool_t faux_ev_time_left(faux_ev_t *ev, struct timespec *left)
 {
 	struct timespec now = {};
 
 	assert(ev);
 	assert(left);
 	if (!ev || !left)
-		return -1;
+		return BOOL_FALSE;
 
 	faux_timespec_now(&now);
 	if (faux_timespec_cmp(&now, &(ev->time)) > 0) { // Already happend
 		faux_nsec_to_timespec(left, 0l);
-		return 0;
+		return BOOL_TRUE;
 	}
 	faux_timespec_diff(left, &(ev->time), &now);
 
-	return 0;
+	return BOOL_TRUE;
 }
 
 

+ 5 - 2
faux/sched/sched.c

@@ -237,7 +237,10 @@ int faux_sched_next_interval(faux_sched_t *sched, struct timespec *interval)
 		return -1;
 	ev = (faux_ev_t *)faux_list_data(iter);
 
-	return faux_ev_time_left(ev, interval);
+	if (!faux_ev_time_left(ev, interval))
+		return -1;
+
+	return 0;
 }
 
 
@@ -287,7 +290,7 @@ int faux_sched_pop(faux_sched_t *sched, int *ev_id, void **data)
 	if (data)
 		*data = faux_ev_data(ev);
 
-	if (faux_ev_reschedule_period(ev) < 0) {
+	if (!faux_ev_reschedule_period(ev)) {
 		faux_ev_free(ev);
 	} else {
 		_sched_ev(sched, ev);