1 // 2 // Shared string class for the CUPS PPD Compiler. 3 // 4 // Copyright 2007-2012 by Apple Inc. 5 // Copyright 2002-2005 by Easy Software Products. 6 // 7 // Licensed under Apache License v2.0. See the file "LICENSE" for more information. 8 // 9 10 // 11 // Include necessary headers... 12 // 13 14 #include "ppdc-private.h" 15 16 17 // 18 // 'ppdcString::ppdcString()' - Create a shared string. 19 // 20 ppdcString(const char * v)21ppdcString::ppdcString(const char *v) // I - String 22 : ppdcShared() 23 { 24 PPDC_NEWVAL(v); 25 26 if (v) 27 { 28 size_t vlen = strlen(v); 29 30 value = new char[vlen + 1]; 31 memcpy(value, v, vlen + 1); 32 } 33 else 34 value = 0; 35 } 36 37 38 // 39 // 'ppdcString::~ppdcString()' - Destroy a shared string. 40 // 41 ~ppdcString()42ppdcString::~ppdcString() 43 { 44 PPDC_DELETEVAL(value); 45 46 if (value) 47 delete[] value; 48 } 49