Ignore:
Timestamp:
May 7, 2014, 4:27:19 PM (5 years ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
4.11, master
Children:
8fa3422
Parents:
0960fee
Message:

tests: Add locked_printf_plugin()

Add locked_vprintf(). Return an int just like printf(), etc.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • testsuites/support/src/locked_print.c

    r0960fee rb97bc8bc  
    1212#endif
    1313
    14 #include <rtems.h>
    15 #include <rtems/system.h>
    16 #include <sys/types.h>
    17 #include <string.h>
    18 #include <stdarg.h>
    19 
     14#include "test_support.h"
    2015#include "tmacros.h"
    2116
     
    4641}
    4742
    48 void locked_printf(const char *fmt, ...) {
    49   va_list           ap;       /* points to each unnamed argument in turn */
     43int locked_vprintf(const char *fmt, va_list ap)
     44{
     45  int rv;
    5046  rtems_status_code sc;
    5147
     
    5753  } while (sc != RTEMS_SUCCESSFUL );
    5854
     55  rv = vprintf(fmt, ap);
     56
     57  /* Release the semaphore  */
     58  rtems_semaphore_release( locked_print_semaphore );
     59
     60  return rv;
     61}
     62
     63int locked_printf_plugin(void *context, const char *fmt, ...)
     64{
     65  int rv;
     66  va_list ap;
     67
     68  (void) context;
     69
     70  va_start(ap, fmt);
     71  rv = locked_vprintf(fmt, ap);
     72  va_end(ap);
     73
     74  return rv;
     75}
     76
     77int locked_printf(const char *fmt, ...)
     78{
     79  int               rv;
     80  va_list           ap;       /* points to each unnamed argument in turn */
    5981
    6082  va_start(ap, fmt); /* make ap point to 1st unnamed arg */
    61   vprintf(fmt, ap);
     83  rv = locked_vprintf(fmt, ap);
    6284  va_end(ap);        /* clean up when done */
    6385
    64   /* Release the semaphore  */
    65   sc = rtems_semaphore_release( locked_print_semaphore );
    66 }
     86  return rv;
     87}
    6788
    68 void locked_printk(const char *fmt, ...) {
     89void locked_printk(const char *fmt, ...)
     90{
    6991  va_list           ap;       /* points to each unnamed argument in turn */
    7092  rtems_status_code sc;
     
    83105
    84106  /* Release the semaphore  */
    85   sc = rtems_semaphore_release( locked_print_semaphore );
    86 } 
     107  rtems_semaphore_release( locked_print_semaphore );
     108}
Note: See TracChangeset for help on using the changeset viewer.