summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--2004/i/nono/src/serial/serial.cc4
-rw-r--r--2004/i/nono/src/serial/serial.h2
-rw-r--r--2004/i/nono/src/serial/serial_base.h3
-rw-r--r--2004/i/nono/src/serial/serial_dev.cc4
-rw-r--r--2004/i/nono/src/serial/serial_dev.h2
-rw-r--r--2004/i/nono/src/serial/serial_stdio.cc2
-rw-r--r--2004/i/nono/src/serial/serial_stdio.h2
7 files changed, 10 insertions, 9 deletions
diff --git a/2004/i/nono/src/serial/serial.cc b/2004/i/nono/src/serial/serial.cc
index 861dccf..ee7a19f 100644
--- a/2004/i/nono/src/serial/serial.cc
+++ b/2004/i/nono/src/serial/serial.cc
@@ -42,10 +42,10 @@ Serial::~Serial (void)
/// ("/dev/tty00", voir SerialDev), un programme précédé d'un tube
/// ("|simul_asserv", voir SerialPipe) ou l'entrée/sortie standard ("-").
void
-Serial::open (const char *ttyname, int speed/*0*/)
+Serial::open (const std::string &ttyname, int speed/*0*/)
{
close ();
- if (ttyname[0] == '-' && ttyname[1] == '\0')
+ if (ttyname == "-")
sb_ = new SerialStdio (blocking_);
else if (ttyname[0] == '|')
{
diff --git a/2004/i/nono/src/serial/serial.h b/2004/i/nono/src/serial/serial.h
index fafb77b..c44b0ff 100644
--- a/2004/i/nono/src/serial/serial.h
+++ b/2004/i/nono/src/serial/serial.h
@@ -40,7 +40,7 @@ class Serial
/// Ouvre et paramètre le port série. \a ttyname peut être un device
/// ("/dev/tty00", voir SerialDev), un programme précédé d'un tube
/// ("|simul_asserv", voir SerialPipe) ou l'entrée/sortie standard ("-").
- void open (const char *ttyname, int speed = 0);
+ void open (const std::string &ttyname, int speed = 0);
/// Ferme le port série, appellé automatiquement dans le destructeur.
void close (void);
/// Lit un bloc, retourne le nombre d'octets lus ou <= 0 en cas d'erreur
diff --git a/2004/i/nono/src/serial/serial_base.h b/2004/i/nono/src/serial/serial_base.h
index 97fd975..b41c6b5 100644
--- a/2004/i/nono/src/serial/serial_base.h
+++ b/2004/i/nono/src/serial/serial_base.h
@@ -26,6 +26,7 @@
// }}}
#include <unistd.h>
+#include <string>
/// Classe de base pour un port série.
class SerialBase
@@ -42,7 +43,7 @@ class SerialBase
/// Ouvre et paramètre le port série. \a ttyname peut être un device
/// ("/dev/tty00", voir SerialDev) ou un programme précédé d'un tube
/// ("|simul_asserv", voir SerialPipe).
- virtual void open (const char *ttyname, int speed = 0) = 0;
+ virtual void open (const std::string &ttyname, int speed = 0) = 0;
/// Ferme le port série, appellé automatiquement dans le destructeur.
virtual void close (void) = 0;
/// Lit un bloc, retourne le nombre d'octets lus ou <= 0 en cas d'erreur
diff --git a/2004/i/nono/src/serial/serial_dev.cc b/2004/i/nono/src/serial/serial_dev.cc
index e427050..552f0fe 100644
--- a/2004/i/nono/src/serial/serial_dev.cc
+++ b/2004/i/nono/src/serial/serial_dev.cc
@@ -42,11 +42,11 @@ SerialDev::~SerialDev (void)
/// Ouvre et paramètre le port série.
void
-SerialDev::open (const char *ttyname, int speed/*0*/)
+SerialDev::open (const std::string &ttyname, int speed/*0*/)
{
struct termios tios;
// Ouvre le port série.
- fdIn_ = ::open (ttyname, O_RDWR | O_NOCTTY | O_NONBLOCK);
+ fdIn_ = ::open (ttyname.c_str (), O_RDWR | O_NOCTTY | O_NONBLOCK);
if (fdIn_ < 0)
throw errno_exception (ttyname, errno);
// Rendre le port série asynchrone.
diff --git a/2004/i/nono/src/serial/serial_dev.h b/2004/i/nono/src/serial/serial_dev.h
index c522784..ee84da9 100644
--- a/2004/i/nono/src/serial/serial_dev.h
+++ b/2004/i/nono/src/serial/serial_dev.h
@@ -39,7 +39,7 @@ class SerialDev : public SerialBase
/// Destructeur.
~SerialDev (void);
/// Ouvre et paramètre le port série.
- void open (const char *ttyname, int speed = 0);
+ void open (const std::string &ttyname, int speed = 0);
/// Ferme le port série, appellé automatiquement dans le destructeur de la
/// classe SerialBase.
void close (void);
diff --git a/2004/i/nono/src/serial/serial_stdio.cc b/2004/i/nono/src/serial/serial_stdio.cc
index eaa7062..a8cc17b 100644
--- a/2004/i/nono/src/serial/serial_stdio.cc
+++ b/2004/i/nono/src/serial/serial_stdio.cc
@@ -42,7 +42,7 @@ SerialStdio::~SerialStdio (void)
/// Ouvre et paramètre le port série.
void
-SerialStdio::open (const char *ttyname, int speed/*0*/)
+SerialStdio::open (const std::string &ttyname, int speed/*0*/)
{
struct termios tios;
fdIn_ = 0;
diff --git a/2004/i/nono/src/serial/serial_stdio.h b/2004/i/nono/src/serial/serial_stdio.h
index 0920775..e26569b 100644
--- a/2004/i/nono/src/serial/serial_stdio.h
+++ b/2004/i/nono/src/serial/serial_stdio.h
@@ -39,7 +39,7 @@ class SerialStdio : public SerialBase
/// Destructeur.
~SerialStdio (void);
/// Ouvre et paramètre le port série.
- void open (const char *ttyname, int speed = 0);
+ void open (const std::string &ttyname, int speed = 0);
/// Ferme le port série, appellé automatiquement dans le destructeur de la
/// classe SerialBase.
void close (void);