// myLine.h
//
// Donated to the public domain; no restrictions on reuse or abuse apply.
// by David Nugent, 7th June, 1993.
// Simple line input class for istream to demonstrate input of a complete
// line rather than whitespace separated tokens (the default for operator<<
// for char* and other built-in types).
// Works by overloading operator>> for a customised class - this functionality
// is easily incorporated into your favourite String class
//
# if !defined(_myLine_h)
# define _myLine_h 1
# define AUTO_GROW 1 // Allow autogrowth of buffer to fit
# define ALLOC_LEN 80 // Standard length & growth increment
// Class declaration
class myLine
{
public:
myLine (short buflen =ALLOC_LEN);
myLine (char * usebuf, short buflen =ALLOC_LEN);
~myLine (void);
// Get buffer address
char const * buf (void) const { return mybuf; }
// Conversion operators
char const * operator() (void) const { return mybuf; } // Explicit cast
operator char const * (void) const { return mybuf; } // Implicit cast
// istream operator>>
friend istream & operator>> (istream &, myLine &);
private:
short len, xalloc;
char * mybuf;
};
# endif // _myLine_h
type='submit' value='switch'/>
net: thunderx: avoid dereferencing xcv when NULL
This fixes the following smatch and coccinelle warnings:
drivers/net/ethernet/cavium/thunder/thunder_xcv.c:119 xcv_setup_link() error: we previously assumed 'xcv' could be null (see line 118) [smatch]
drivers/net/ethernet/cavium/thunder/thunder_xcv.c:119:16-20: ERROR: xcv is NULL but dereferenced. [coccinelle]
Fixes: 6465859aba1e66a5 ("net: thunderx: Add RGMII interface type support")
Signed-off-by: Vincent Stehlé <vincent.stehle@laposte.net>
Cc: Sunil Goutham <sgoutham@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>