Home | History | Annotate | Line # | Download | only in src
      1 /*
      2  * Copyright (C) 1989-95 GROUPE BULL
      3  *
      4  * Permission is hereby granted, free of charge, to any person obtaining a copy
      5  * of this software and associated documentation files (the "Software"), to
      6  * deal in the Software without restriction, including without limitation the
      7  * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
      8  * sell copies of the Software, and to permit persons to whom the Software is
      9  * furnished to do so, subject to the following conditions:
     10  *
     11  * The above copyright notice and this permission notice shall be included in
     12  * all copies or substantial portions of the Software.
     13  *
     14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
     17  * GROUPE BULL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
     18  * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
     19  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
     20  *
     21  * Except as contained in this notice, the name of GROUPE BULL shall not be
     22  * used in advertising or otherwise to promote the sale, use or other dealings
     23  * in this Software without prior written authorization from GROUPE BULL.
     24  */
     25 
     26 /*****************************************************************************\
     27 * WrFFrBuf.c:                                                                 *
     28 *                                                                             *
     29 *  XPM library                                                                *
     30 *  Write a memory buffer to a file, provided as a convenience.                *
     31 *                                                                             *
     32 *  Developed by Arnaud Le Hors                                                *
     33 \*****************************************************************************/
     34 
     35 /* October 2004, source code review by Thomas Biege <thomas (at) suse.de> */
     36 
     37 #ifdef HAVE_CONFIG_H
     38 #include <config.h>
     39 #endif
     40 #include "XpmI.h"
     41 
     42 int
     43 XpmWriteFileFromBuffer(
     44     const char	*filename,
     45     char	*buffer)
     46 {
     47     size_t fcheck, len;
     48     FILE *fp = fopen(filename, "w" FOPEN_CLOEXEC);
     49 
     50     if (!fp)
     51 	return XpmOpenFailed;
     52 
     53     len = strlen(buffer);
     54     fcheck = fwrite(buffer, len, 1, fp);
     55     fclose(fp);
     56     if (fcheck != 1)
     57 	return XpmOpenFailed; /* maybe use a better return value */
     58 
     59     return XpmSuccess;
     60 }
     61