use strings instead of char*
authorTomi Valkeinen <tomi.valkeinen@iki.fi>
Sat, 3 Oct 2015 19:52:46 +0000 (22:52 +0300)
committerTomi Valkeinen <tomi.valkeinen@iki.fi>
Sat, 3 Oct 2015 19:52:46 +0000 (22:52 +0300)
libkms++/drmobject.cpp
libkms++/drmobject.h
libkms++/dumbframebuffer.cpp
libkms++/dumbframebuffer.h
libkms++/property.cpp
libkms++/property.h

index 69ea86e9822c7923ca1d2f337858c96ed9b2253a..0e43f6934c0efb9147bf15b2b7c347688e597bbd 100644 (file)
@@ -56,11 +56,11 @@ uint64_t DrmObject::get_prop_value(uint32_t id) const
        return m_prop_values.at(id);
 }
 
-uint64_t DrmObject::get_prop_value(const char *name) const
+uint64_t DrmObject::get_prop_value(const string& name) const
 {
        for (auto pair : m_prop_values) {
                auto prop = card().get_prop(pair.first);
-               if (strcmp(name, prop->name()) == 0)
+               if (name == prop->name())
                        return m_prop_values.at(prop->id());
        }
 
index f1791919ece511015491952a05e00ed910ee22a0..5e2a28ca2a9bdc3757c561bb39fdcdfb898e352b 100644 (file)
@@ -25,7 +25,7 @@ public:
 
        void refresh_props();
        uint64_t get_prop_value(uint32_t id) const;
-       uint64_t get_prop_value(const char *name) const;
+       uint64_t get_prop_value(const std::string& name) const;
 
 protected:
        DrmObject(Card& card, uint32_t object_type);
index 285803f339f50891d262aebb682b0895c0ae737d..0defd3a19932e8d0d6d240dd4290e1e8240997c2 100644 (file)
@@ -17,7 +17,7 @@ using namespace std;
 namespace kms
 {
 
-DumbFramebuffer::DumbFramebuffer(Card &card, uint32_t width, uint32_t height, const char* fourcc)
+DumbFramebuffer::DumbFramebuffer(Card &card, uint32_t width, uint32_t height, const string& fourcc)
        :Framebuffer(card, width, height)
 {
        uint32_t a, b, c, d;
index e7cafb65c164677b58ae6b3bb91deff16ae5d539..24e791aad9eadd3441d1342ebcf463a24e21df06 100644 (file)
@@ -7,7 +7,7 @@ namespace kms
 class DumbFramebuffer : public Framebuffer
 {
 public:
-       DumbFramebuffer(Card& card, uint32_t width, uint32_t height, const char* fourcc);
+       DumbFramebuffer(Card& card, uint32_t width, uint32_t height, const std::string& fourcc);
        virtual ~DumbFramebuffer();
 
        void print_short() const;
index af6a0aea52719bdb5873a59bbf4437284437fafb..e01bf604cab40e2b504c1b05e10fde6571ec810d 100644 (file)
@@ -3,6 +3,8 @@
 
 #include "kms++.h"
 
+using namespace std;
+
 namespace kms
 {
 
@@ -16,6 +18,7 @@ Property::Property(Card& card, uint32_t id)
 {
        m_priv = new PropertyPriv();
        m_priv->drm_prop = drmModeGetProperty(card.fd(), id);
+       m_name = m_priv->drm_prop->name;
 }
 
 Property::~Property()
@@ -26,11 +29,11 @@ Property::~Property()
 
 void Property::print_short() const
 {
-       printf("Property %d, %s\n", id(), name());
+       printf("Property %d, %s\n", id(), name().c_str());
 }
 
-const char *Property::name() const
+const string& Property::name() const
 {
-       return m_priv->drm_prop->name;
+       return m_name;
 }
 }
index 24d2ae93887de1bb41df516b11423e98aa05fb0d..ffab8d0cd05c911d22b1e1ab82c24e7b3a62ddf6 100644 (file)
@@ -13,12 +13,13 @@ class Property : public DrmObject
 public:
        void print_short() const;
 
-       const char *name() const;
+       const std::string& name() const;
 
 private:
        Property(Card& card, uint32_t id);
        ~Property();
 
        PropertyPriv* m_priv;
+       std::string m_name;
 };
 }