Reuse, not rework

License Awareness

Highly Reusable Software

By activity
Professions, Sciences, Humanities, Business, ...

User Interface
Text-based, GUI, Audio, Video, Keyboards, Mouse, Images,...

Text Strings
Conversions, tests, processing, manipulation,...

Integer, Floating point, Matrix, Statistics, Boolean, ...

Algorithms, Memory, Process control, Debugging, ...

Stored Data
Data storage, Integrity, Encryption, Compression, ...

Networks, protocols, Interprocess, Remote, Client Server, ...

Hard World
Timing, Calendar and Clock, Audio, Video, Printer, Controls...

File System
Management, Filtering, File & Directory access, Viewers, ...


librock_countln - count consecutive characters up to and including next \0 \n

#License - #Source code - #Example Use -


#include <librock/parse.h>

int librock_countln(
    const char *psz


Returns count of consecutive characters up to and including next \0 \n IMPORTANT: this will go beyond \0 in a string. See example "Iterating Lines"

Typical use is to advance a pointer, replacing code like:

      while((*ptr != '\r')&&(*ptr != '\n')&&(*ptr != '\0')) ptr++;
      ptr += librock_countln(ptr);
Also used in parsing, where the count is needed to copy, compare, or write a limited number of characters starting at ptr. For example:


  Copyright 1998-2002 Forrest J. Cavalier III,
  Open-source under MIT license. NO WARRANTY. Copies must retain this block.
  License text in <librock/license/mit.txt> librock_LIDESC_HC=cc598307414a9997b32b60a2e7a8e7c6a13d6438


    librock_assert() // #ifdef librock_DEBUG

Source Code

./text/count.c (implementation, plus source of this manual page)

This software is part of Librock

Rapid reuse, without rework. Details
This page copyright (C) 2002-2004 Forrest J. Cavalier III, d-b-a Mib Software, Saylorsburg PA 18353, USA

Verbatim copying and distribution of this generated page is permitted in any medium provided that no changes are made.
(The source of this manual page may be covered by a more permissive license which allows modifications.)

Want to help? We welcome comments, patches. -- Need help? Request paid support.