Changeset 227 for trunk/foundation
- Timestamp:
- Feb 4, 2007, 10:51:43 PM (19 years ago)
- Location:
- trunk/foundation
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/foundation/class_c/nomfilepath.c
r225 r227 16 16 * The Initial Developer of the Original Code is 17 17 * netlabs.org: Chris Wohlgemuth <cinc-ml@netlabs.org>. 18 * Portions created by the Initial Developer are Copyright (C) 2006 18 * Portions created by the Initial Developer are Copyright (C) 2006-2007 19 19 * the Initial Developer. All Rights Reserved. 20 20 * … … 55 55 added to the path prior to appending. If the given string starts with a separator and the current 56 56 path ends with a separator the ending separator will be removed before appending. 57 If no input path is given only a separator is appended if necessary. 57 58 58 59 Note that there's no check if the input string is an absolute path. So if an absolute path is given as … … 72 73 return NOMPath_appendSeparator(nomSelf, ev); 73 74 75 /* This is not a copy */ 74 76 chrTemp=NOMPath_queryCString(nomPath, NULLHANDLE); 75 77 if(G_DIR_SEPARATOR==chrTemp[0]) 76 78 np=NOMPath_stripSeparator(nomSelf, ev); 77 else {79 else 78 80 np=NOMPath_appendSeparator(nomSelf, ev); /* Make sure current path has a separator */ 79 }80 81 81 82 return (NOMPath*) NOMPath_append((NOMString*) np, (NOMString*)nomPath, NULLHANDLE); … … 84 85 /** 85 86 Append a separator to the path. If the path already has a separator at the end this method does 86 nothing other than returning a new path object. If the given path has zero length apath object87 nothing other than returning the path object. If the given path has zero length the path object 87 88 only holding a separator is returned. 88 89 … … 94 95 gulong len; 95 96 97 /* Return only a separator */ 96 98 if((len=NOMPath_length((NOMString*)nomSelf, ev))==0) 97 99 return (NOMPath*)NOMPath_appendCString((NOMString*)nomSelf, G_DIR_SEPARATOR_S, ev); 98 100 101 /* Add a separator */ 99 102 if(G_DIR_SEPARATOR!=chrTemp[len-1]) 100 103 return (NOMPath*)NOMPath_appendCString( (NOMString*)nomSelf, G_DIR_SEPARATOR_S, ev); 101 104 102 return (PNOMPath)NOMPath_copy(nomSelf, NULLHANDLE);105 return nomSelf; 103 106 } 104 107 … … 106 109 Strips the path separator from the end of a path if there's one. 107 110 108 This method always returns a new instance of a NOMPath owned by the caller.111 This method returns the same instance of a NOMPath. 109 112 */ 110 113 NOM_Scope PNOMPath NOMLINK impl_NOMPath_stripSeparator(NOMPath* nomSelf, CORBA_Environment *ev) … … 114 117 115 118 if((len=NOMPath_length((NOMString*)nomSelf, NULLHANDLE))==0) 116 return (PNOMPath)NOMPath_copy(nomSelf, NULLHANDLE); 117 119 return nomSelf; 120 121 /* This is not a copy */ 118 122 chrTemp=NOMPath_queryCString((NOMString*)nomSelf, NULLHANDLE); 119 123 … … 121 125 return (NOMPath*)NOMPath_truncate( (NOMString*)nomSelf, len-1, NULLHANDLE); 122 126 123 return (PNOMPath)NOMPath_copy(nomSelf, NULLHANDLE);127 return nomSelf; 124 128 } 125 129 -
trunk/foundation/class_c/nomstring.c
r209 r227 90 90 { 91 91 NOMStringData* nomThis=NOMStringGetData(nomSelf); 92 PNOMString nomRetval=(PNOMString) NOMString_new(nomSelf, NULLHANDLE);93 GString* gStrTmp;94 92 95 gStrTmp=g_string_new(_gString->str); 96 g_string_append(gStrTmp, chrString); 97 NOMString_assignCString(nomRetval, gStrTmp->str, NULLHANDLE); 98 g_string_free(gStrTmp, TRUE); 93 g_string_append(_gString, chrString); 99 94 100 return nom Retval;95 return nomSelf; 101 96 } 102 97 … … 104 99 CORBA_Environment *ev) 105 100 { 106 /* NOMStringData* nomThis=NOMStringGetData(nomSelf); */107 108 101 return NOMString_appendCString(nomSelf, NOMString_queryCString(nomString, NULLHANDLE), NULLHANDLE); 109 102 } … … 112 105 CORBA_Environment *ev) 113 106 { 114 /* NOMStringData* nomThis=NOMStringGetData(nomSelf); */115 116 107 return NOMString_prependCString(nomSelf, NOMString_queryCString(nomString, NULLHANDLE), NULLHANDLE); 117 108 } … … 120 111 { 121 112 NOMStringData* nomThis=NOMStringGetData(nomSelf); 122 PNOMString nomRetval=(PNOMString)NOMString_new(nomSelf, NULLHANDLE); 123 GString* gStrTmp; 113 g_string_prepend(_gString, chrString); 124 114 125 gStrTmp=g_string_new(_gString->str); 126 g_string_prepend(gStrTmp, chrString); 127 NOMString_assignCString(nomRetval, gStrTmp->str, NULLHANDLE); 128 g_string_free(gStrTmp, TRUE); 129 130 return nomRetval; 115 return nomSelf; 131 116 } 132 117 … … 142 127 { 143 128 NOMStringData* nomThis=NOMStringGetData(nomSelf); 144 PNOMString nomRetval=(PNOMString)NOMString_new(nomSelf, NULLHANDLE);145 GString* gStrTmp;146 129 147 gStrTmp=g_string_new(_gString->str); 148 g_string_truncate(gStrTmp, ulNewLen); 149 NOMString_assignCString(nomRetval, gStrTmp->str, NULLHANDLE); 150 g_string_free(gStrTmp, TRUE); 130 g_string_truncate(_gString, ulNewLen); 151 131 152 return nom Retval;132 return nomSelf; 153 133 } 154 134 -
trunk/foundation/idl/nomfilepath.idl
r225 r227 16 16 * The Initial Developer of the Original Code is 17 17 * netlabs.org: Chris Wohlgemuth <cinc-ml@netlabs.org>. 18 * Portions created by the Initial Developer are Copyright (C) 2005-200 618 * Portions created by the Initial Developer are Copyright (C) 2005-2007 19 19 * the Initial Developer. All Rights Reserved. 20 20 * … … 43 43 /** \class NOMPath 44 44 NOMPath is a specialized string class for dealing with file or directory paths. 45 As with NOMString the NOMPath class is always working on copies.46 45 */ 47 46 interface NOMPath : NOMString … … 58 57 starts with a separator and the current path ends with a separator the ending separator 59 58 will be removed before appending. 59 If no input path is given only a separator is appended if necessary. 60 60 61 61 \remark … … 64 64 65 65 \return 66 The method returns a newNOMPath instance after appending.66 The method returns the same NOMPath instance after appending. 67 67 68 68 \sa append(), appendCString() … … 72 72 /** 73 73 Append a separator to the path. If the path already has a separator at the end this method 74 does nothing other than returning a new path object. If the given path has zero length 75 a path object only holding a separator is returned. 74 does nothing other than returning the path object. If the given path has zero length 75 the path object only holding a separator is returned. 76 77 \remark The returned string object is not newly allocated. Be aware that the string data 78 held by the object may. 76 79 77 80 \return 78 This method always returns a new instance of a NOMPath owned by the caller.81 This method returns the NOMPath. This is not a copy. 79 82 80 83 \sa append(), appendPath() … … 86 89 87 90 \return 88 This method always returns a new instance of a NOMPath owned by the caller.91 This method returns the same instance of a NOMPath. 89 92 90 93 \sa appendSeparator() -
trunk/foundation/idl/nomstring.idl
r225 r227 45 45 Methods are provided for common tasks when dealing with strings like inserting or 46 46 appending strings. A string object never can be empty. It always is a string which may have a length of zero. 47 These methods are threadsafe by always working with copies.48 47 49 48 Note that you don't have to delete a NOMString object. This is done by the garbage collector. Deleting … … 85 84 In most cases you rather want to use copyCString() instead. 86 85 87 \return The C string representing the contents of the string object. 86 \return The C string representing the contents of the string object. This is not a copy. 88 87 89 88 \sa copyCString() … … 93 92 /** 94 93 Add the NOMString nomString to the end of the string object. 94 95 \remark The returned string object is not newly allocated. Be aware that the string data 96 held by the object is. 95 97 96 98 \param nomString A NOMString object to be put at the end of the string. 97 99 \return 98 The returned NOMString object is a new object which is owned by the caller.100 Modified NOMString object with the given string object appended. This is not a copy. 99 101 100 102 \sa appendCString(), prepend() … … 103 105 104 106 /** 105 Prepend the NOMString \e nomString to the given string object and return a pointer to a 106 new string object. 107 Prepend the NOMString \e nomString to the given string object and return the modified 108 NOMString. 109 110 \remark The returned string object is not newly allocated. Be aware that the string data 111 held by the object is. 107 112 108 113 \param nomString A NOMString object to be put in front of the string. 109 114 \return 110 The returned NOMString object is a new object which is owned by the caller.115 NOMString object with the string prepended. This is not a copy. 111 116 112 117 \sa prependCString() … … 117 122 Append the given C string to the end of the string held by the NOMString object. 118 123 124 \remark The returned string object is not newly allocated. Be aware that the string data 125 held by the object is. 126 119 127 \param chrString A null terminated string. 120 128 \return 121 The NOMString object is a new object which is owned by the caller.129 Modified NOMString object with the C string appended. This is not a copy. 122 130 123 131 \sa append(), prependCString() … … 128 136 Prepend the C string to the string object. 129 137 138 \remark The returned string object is not newly allocated. Be aware that the string data 139 held by the object is. 140 130 141 \param chrString A null terminated string. 131 142 \return 132 The NOMString object is a new object which is owned by the caller.143 Modified NOMString object with the C string prepended. This is not a copy. 133 144 134 145 \sa appendCString(), prepend() … … 144 155 Cuts off the end of a string leaving the first ulNewLen characters. 145 156 146 \return 147 The returned NOMString object is a new object holding the truncated string 148 which is owned by the caller. 157 \remark The returned string object is not newly allocated. Be aware that the string data 158 held by the object is. 159 160 \return 161 Truncated NOMString object. This is not a copy. 149 162 */ 150 163 PNOMString truncate(in unsigned long ulNewLen);
Note:
See TracChangeset
for help on using the changeset viewer.