コード例 #1
0
ファイル: multipart.c プロジェクト: RealImage/libs3
static S3Status make_list_parts_callback(ListPartsData *lpData)
{
    int i;

    // Convert IsTruncated
    int isTruncated = (!strcmp(lpData->isTruncated, "true") ||
                       !strcmp(lpData->isTruncated, "1")) ? 1 : 0;

    // Convert the contents
    S3ListPart Parts[lpData->partsCount];
    int partsCount = lpData->partsCount;
    for (i = 0; i < partsCount; i++) {
        S3ListPart *partDest = &(Parts[i]);
        ListPart *partSrc = &(lpData->parts[i]);
        partDest->eTag = partSrc->eTag;
        partDest->partNumber = parseUnsignedInt(partSrc->partNumber);       
        partDest->size = parseUnsignedInt(partSrc->size);   
        partDest->lastModified = parseIso8601Time(partSrc->lastModified);
    }
    
    return (*(lpData->listPartsCallback))
        (isTruncated, lpData->nextPartNumberMarker, lpData->initiatorId,
         lpData->initiatorDisplayName, lpData->ownerId,
         lpData->ownerDisplayName, lpData->storageClass, partsCount,
         lpData->handlePartsStart, Parts, lpData->callbackData);
}
コード例 #2
0
ファイル: meshdolfin.c プロジェクト: Kun-Qu/petsc
 void XMLMesh::readInterval(const xmlChar *name, const xmlChar **attrs) {
   // Check dimension
   if (mesh->getDimension() != 1)
     error("Mesh entity (interval) does not match dimension of mesh (%d).", mesh->getDimension());
   // Parse values
   unsigned int c  = parseUnsignedInt(name, attrs, "index");
   unsigned int v0 = parseUnsignedInt(name, attrs, "v0") + this->numCells;
   unsigned int v1 = parseUnsignedInt(name, attrs, "v1") + this->numCells;
   // Add cell
   mesh->getSieve()->addArrow(v0, c, 0);
   mesh->getSieve()->addArrow(v1, c, 1);
 };
コード例 #3
0
ファイル: bucket.c プロジェクト: fboranek/libs3
static S3Status make_list_bucket_callback(ListBucketData *lbData)
{
    int i;

    // Convert IsTruncated
    int isTruncated = (!strcmp(lbData->isTruncated, "true") ||
                       !strcmp(lbData->isTruncated, "1")) ? 1 : 0;

    // Convert the contents
#ifdef MSVC_NO_C99
	S3ListBucketContent *contents = (S3ListBucketContent *) malloc(sizeof(S3ListBucketContent) * lbData->contentsCount);
#else
	S3ListBucketContent contents[lbData->contentsCount];
#endif

    int contentsCount = lbData->contentsCount;
    for (i = 0; i < contentsCount; i++) {
        S3ListBucketContent *contentDest = &(contents[i]);
        ListBucketContents *contentSrc = &(lbData->contents[i]);
        contentDest->key = contentSrc->key;
        contentDest->lastModified = 
            parseIso8601Time(contentSrc->lastModified);
        contentDest->eTag = contentSrc->eTag;
        contentDest->size = parseUnsignedInt(contentSrc->size);
        contentDest->ownerId =
            contentSrc->ownerId[0] ?contentSrc->ownerId : 0;
        contentDest->ownerDisplayName = (contentSrc->ownerDisplayName[0] ?
                                         contentSrc->ownerDisplayName : 0);
    }

    // Make the common prefixes array
    int commonPrefixesCount = lbData->commonPrefixesCount;
#ifdef MSVC_NO_C99
	char **commonPrefixes = (char **)malloc(sizeof(char*) * commonPrefixesCount);
#else
	char *commonPrefixes[commonPrefixesCount];
#endif
    for (i = 0; i < commonPrefixesCount; i++) {
        commonPrefixes[i] = lbData->commonPrefixes[i];
    }

	S3Status result = (*(lbData->listBucketCallback))
        (isTruncated, lbData->nextMarker,
         contentsCount, contents, commonPrefixesCount, 
         (const char **) commonPrefixes, lbData->callbackData);

#ifdef MSVC_NO_C99
	free(contents);
	free(commonPrefixes);
#endif
	return result;
}
コード例 #4
0
ファイル: meshdolfin.c プロジェクト: Kun-Qu/petsc
    void XMLMesh::readMesh(const xmlChar *name, const xmlChar **attrs) {
      // Parse values
      std::string type = parseString(name, attrs, "celltype");
      this->embedDim = parseUnsignedInt(name, attrs, "dim");
      int tdim = 0;

      if (type == "interval") {
        tdim = 1;
      } else if (type == "triangle") {
        tdim = 2;
      } else if (type == "tetrahedron") {
        tdim = 3;
      }
      mesh->setDimension(tdim);
    };
コード例 #5
0
ファイル: meshdolfin.c プロジェクト: Kun-Qu/petsc
    void XMLMesh::readVertex(const xmlChar *name, const xmlChar **attrs) {
      // Read index
      uint v = parseUnsignedInt(name, attrs, "index");

      switch (this->embedDim) {
      case 3:
        this->coords[v*this->embedDim+2] = parseReal(name, attrs, "z");
      case 2:
        this->coords[v*this->embedDim+1] = parseReal(name, attrs, "y");
      case 1:
        this->coords[v*this->embedDim+0] = parseReal(name, attrs, "x");
        break;
      default:
        error("Dimension of mesh must be 1, 2 or 3.");
      }
    };
コード例 #6
0
ファイル: bucket.c プロジェクト: Scott1989/libs3-1
static S3Status make_list_bucket_callback(ListBucketData *lbData)
{
    int i;

    // Convert IsTruncated
    int isTruncated = (!strcmp(lbData->isTruncated, "true") ||
                       !strcmp(lbData->isTruncated, "1")) ? 1 : 0;

    // Convert the contents
    S3ListBucketContent contents[lbData->contentsCount];

    int contentsCount = lbData->contentsCount;
    for (i = 0; i < contentsCount; i++) {
        S3ListBucketContent *contentDest = &(contents[i]);
        ListBucketContents *contentSrc = &(lbData->contents[i]);
        contentDest->key = contentSrc->key;
        contentDest->lastModified = 
            parseIso8601Time(contentSrc->lastModified);
        contentDest->eTag = contentSrc->eTag;
        contentDest->size = parseUnsignedInt(contentSrc->size);
        contentDest->ownerId =
            contentSrc->ownerId[0] ?contentSrc->ownerId : 0;
        contentDest->ownerDisplayName = (contentSrc->ownerDisplayName[0] ?
                                         contentSrc->ownerDisplayName : 0);
    }

    // Make the common prefixes array
    int commonPrefixesCount = lbData->commonPrefixesCount;
    char *commonPrefixes[commonPrefixesCount];
    for (i = 0; i < commonPrefixesCount; i++) {
        commonPrefixes[i] = lbData->commonPrefixes[i];
    }

    return (*(lbData->listBucketCallback))
        (isTruncated, lbData->nextMarker,
         contentsCount, contents, commonPrefixesCount, 
         (const char **) commonPrefixes, lbData->callbackData);
}
コード例 #7
0
ファイル: meshdolfin.c プロジェクト: Kun-Qu/petsc
 void XMLMesh::readCells(const xmlChar *name, const xmlChar **attrs) {
   // Parse values
   this->numCells = parseUnsignedInt(name, attrs, "size");
 };
コード例 #8
0
ファイル: meshdolfin.c プロジェクト: Kun-Qu/petsc
 void XMLMesh::readVertices(const xmlChar *name, const xmlChar **attrs) {
   // Parse values
   unsigned int num_vertices = parseUnsignedInt(name, attrs, "size");
   // Set number of vertices
   this->coords = new double[num_vertices*this->embedDim];
 };