libcvd-members
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[libcvd-members] libcvd/pnm_src fitswrite.cc


From: Edward Rosten
Subject: [libcvd-members] libcvd/pnm_src fitswrite.cc
Date: Wed, 10 Jun 2009 17:41:45 +0000

CVSROOT:        /cvsroot/libcvd
Module name:    libcvd
Changes by:     Edward Rosten <edrosten>        09/06/10 17:41:45

Modified files:
        pnm_src        : fitswrite.cc 

Log message:
        Fix for STL without .data() method of vector. Is this standard?
        Also fix warning for big-endian machines.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/libcvd/pnm_src/fitswrite.cc?cvsroot=libcvd&r1=1.1&r2=1.2

Patches:
Index: fitswrite.cc
===================================================================
RCS file: /cvsroot/libcvd/libcvd/pnm_src/fitswrite.cc,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- fitswrite.cc        4 Jun 2009 17:07:50 -0000       1.1
+++ fitswrite.cc        10 Jun 2009 17:41:45 -0000      1.2
@@ -223,11 +223,9 @@
 
 WritePimpl::~WritePimpl()
 {      
-
-       size_t nelems = data.size() / bpp;
-
        //Make the data big endian
        #ifdef CVD_ARCH_LITTLE_ENDIAN
+               size_t nelems = data.size() / bpp;
                if(raw)
                        for(size_t i=0; i < nelems; i++)
                                reverse(&data[i*bpp], &data[i*bpp] + bpp);
@@ -242,7 +240,7 @@
                                for(int b=0; b < bpp; b++)
                                                raw_data[p*a1*a2*bpp+ 
(r*a1+c)*bpp+b] = data[(((a2-r-1) * a1 + c)*a3 + p)*bpp + b];
        
-       o.write((char*)raw_data.data(), raw_data.size());
+       o.write((char*)&raw_data[0], raw_data.size());
 }
 
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]