~serge-hallyn/ubuntu/raring/libvirt/libvirt-hugepages

« back to all changes in this revision

Viewing changes to src/util/json.c

  • Committer: Package Import Robot
  • Author(s): Chuck Short
  • Date: 2012-05-13 15:44:12 UTC
  • mfrom: (1.2.13)
  • Revision ID: package-import@ubuntu.com-20120513154412-fgmn5sxqdzgnzlx3
Tags: 0.9.12-0ubuntu1
* New upstream version:
  * Synchronize with debian packaging:
    - debian/control: Update build depends.
    - debian/libvirt-bin.postrm: Cleanup /var/log/libvirt
      on purge.
    - Bump standards verson (no changes).
    - debian/patches/Don-t-fail-if-we-can-t-setup-avahi.patch: Added
  * Dropped patches:
    - debian/patches/Debianize-libvirt-guests.patch
    - debian/patches/rewrite-lxc-controller-eof-handling-yet-again
    - debian/patches/ubuntu/libnl13.patch
    - debian/patches/ubuntu/fix-lxc-startup-error.patch
    - debian/patches/ubuntu/fix-bridge-fd.patch
    - debian/patches/ubuntu/skip-labelling-network-disks.patch
    - debian/patches/ubuntu/xen-xend-shutdown-detection.patch
    - debian/patches/ubuntu/xen-config-no-vfb-for-hvm.patch
    - debian/patches/debian/Disable-daemon-start-test.patch
    - debian/patches/debian/Disable-gnulib-s-test-nonplocking-pipe.sh.patch
    - debian/patches/ubuntu/9006-default-config-test-case.patch
    - debian/patches/fix-block-migration.patch
    - debian/patches/ubuntu/9022-qemu-unescape-HMP-commands-before-converting-them-to.patch
    - debian/patches/ubuntu/9023-qemu-change-rbd-auth_supported-separation-character-.patch
    - debian/patches/ubuntu/9024-qemu-allow-snapshotting-of-sheepdog-and-rbd-disks.patch
    - debian/patches/9025-qemu-change-rbd-auth_supported-separation-character-.patch
    - debian/patches/ubuntu/arm-gcc-workaround.patch
  * Rediffed:
    - debian/patches/Allow-libvirt-group-to-access-the-socket.patch
    - debian/patches/Disable-failing-virnetsockettest.patch
    - debian/patches/dnsmasq-as-priv-user
    - debian/patches/9002-better_default_uri_virsh.patch
  * debian/control: Add libnl-route-3-dev ass a build depends.
  * debian/patches/libnl3-build-fix.patch: Fix build with libnl3.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*
2
2
 * json.c: JSON object parsing/formatting
3
3
 *
4
 
 * Copyright (C) 2009-2010 Red Hat, Inc.
 
4
 * Copyright (C) 2009-2010, 2012 Red Hat, Inc.
5
5
 * Copyright (C) 2009 Daniel P. Berrange
6
6
 *
7
7
 * This library is free software; you can redistribute it and/or
67
67
void virJSONValueFree(virJSONValuePtr value)
68
68
{
69
69
    int i;
70
 
    if (!value)
 
70
    if (!value || value->protect)
71
71
        return;
72
72
 
73
 
    switch (value->type) {
 
73
    switch ((virJSONType) value->type) {
74
74
    case VIR_JSON_TYPE_OBJECT:
75
75
        for (i = 0 ; i < value->data.object.npairs; i++) {
76
76
            VIR_FREE(value->data.object.pairs[i].key);
89
89
    case VIR_JSON_TYPE_NUMBER:
90
90
        VIR_FREE(value->data.number);
91
91
        break;
 
92
    case VIR_JSON_TYPE_BOOLEAN:
 
93
    case VIR_JSON_TYPE_NULL:
 
94
        break;
92
95
    }
93
96
 
94
97
    VIR_FREE(value);
428
431
    return NULL;
429
432
}
430
433
 
 
434
int virJSONValueObjectKeysNumber(virJSONValuePtr object)
 
435
{
 
436
    if (object->type != VIR_JSON_TYPE_OBJECT)
 
437
        return -1;
 
438
 
 
439
    return object->data.object.npairs;
 
440
}
 
441
 
 
442
const char *virJSONValueObjectGetKey(virJSONValuePtr object, unsigned int n)
 
443
{
 
444
    if (object->type != VIR_JSON_TYPE_OBJECT)
 
445
        return NULL;
 
446
 
 
447
    if (n >= object->data.object.npairs)
 
448
        return NULL;
 
449
 
 
450
    return object->data.object.pairs[n].key;
 
451
}
 
452
 
 
453
virJSONValuePtr virJSONValueObjectGetValue(virJSONValuePtr object, unsigned int n)
 
454
{
 
455
    if (object->type != VIR_JSON_TYPE_OBJECT)
 
456
        return NULL;
 
457
 
 
458
    if (n >= object->data.object.npairs)
 
459
        return NULL;
 
460
 
 
461
    return object->data.object.pairs[n].value;
 
462
}
 
463
 
431
464
int virJSONValueArraySize(virJSONValuePtr array)
432
465
{
433
466
    if (array->type != VIR_JSON_TYPE_ARRAY)