branch with improvemnts

Fork of M2XStreamClient by AT&T M2X Team

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers Print.cpp Source File

Print.cpp

00001 #include "Print.h"
00002 #include "mbed.h"
00003 
00004 #include <stdio.h>
00005 #include <string.h>
00006 
00007 size_t Print::write(const uint8_t* buf, size_t size) {
00008   size_t ret = 0;
00009   while (size--) {
00010     ret += write(*buf++);
00011   }
00012   return ret;
00013 }
00014 
00015 size_t Print::print(const char* s) {
00016   return write((const uint8_t*)s, strlen(s));
00017 }
00018 
00019 size_t Print::print(char c) {
00020   return write(c);
00021 }
00022 
00023 size_t Print::print(int n) {
00024   return print((long) n);
00025 }
00026 
00027 size_t Print::print(long n) {
00028   char buf[8 * sizeof(long) + 1];
00029   snprintf(buf, sizeof(buf), "%ld", n);
00030   return print(buf);
00031 }
00032 
00033 // Digits are ignored for now
00034 size_t Print::print(double n, int digits) {
00035   char buf[65];
00036   snprintf(buf, sizeof(buf), "%g", n);
00037   return print(buf);
00038 }
00039 
00040 size_t Print::println(const char* s) {
00041   return print(s) + println();
00042 }
00043 
00044 size_t Print::println(char c) {
00045   return print(c) + println();
00046 }
00047 
00048 size_t Print::println(int n) {
00049   return print(n) + println();
00050 }
00051 
00052 size_t Print::println(long n) {
00053   return print(n) + println();
00054 }
00055 
00056 size_t Print::println(double n, int digits) {
00057   return print(n, digits) + println();
00058 }
00059 
00060 size_t Print::println() {
00061   return print('\r') + print('\n');
00062 }