Bill Currie
d4277ef130
[util] Mark PL_CheckType as const
...
I keep forgetting to do optimized builds :(
2021-01-07 01:10:25 +09:00
Bill Currie
b493e6ac32
[util] Expose plist type check support functions
2021-01-05 23:39:52 +09:00
Bill Currie
81300f89f8
[util] Allow multiple types for pl fields
...
I want to be able to use name references, but that requires string
items, so anything that would normally be dictionary or array (or
binary, even) would also need to accept string. This seemed to be the
cleanest solution. Any custom parser would then need to check the type
and act appropriately, but any inappropriate types have already been
pre-filtered by the standard parsers.
2021-01-02 14:02:33 +09:00
Bill Currie
fefb32bf13
[util] Add a PL dictionary to hash table parser
2020-12-24 16:06:34 +09:00
Bill Currie
cb2bdb0224
[util] Rename PL_ParseDictionary to PL_ParseStruct
...
Struct is far more appropriate for its function, and I need to parse a
dictionary into a hash table.
2020-12-24 13:33:37 +09:00
Bill Currie
5864b553ef
[util] Add accessors for binary plist objects
2020-12-23 14:07:30 +09:00
Bill Currie
591667c36d
[util] Add a context parameter to the plist parsers
...
Not used by the dict/array parsers themselves, but is passed on to any
value parser callbacks for their own use.
2020-12-21 14:22:42 +09:00
Bill Currie
2b23e01d9a
[util] Make PL_Type and PL_Line const-correct
2020-07-17 00:22:47 +09:00
Bill Currie
26cd93f788
[util] Expose PL_Message
...
It's far to useful elsewhere.
2020-07-16 22:14:19 +09:00
Bill Currie
ef33adac56
[util] Make PL_String const correct
2020-07-16 22:14:19 +09:00
Bill Currie
c6a8829a52
[util] Add code to parse a plist array to an array
2020-07-14 12:05:34 +09:00
Bill Currie
8bd5f4f201
[util] Add code to parse a dictionary to a struct
...
PL_ParseDictionary itself does only one level, but it takes care of the
key-field mappings and property list item type checking leaving the
actual parsing to a helper specified by the field. That helper is free
to call PL_ParseDictionary recursively.
2020-07-05 16:53:35 +09:00
Bill Currie
f6ea9e4d87
[util] Store source line in plist items
...
The first line of the parsed item is stored and can be retrieved using
PL_Line. Line numbers not stored for dictionary keys yet. Will be 0 for
any items generated by code rather than parsed from a file or string.
2020-07-01 21:47:09 +09:00
Bill Currie
a30433fa9e
Make header protection consistent
...
And delete a couple of useless files.
2020-02-24 12:21:20 +09:00
Bill Currie
9248e8cf01
Update for doxygen 1.8.16
2020-02-11 15:22:42 +09:00
Bill Currie
34bcf7faab
Do a pure/const/noreturn/format attribute pass.
...
I always wanted these, but as gcc now provides warnings for functions that
could do with such attributes, finding all the functions is much easier.
2018-10-09 12:42:21 +09:00
Bill Currie
23a38738fc
Massive whitespace cleanup.
...
Lots of trailing whitespace and otherwise blank lines.
2012-05-22 08:23:22 +09:00
Bill Currie
bc1b483525
Nuke the rcsid stuff.
...
It's pretty useless in git.
2012-04-22 10:56:32 +09:00
Bill Currie
6268bd2965
Tweak the property list docs a little.
2011-08-20 19:23:31 +09:00
Bill Currie
a759a5a376
Make the property-list documentation useful for users.
2011-08-20 16:29:59 +09:00
Bill Currie
763cec3838
Some spelling/grammar corrections.
2010-11-24 17:01:18 +09:00
Bill Currie
fd24170b32
get the behavior or PL_NewData correct
...
It taking ownership of the data was the correct behavior, so go back to that.
2010-08-20 13:21:22 +09:00
Bill Currie
a744caa421
The public api of qfplist is now fully documented.
...
Evertyhing that can or should be private now is, and all public functions
are documented.
2010-08-20 13:10:37 +09:00
Bill Currie
997102fea8
audit the usage of "only"
...
There are still a few iffy places (notably around certain prepositions), but
the relevant sentences are now much easier to read.
2010-01-13 06:42:26 +00:00
Bill Currie
5c73d81e00
Python style long strings ("""...""") now supported for parsing. Any such strings will be written out as standard strings with escaped quotes when writing the plist.
2007-10-13 07:55:58 +00:00
Bill Currie
961f30f846
correct some harmless c&p errors
2006-12-18 13:11:26 +00:00
Bill Currie
70ec9848e7
add PL_RemoveObjectForKey and make PL_D_AddObject take a normal C string for key instead of a pl string.
2006-12-09 06:00:36 +00:00
Bill Currie
9cbac0bbc1
add array item removal
2006-12-09 02:33:08 +00:00
Bill Currie
6fbddc3d43
so that's the right way to do groups and subgroups...
2006-12-05 11:40:00 +00:00
Bill Currie
aadf6ebf6a
"finish" qfplist
...
This is an imperfect revision of history.
2004-11-11 11:18:00 +00:00
Bill Currie
893d3ec290
hash.[ch]:
...
add Hash_NumElements to get the number of elements in the hash table
qfplist.[ch]:
add PL_A_NumObjects and PL_D_NumKeys, to get the number of objects or
number of keys in the array or dictionary, respectively
2004-02-07 07:47:23 +00:00
Bill Currie
eb69be5e5a
more doxygen fixes
2004-01-17 08:09:30 +00:00
Bill Currie
808baf2198
doxygen didn't like that construct
2004-01-09 03:32:00 +00:00
Bill Currie
16f0a54a84
fix some inconsistencies pointed out by doxygen
2004-01-07 20:06:15 +00:00
Jeff Teunissen
eb6b179add
plist functions that add objects return qboolean, not int. Also doc fixes.
2004-01-07 07:01:31 +00:00
Bill Currie
9c92a916ff
change the dict and array add functions to return true/false and add some
...
more docs
2004-01-07 06:19:11 +00:00
Jeff Teunissen
d1b4c5df72
Change PL_D_AddObject() so that it replaces values instead of stacking them.
...
Add PL_D_AllKeys(), which returns a list of all keys in a dictionary.
Rename PL_FreeItem() to PL_Free() -- what was I smoking?
Document some of the property list system for doxygen.
2004-01-06 11:09:40 +00:00
Bill Currie
cd8035319d
PR_GetString should have been returning const char *. now does
2003-11-21 21:34:53 +00:00
Bill Currie
d5003f363d
make plist arrays unlimited in size
2003-04-07 19:29:52 +00:00
Bill Currie
3423ed59d5
expand the plist api to make plist creation easier
2003-03-18 19:15:31 +00:00
Bill Currie
71196fedf6
make gcc more anal about prototypes, string constants and function
...
visibility (ie, global functions must have a prototype)
2003-01-06 18:28:13 +00:00
Bill Currie
637de7b687
chage PL_ObjectForKey to take a plitem directly and typecheck the item
2002-12-18 16:09:47 +00:00
Bill Currie
22878209d6
move the forward decl of hashtab_s out of the function prototype
2001-08-01 06:51:06 +00:00
Bill Currie
c38ca8e2f1
qfplist.h:
...
remove include of glob.h. not needed and causes win32 build to fail
plugin.c:
include compat.h and cast the return of GetProcAddress
gl_funcs.c:
fix parse error and type mismatch
qfgl_ext.c:
half re-write QFGL_ExtensionAddress to use QFGL_ProcAddress
vid_wgl.c:
fix for the new gl linking
2001-07-05 17:28:19 +00:00
Jeff Teunissen
118645fd51
Property list updates. Objects of type QFDictionary are now hash tables
...
(and thus have a new simpler PL_ObjectForKey() function to get a value for
a key). Also, you can now call PL_FreeItem() on a plitem_t to free a
property list item and all of its descendants (if it has any).
Binary plist values are still not supported.
2001-06-19 02:10:47 +00:00
Bill Currie
5a48f987a5
scripted fixups for the QF include move
2001-03-27 23:36:02 +00:00
Bill Currie
f78b973978
move the api headers into include/QF and clean up (most of) the resulting mess.
...
target specific files that I don't build won't compile yet. just put QF/
infront of the offending headers.
Also move ver_check into libqfutils
2001-03-27 20:33:07 +00:00