summaryrefslogtreecommitdiff
path: root/src/Fl_String.cxx
diff options
context:
space:
mode:
authorAlbrecht Schlosser <albrechts.fltk@online.de>2021-12-04 15:50:10 +0100
committerAlbrecht Schlosser <albrechts.fltk@online.de>2021-12-04 15:50:10 +0100
commit130f864d1d3f02f854a5f4085a49318a03a8eea0 (patch)
tree6ddb870b698bf9d529df6ba95607a32d22946eb1 /src/Fl_String.cxx
parent7a7e50df6ee3b9ab658cf165fd199f6214f4983d (diff)
Rename src/Fl_String.cxx to src/Fl_String_class.cxx
Sorry for the noise, still fixing a name class on case-insensitive file systems (macOS and Windows).
Diffstat (limited to 'src/Fl_String.cxx')
-rw-r--r--src/Fl_String.cxx159
1 files changed, 0 insertions, 159 deletions
diff --git a/src/Fl_String.cxx b/src/Fl_String.cxx
deleted file mode 100644
index f0aa4f405..000000000
--- a/src/Fl_String.cxx
+++ /dev/null
@@ -1,159 +0,0 @@
-//
-// Basic Fl_String class for the Fast Light Tool Kit (FLTK).
-//
-// Copyright 2021 by Bill Spitzak and others.
-//
-// This library is free software. Distribution and use rights are outlined in
-// the file "COPYING" which should have been included with this file. If this
-// file is missing or damaged, see the license at:
-//
-// https://www.fltk.org/COPYING.php
-//
-// Please see the following page on how to report bugs and issues:
-//
-// https://www.fltk.org/bugs.php
-//
-
-#include <FL/Fl_String_class.H>
-
-#include <stdio.h>
-#include <string.h>
-
-/** \file src/Fl_String.cxx
- Basic Fl_String class for FLTK.
-*/
-
-static int string_count;
-
-Fl_String::Fl_String() {
- string_count++;
- init();
- // debug("created ()");
-}
-
-Fl_String::Fl_String(const char *str) {
- string_count++;
- init();
- value(str);
- // debug("created (str)");
-}
-
-Fl_String::Fl_String(const char *str, int size) {
- string_count++;
- init();
- value(str, size);
- // debug("created (str, size)");
-}
-
-void Fl_String::init() {
- size_ = 0;
- value_ = 0;
- capacity_ = 0;
-}
-
-// copy constructor
-Fl_String::Fl_String(const Fl_String &in) {
- string_count++;
- init();
- value(in.value(), in.size());
- // debug("copied (c'tor)");
-}
-
-// copy assignment operator
-Fl_String& Fl_String::operator=(const Fl_String &in) {
- if (this == &in)
- return *this;
- value(in.value(), in.size());
- // debug("copy assigned");
- return *this;
-}
-
-// assignment operator for 'const char *'
-Fl_String& Fl_String::operator=(const char *in) {
- value(in);
- // debug("*STRING* assigned");
- return *this;
-}
-
-Fl_String::~Fl_String() {
- string_count--;
- // debug("~Fl_String()");
- delete[] value_;
-}
-
-void Fl_String::alloc_buf(int size) {
- if (size < 0)
- return;
- if (size > 0 && size <= capacity_)
- return;
- if (capacity_ > 0)
- return;
-
- int new_size = (size + 1 + 15) & (~15); // round upwards
- char *new_value = new char[new_size];
- capacity_ = new_size - 1;
-
- size_ = 0;
- delete[] value_;
- value_ = new_value;
-}
-
-void Fl_String::value(const char *str) {
- value(str, str ? strlen(str) : 0);
-}
-
-int Fl_String::slen() const {
- if (!value_) return 0;
- return (int)strlen(value_);
-}
-
-void Fl_String::value(const char *str, int len) {
- if (str) {
- alloc_buf(len);
- size_ = len;
- memcpy(value_, str, size_);
- value_[size_] = '\0';
- } else { // str == NULL
- size_ = 0; // ignore len !
- delete[] value_; // free buffer
- value_ = NULL; // set null pointer (!)
- capacity_ = 0; // reset capacity
- }
-}
-
-int Fl_String::capacity() const {
- return capacity_; // > 0 ? capacity_ - 1 : capacity_;
-}
-
-void Fl_String::release() {
- delete[] value_;
- value_ = 0;
- size_ = 0;
- capacity_ = 0;
-}
-
-// ============================= DEBUG =============================
-
-static const char fl_string_debug = 0;
-
-void Fl_String::debug(const char *info) const {
- if (fl_string_debug) {
- printf("Fl_String[%2d] '%-20s': %p, value = %p (%d/%d): '%s'.\n",
- string_count, info, this, value_, size_, capacity_, value_);
- }
-}
-
-void Fl_String::hexdump(const char *info) const {
- if (fl_string_debug) {
- debug(info);
- for (int i = 0; i < size_; i++) {
- if ((i & 15) == 0) {
- if (i > 0) printf("\n");
- printf(" [%04x %4d] ", i, i);
- } else if ((i & 3) == 0)
- printf(" ");
- printf(" %02x", (unsigned char)value_[i]);
- }
- printf("\n");
- }
-}