1 | /* |
1 | /* |
2 | * This file is part of Deliantra, the Roguelike Realtime MMORPG. |
2 | * This file is part of Deliantra, the Roguelike Realtime MMORPG. |
3 | * |
3 | * |
|
|
4 | * Copyright (©) 2017,2018 Marc Alexander Lehmann / the Deliantra team |
4 | * Copyright (©) 2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016 Marc Alexander Lehmann / Robin Redeker / the Deliantra team |
5 | * Copyright (©) 2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016 Marc Alexander Lehmann / Robin Redeker / the Deliantra team |
5 | * |
6 | * |
6 | * Deliantra is free software: you can redistribute it and/or modify it under |
7 | * Deliantra is free software: you can redistribute it and/or modify it under |
7 | * the terms of the Affero GNU General Public License as published by the |
8 | * the terms of the Affero GNU General Public License as published by the |
8 | * Free Software Foundation, either version 3 of the License, or (at your |
9 | * Free Software Foundation, either version 3 of the License, or (at your |
… | |
… | |
178 | { |
179 | { |
179 | ++refcnt (); |
180 | ++refcnt (); |
180 | } |
181 | } |
181 | |
182 | |
182 | explicit shstr (const char *str) |
183 | explicit shstr (const char *str) |
183 | : shstr_tmp (0, is_constant (str) && !str ? null () : intern (str)) |
184 | : shstr_tmp (0, ecb_is_constant (str) && !str ? null () : intern (str)) |
184 | { |
185 | { |
185 | } |
186 | } |
186 | |
187 | |
187 | ~shstr () |
188 | ~shstr () |
188 | { |
189 | { |
… | |
… | |
210 | |
211 | |
211 | // shstr_tmp doesn't have this one |
212 | // shstr_tmp doesn't have this one |
212 | shstr &operator =(const char *str) |
213 | shstr &operator =(const char *str) |
213 | { |
214 | { |
214 | --refcnt (); |
215 | --refcnt (); |
215 | s = is_constant (str) && !str ? null () : intern (str); |
216 | s = ecb_is_constant (str) && !str ? null () : intern (str); |
216 | |
217 | |
217 | return *this; |
218 | return *this; |
218 | } |
219 | } |
219 | }; |
220 | }; |
220 | |
221 | |