Subversion Repositories Kolibri OS

Rev

Rev 4246 | Rev 5354 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4246 Rev 5060
Line 189... Line 189...
189
 
189
 
190
    return nelems;
190
    return nelems;
Line 191... Line -...
191
}
-
 
192
 
-
 
193
 
-
 
194
int vscnprintf(char *buf, size_t size, const char *fmt, va_list args)
-
 
195
{
-
 
196
    int i;
-
 
197
 
-
 
198
    i = vsnprintf(buf, size, fmt, args);
-
 
199
 
-
 
200
    if (likely(i < size))
-
 
201
            return i;
-
 
202
    if (size != 0)
-
 
203
            return size - 1;
-
 
204
    return 0;
-
 
205
}
-
 
206
 
-
 
207
 
-
 
208
int scnprintf(char *buf, size_t size, const char *fmt, ...)
-
 
209
{
-
 
210
        va_list args;
-
 
211
        int i;
-
 
212
 
-
 
213
        va_start(args, fmt);
-
 
214
        i = vscnprintf(buf, size, fmt, args);
-
 
215
        va_end(args);
-
 
216
 
-
 
217
        return i;
-
 
Line 218... Line 191...
218
}
191
}
219
 
192
 
220
 
193
 
221
 
194
 
Line 503... Line 476...
503
        memcpy(p, src, len);
476
        memcpy(p, src, len);
504
    return p;
477
    return p;
505
}
478
}
Line -... Line 479...
-
 
479
 
-
 
480
 
-
 
481
 
-
 
482
void *kmap(struct page *page)
-
 
483
{
-
 
484
    void *vaddr;
-
 
485
 
-
 
486
    vaddr = (void*)MapIoMem(page_to_phys(page), 4096, PG_SW);
-
 
487
 
-
 
488
    return vaddr;
-
 
489
}
-
 
490
 
-
 
491
unsigned long find_first_zero_bit(const unsigned long *addr, unsigned long size)
-
 
492
{
-
 
493
        const unsigned long *p = addr;
-
 
494
        unsigned long result = 0;
-
 
495
        unsigned long tmp;
-
 
496
 
-
 
497
        while (size & ~(BITS_PER_LONG-1)) {
-
 
498
                if (~(tmp = *(p++)))
-
 
499
                        goto found;
-
 
500
                result += BITS_PER_LONG;
-
 
501
                size -= BITS_PER_LONG;
-
 
502
        }
-
 
503
        if (!size)
-
 
504
                return result;
-
 
505
 
-
 
506
        tmp = (*p) | (~0UL << size);
-
 
507
        if (tmp == ~0UL)        /* Are any bits zero? */
-
 
508
                return result + size;   /* Nope. */
-
 
509
found:
-
 
510
        return result + ffz(tmp);