Contiki 2.6
|
00001 #include <stdio.h> 00002 #include <string.h> 00003 00004 00005 void __io_putchar ( char ); 00006 00007 void _SMALL_PRINTF_puts(const char *ptr, int len, FILE *fp) 00008 { 00009 if ( fp && ( fp->_file == -1 ) /* No file => sprintf */ 00010 && (fp->_flags & (__SWR | __SSTR) ) ) 00011 { 00012 char *str = fp->_p; 00013 00014 for ( ; len ; len-- ) 00015 { 00016 *str ++ = *ptr++; 00017 } 00018 fp->_p = str; 00019 } 00020 else /* file => printf */ 00021 { 00022 for ( ; len ; len-- ) 00023 __io_putchar ( *ptr++ ); 00024 } 00025 } 00026 00027 int puts(const char *str) 00028 { 00029 int len = strlen ( str ); 00030 _SMALL_PRINTF_puts(str, len, 0) ; 00031 __io_putchar ( '\n' ); 00032 return len; 00033 } 00034