Changeset 462


Ignore:
Timestamp:
Jun 9, 2010, 4:20:03 PM (10 years ago)
Author:
Herwig Bauernfeind
Message:

os2helper.c cosmetic changes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/samba-3.3.x/source/lib/os2helper.c

    r460 r462  
    1 /* This file contains helper functions for OS/2 - don't try and compile on other platforms */
     1/* This file contains helper functions for OS/2 -
     2   do not try to compile on other platforms! */
    23
    34#ifdef __OS2__
     
    2021#include <malloc.h>
    2122
    22 /* these define the attribute byte as seen by DOS */
    23 #define aRONLY (1L<<0)          /* 0x01 */
    24 #define aHIDDEN (1L<<1)         /* 0x02 */
    25 #define aSYSTEM (1L<<2)         /* 0x04 */
    26 #define aVOLID (1L<<3)          /* 0x08 */
    27 #define aDIR (1L<<4)            /* 0x10 */
    28 #define aARCH (1L<<5)           /* 0x20 */
     23// these define the attribute byte as seen by DOS
     24#define aRONLY (1L<<0)   /* 0x01 */
     25#define aHIDDEN (1L<<1)  /* 0x02 */
     26#define aSYSTEM (1L<<2)  /* 0x04 */
     27#define aVOLID (1L<<3)   /* 0x08 */
     28#define aDIR (1L<<4)     /* 0x10 */
     29#define aARCH (1L<<5)    /* 0x20 */
    2930
    3031#ifndef TESTING
     
    4950int os2_ftruncate(int fd, off_t size)
    5051{
    51         // We call there __libc_Back_ioFileSizeSet directly instead of
    52         // ftruncate to force it not to zero expanding files to optimize
    53         // samba performance when copying files
     52        /* We call __libc_Back_ioFileSizeSet directly instead of
     53           ftruncate to force it not to zero expanding files to
     54           optimize Samba performance when copying files */
     55
    5456        int rc = __libc_Back_ioFileSizeSet(fd, size, 0);
    5557        if (rc < 0)
     
    6365int os2_isattribute(char *path, unsigned short attr)
    6466{
    65     HDIR          hdirFindHandle = HDIR_CREATE;
    66     FILEFINDBUF3  FindBuffer     = {0};      /* Returned from FindFirst/Next */
    67     USHORT        dosattr;                      /* attribute to search for */
    68     ULONG         ulResultBufLen = sizeof(FILEFINDBUF3);
    69     ULONG         ulFindCount    = 1;        /* Look for 1 file at a time    */
    70     APIRET        rc             = NO_ERROR; /* Return code                  */
    71     if (attr==aARCH)
    72                         dosattr=MUST_HAVE_ARCHIVED;
    73     else if (attr==aRONLY)
    74                         dosattr=MUST_HAVE_READONLY;
    75     else if (attr==aSYSTEM)
    76                         dosattr=MUST_HAVE_SYSTEM;
    77     else if (attr==aHIDDEN)
    78                         dosattr=MUST_HAVE_HIDDEN;
    79 
    80     rc = DosFindFirst( path,                /* File pattern - all files     */
    81                        &hdirFindHandle,      /* Directory search handle      */
    82                         dosattr,
    83                        &FindBuffer,          /* Result buffer                */
    84                        ulResultBufLen,       /* Result buffer length         */
    85                        &ulFindCount,         /* Number of entries to find    */
    86                        FIL_STANDARD);        /* Return Level 1 file info     */
    87 
    88    if (rc != NO_ERROR) {
    89          rc = DosFindClose(hdirFindHandle);    /* Close our directory handle */
    90        return 1;
    91 
    92     } else {
    93          rc = DosFindClose(hdirFindHandle);    /* Close our directory handle */
    94         return 0;
    95 
    96     } /* endif */
    97 
     67        HDIR          hdirFindHandle = HDIR_CREATE;
     68        FILEFINDBUF3  FindBuffer     = {0};      /* Returned from FindFirst/Next */
     69        USHORT        dosattr;                   /* attribute to search for      */
     70        ULONG         ulResultBufLen = sizeof(FILEFINDBUF3);
     71        ULONG         ulFindCount    = 1;        /* Look for 1 file at a time    */
     72        APIRET        rc             = NO_ERROR; /* Return code                  */
     73        if (attr==aARCH)
     74                dosattr=MUST_HAVE_ARCHIVED;
     75        else if (attr==aRONLY)
     76                dosattr=MUST_HAVE_READONLY;
     77        else if (attr==aSYSTEM)
     78                dosattr=MUST_HAVE_SYSTEM;
     79        else if (attr==aHIDDEN)
     80                dosattr=MUST_HAVE_HIDDEN;
     81
     82        rc = DosFindFirst(  path,                 /* File pattern - all files     */
     83                                                &hdirFindHandle,      /* Directory search handle      */
     84                                                dosattr,
     85                                                &FindBuffer,          /* Result buffer                */
     86                                                ulResultBufLen,       /* Result buffer length         */
     87                                                &ulFindCount,         /* Number of entries to find    */
     88                                                FIL_STANDARD);        /* Return Level 1 file info     */
     89
     90        if (rc != NO_ERROR) {
     91                rc = DosFindClose(hdirFindHandle);    /* Close our directory handle */
     92                return 1;
     93        } else {
     94                rc = DosFindClose(hdirFindHandle);    /* Close our directory handle */
     95                return 0;
     96        } /* endif */
    9897}
    9998
     
    129128}
    130129
    131 /* os2 specific random functions. this functions used to be based on APR random code.
    132    but we discovered some nasty problems with it on fast hardware (especially on quadcore) and
    133    decided to rewrite it with libc random() */
     130/* OS/2-specific random functions. these functions used to be based on APR
     131   random code, but we discovered some nasty problems with it on fast hardware
     132   (especially on quadcore) and decided to rewrite it with libc random() */
    134133
    135134void os2_randget(char * buffer, int length)
    136135{
    137     UCHAR randbyte();
    138     unsigned int idx;
    139 
    140     for (idx=0; idx<length; idx++)
     136        UCHAR randbyte();
     137        unsigned int idx;
     138
     139        for (idx=0; idx<length; idx++)
    141140        buffer[idx] = randbyte();
    142141
     
    145144UCHAR randbyte()
    146145{
    147      int c;
    148      UCHAR byte;
    149      ULONG ulrandom;
     146        int c;
     147        UCHAR byte;
     148        ULONG ulrandom;
    150149        ulrandom = random();
     150       
    151151        for (c = 0; c < sizeof(ulrandom); c++) {
    152152                byte ^= ((UCHAR *)&ulrandom)[c];
    153153        }
    154154
    155     return byte;
     155        return byte;
    156156}
    157157
Note: See TracChangeset for help on using the changeset viewer.